LCOV - code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_dutch.c (source / functions) Hit Total Coverage
Test: PostgreSQL 19devel Lines: 0 1074 0.0 %
Date: 2026-02-02 14:17:46 Functions: 0 19 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* Generated from dutch.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
       2             : 
       3             : #include "stem_UTF_8_dutch.h"
       4             : 
       5             : #include <stddef.h>
       6             : 
       7             : #include "snowball_runtime.h"
       8             : 
       9             : struct SN_local {
      10             :     struct SN_env z;
      11             :     int i_p2;
      12             :     int i_p1;
      13             :     unsigned char b_GE_removed;
      14             :     symbol * s_ch;
      15             : };
      16             : 
      17             : typedef struct SN_local SN_local;
      18             : 
      19             : #ifdef __cplusplus
      20             : extern "C" {
      21             : #endif
      22             : extern int dutch_UTF_8_stem(struct SN_env * z);
      23             : #ifdef __cplusplus
      24             : }
      25             : #endif
      26             : 
      27             : static int r_measure(struct SN_env * z);
      28             : static int r_Lose_infix(struct SN_env * z);
      29             : static int r_Lose_prefix(struct SN_env * z);
      30             : static int r_Step_1c(struct SN_env * z);
      31             : static int r_Step_6(struct SN_env * z);
      32             : static int r_Step_7(struct SN_env * z);
      33             : static int r_Step_4(struct SN_env * z);
      34             : static int r_Step_3(struct SN_env * z);
      35             : static int r_Step_2(struct SN_env * z);
      36             : static int r_Step_1(struct SN_env * z);
      37             : static int r_lengthen_V(struct SN_env * z);
      38             : static int r_VX(struct SN_env * z);
      39             : static int r_V(struct SN_env * z);
      40             : static int r_C(struct SN_env * z);
      41             : static int r_R2(struct SN_env * z);
      42             : static int r_R1(struct SN_env * z);
      43             : 
      44             : static const symbol s_0[] = { 'i', 'j' };
      45             : static const symbol s_1[] = { 'i', 'j' };
      46             : static const symbol s_2[] = { 'i', 'j' };
      47             : static const symbol s_3[] = { 'e', 0xC3, 0xAB, 'e' };
      48             : static const symbol s_4[] = { 'i', 'e', 'e' };
      49             : static const symbol s_5[] = { 'i', 'e' };
      50             : static const symbol s_6[] = { 'a', 'r' };
      51             : static const symbol s_7[] = { 'e', 'r' };
      52             : static const symbol s_8[] = { 'e' };
      53             : static const symbol s_9[] = { 0xC3, 0xA9 };
      54             : static const symbol s_10[] = { 'a', 'u' };
      55             : static const symbol s_11[] = { 'h', 'e', 'd' };
      56             : static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
      57             : static const symbol s_13[] = { 'n', 'd' };
      58             : static const symbol s_14[] = { 'n', 'd' };
      59             : static const symbol s_15[] = { '\'', 't' };
      60             : static const symbol s_16[] = { 'e', 't' };
      61             : static const symbol s_17[] = { 'r', 'n', 't' };
      62             : static const symbol s_18[] = { 'r', 'n' };
      63             : static const symbol s_19[] = { 'i', 'n', 'k' };
      64             : static const symbol s_20[] = { 'i', 'n', 'g' };
      65             : static const symbol s_21[] = { 'm', 'p' };
      66             : static const symbol s_22[] = { 'm' };
      67             : static const symbol s_23[] = { 'g' };
      68             : static const symbol s_24[] = { 'l', 'i', 'j', 'k' };
      69             : static const symbol s_25[] = { 'i', 's', 'c', 'h' };
      70             : static const symbol s_26[] = { 't' };
      71             : static const symbol s_27[] = { 's' };
      72             : static const symbol s_28[] = { 'r' };
      73             : static const symbol s_29[] = { 'l' };
      74             : static const symbol s_30[] = { 'e', 'n' };
      75             : static const symbol s_31[] = { 'i', 'e', 'f' };
      76             : static const symbol s_32[] = { 'e', 'e', 'r' };
      77             : static const symbol s_33[] = { 'r' };
      78             : static const symbol s_34[] = { 'i', 'l', 'd' };
      79             : static const symbol s_35[] = { 'e', 'r' };
      80             : static const symbol s_36[] = { 'a', 'a', 'r' };
      81             : static const symbol s_37[] = { 'f' };
      82             : static const symbol s_38[] = { 'g' };
      83             : static const symbol s_39[] = { 't' };
      84             : static const symbol s_40[] = { 'd' };
      85             : static const symbol s_41[] = { 'i', 'e' };
      86             : static const symbol s_42[] = { 'e', 'e', 'r' };
      87             : static const symbol s_43[] = { 'n' };
      88             : static const symbol s_44[] = { 'l' };
      89             : static const symbol s_45[] = { 'r' };
      90             : static const symbol s_46[] = { 't', 'e', 'e', 'r' };
      91             : static const symbol s_47[] = { 'l', 'i', 'j', 'k' };
      92             : static const symbol s_48[] = { 'i', 'n', 'n' };
      93             : static const symbol s_49[] = { 'k' };
      94             : static const symbol s_50[] = { 'f' };
      95             : static const symbol s_51[] = { 'p' };
      96             : static const symbol s_52[] = { 'b' };
      97             : static const symbol s_53[] = { 'c' };
      98             : static const symbol s_54[] = { 'd' };
      99             : static const symbol s_55[] = { 'f' };
     100             : static const symbol s_56[] = { 'g' };
     101             : static const symbol s_57[] = { 'h' };
     102             : static const symbol s_58[] = { 'j' };
     103             : static const symbol s_59[] = { 'k' };
     104             : static const symbol s_60[] = { 'l' };
     105             : static const symbol s_61[] = { 'm' };
     106             : static const symbol s_62[] = { 'n' };
     107             : static const symbol s_63[] = { 'p' };
     108             : static const symbol s_64[] = { 'q' };
     109             : static const symbol s_65[] = { 'r' };
     110             : static const symbol s_66[] = { 's' };
     111             : static const symbol s_67[] = { 't' };
     112             : static const symbol s_68[] = { 'v' };
     113             : static const symbol s_69[] = { 'w' };
     114             : static const symbol s_70[] = { 'x' };
     115             : static const symbol s_71[] = { 'z' };
     116             : static const symbol s_72[] = { 'i', 'n' };
     117             : static const symbol s_73[] = { 'n' };
     118             : static const symbol s_74[] = { 'e', 'n' };
     119             : static const symbol s_75[] = { 'g', 'e' };
     120             : static const symbol s_76[] = { 'i', 'j' };
     121             : static const symbol s_77[] = { 'i', 'j' };
     122             : static const symbol s_78[] = { 'e' };
     123             : static const symbol s_79[] = { 'i' };
     124             : static const symbol s_80[] = { 'g', 'e' };
     125             : static const symbol s_81[] = { 'i', 'j' };
     126             : static const symbol s_82[] = { 'i', 'j' };
     127             : static const symbol s_83[] = { 'e' };
     128             : static const symbol s_84[] = { 'i' };
     129             : static const symbol s_85[] = { 'i', 'j' };
     130             : static const symbol s_86[] = { 'i', 'j' };
     131             : 
     132             : static const symbol s_0_0[1] = { 'a' };
     133             : static const symbol s_0_1[1] = { 'e' };
     134             : static const symbol s_0_2[1] = { 'o' };
     135             : static const symbol s_0_3[1] = { 'u' };
     136             : static const symbol s_0_4[2] = { 0xC3, 0xA0 };
     137             : static const symbol s_0_5[2] = { 0xC3, 0xA1 };
     138             : static const symbol s_0_6[2] = { 0xC3, 0xA2 };
     139             : static const symbol s_0_7[2] = { 0xC3, 0xA4 };
     140             : static const symbol s_0_8[2] = { 0xC3, 0xA8 };
     141             : static const symbol s_0_9[2] = { 0xC3, 0xA9 };
     142             : static const symbol s_0_10[2] = { 0xC3, 0xAA };
     143             : static const symbol s_0_11[3] = { 'e', 0xC3, 0xAB };
     144             : static const symbol s_0_12[3] = { 'i', 0xC3, 0xAB };
     145             : static const symbol s_0_13[2] = { 0xC3, 0xB2 };
     146             : static const symbol s_0_14[2] = { 0xC3, 0xB3 };
     147             : static const symbol s_0_15[2] = { 0xC3, 0xB4 };
     148             : static const symbol s_0_16[2] = { 0xC3, 0xB6 };
     149             : static const symbol s_0_17[2] = { 0xC3, 0xB9 };
     150             : static const symbol s_0_18[2] = { 0xC3, 0xBA };
     151             : static const symbol s_0_19[2] = { 0xC3, 0xBB };
     152             : static const symbol s_0_20[2] = { 0xC3, 0xBC };
     153             : static const struct among a_0[21] = {
     154             : { 1, s_0_0, 0, 1, 0},
     155             : { 1, s_0_1, 0, 2, 0},
     156             : { 1, s_0_2, 0, 1, 0},
     157             : { 1, s_0_3, 0, 1, 0},
     158             : { 2, s_0_4, 0, 1, 0},
     159             : { 2, s_0_5, 0, 1, 0},
     160             : { 2, s_0_6, 0, 1, 0},
     161             : { 2, s_0_7, 0, 1, 0},
     162             : { 2, s_0_8, 0, 2, 0},
     163             : { 2, s_0_9, 0, 2, 0},
     164             : { 2, s_0_10, 0, 2, 0},
     165             : { 3, s_0_11, 0, 3, 0},
     166             : { 3, s_0_12, 0, 4, 0},
     167             : { 2, s_0_13, 0, 1, 0},
     168             : { 2, s_0_14, 0, 1, 0},
     169             : { 2, s_0_15, 0, 1, 0},
     170             : { 2, s_0_16, 0, 1, 0},
     171             : { 2, s_0_17, 0, 1, 0},
     172             : { 2, s_0_18, 0, 1, 0},
     173             : { 2, s_0_19, 0, 1, 0},
     174             : { 2, s_0_20, 0, 1, 0}
     175             : };
     176             : 
     177             : static const symbol s_1_0[3] = { 'n', 'd', 'e' };
     178             : static const symbol s_1_1[2] = { 'e', 'n' };
     179             : static const symbol s_1_2[1] = { 's' };
     180             : static const symbol s_1_3[2] = { '\'', 's' };
     181             : static const symbol s_1_4[2] = { 'e', 's' };
     182             : static const symbol s_1_5[3] = { 'i', 'e', 's' };
     183             : static const symbol s_1_6[3] = { 'a', 'u', 's' };
     184             : static const symbol s_1_7[3] = { 0xC3, 0xA9, 's' };
     185             : static const struct among a_1[8] = {
     186             : { 3, s_1_0, 0, 8, 0},
     187             : { 2, s_1_1, 0, 7, 0},
     188             : { 1, s_1_2, 0, 2, 0},
     189             : { 2, s_1_3, -1, 1, 0},
     190             : { 2, s_1_4, -2, 4, 0},
     191             : { 3, s_1_5, -1, 3, 0},
     192             : { 3, s_1_6, -4, 6, 0},
     193             : { 3, s_1_7, -5, 5, 0}
     194             : };
     195             : 
     196             : static const symbol s_2_0[2] = { 'd', 'e' };
     197             : static const symbol s_2_1[2] = { 'g', 'e' };
     198             : static const symbol s_2_2[5] = { 'i', 's', 'c', 'h', 'e' };
     199             : static const symbol s_2_3[2] = { 'j', 'e' };
     200             : static const symbol s_2_4[5] = { 'l', 'i', 'j', 'k', 'e' };
     201             : static const symbol s_2_5[2] = { 'l', 'e' };
     202             : static const symbol s_2_6[3] = { 'e', 'n', 'e' };
     203             : static const symbol s_2_7[2] = { 'r', 'e' };
     204             : static const symbol s_2_8[2] = { 's', 'e' };
     205             : static const symbol s_2_9[2] = { 't', 'e' };
     206             : static const symbol s_2_10[4] = { 'i', 'e', 'v', 'e' };
     207             : static const struct among a_2[11] = {
     208             : { 2, s_2_0, 0, 5, 0},
     209             : { 2, s_2_1, 0, 2, 0},
     210             : { 5, s_2_2, 0, 4, 0},
     211             : { 2, s_2_3, 0, 1, 0},
     212             : { 5, s_2_4, 0, 3, 0},
     213             : { 2, s_2_5, 0, 9, 0},
     214             : { 3, s_2_6, 0, 10, 0},
     215             : { 2, s_2_7, 0, 8, 0},
     216             : { 2, s_2_8, 0, 7, 0},
     217             : { 2, s_2_9, 0, 6, 0},
     218             : { 4, s_2_10, 0, 11, 0}
     219             : };
     220             : 
     221             : static const symbol s_3_0[4] = { 'h', 'e', 'i', 'd' };
     222             : static const symbol s_3_1[3] = { 'f', 'i', 'e' };
     223             : static const symbol s_3_2[3] = { 'g', 'i', 'e' };
     224             : static const symbol s_3_3[4] = { 'a', 't', 'i', 'e' };
     225             : static const symbol s_3_4[4] = { 'i', 's', 'm', 'e' };
     226             : static const symbol s_3_5[3] = { 'i', 'n', 'g' };
     227             : static const symbol s_3_6[4] = { 'a', 'r', 'i', 'j' };
     228             : static const symbol s_3_7[4] = { 'e', 'r', 'i', 'j' };
     229             : static const symbol s_3_8[3] = { 's', 'e', 'l' };
     230             : static const symbol s_3_9[4] = { 'r', 'd', 'e', 'r' };
     231             : static const symbol s_3_10[4] = { 's', 't', 'e', 'r' };
     232             : static const symbol s_3_11[5] = { 'i', 't', 'e', 'i', 't' };
     233             : static const symbol s_3_12[3] = { 'd', 's', 't' };
     234             : static const symbol s_3_13[3] = { 't', 's', 't' };
     235             : static const struct among a_3[14] = {
     236             : { 4, s_3_0, 0, 3, 0},
     237             : { 3, s_3_1, 0, 7, 0},
     238             : { 3, s_3_2, 0, 8, 0},
     239             : { 4, s_3_3, 0, 1, 0},
     240             : { 4, s_3_4, 0, 5, 0},
     241             : { 3, s_3_5, 0, 5, 0},
     242             : { 4, s_3_6, 0, 6, 0},
     243             : { 4, s_3_7, 0, 5, 0},
     244             : { 3, s_3_8, 0, 3, 0},
     245             : { 4, s_3_9, 0, 4, 0},
     246             : { 4, s_3_10, 0, 3, 0},
     247             : { 5, s_3_11, 0, 2, 0},
     248             : { 3, s_3_12, 0, 10, 0},
     249             : { 3, s_3_13, 0, 9, 0}
     250             : };
     251             : 
     252             : static const symbol s_4_0[3] = { 'e', 'n', 'd' };
     253             : static const symbol s_4_1[5] = { 'a', 't', 'i', 'e', 'f' };
     254             : static const symbol s_4_2[4] = { 'e', 'r', 'i', 'g' };
     255             : static const symbol s_4_3[6] = { 'a', 'c', 'h', 't', 'i', 'g' };
     256             : static const symbol s_4_4[6] = { 'i', 'o', 'n', 'e', 'e', 'l' };
     257             : static const symbol s_4_5[4] = { 'b', 'a', 'a', 'r' };
     258             : static const symbol s_4_6[4] = { 'l', 'a', 'a', 'r' };
     259             : static const symbol s_4_7[4] = { 'n', 'a', 'a', 'r' };
     260             : static const symbol s_4_8[4] = { 'r', 'a', 'a', 'r' };
     261             : static const symbol s_4_9[6] = { 'e', 'r', 'i', 'g', 'e', 'r' };
     262             : static const symbol s_4_10[8] = { 'a', 'c', 'h', 't', 'i', 'g', 'e', 'r' };
     263             : static const symbol s_4_11[6] = { 'l', 'i', 'j', 'k', 'e', 'r' };
     264             : static const symbol s_4_12[4] = { 't', 'a', 'n', 't' };
     265             : static const symbol s_4_13[6] = { 'e', 'r', 'i', 'g', 's', 't' };
     266             : static const symbol s_4_14[8] = { 'a', 'c', 'h', 't', 'i', 'g', 's', 't' };
     267             : static const symbol s_4_15[6] = { 'l', 'i', 'j', 'k', 's', 't' };
     268             : static const struct among a_4[16] = {
     269             : { 3, s_4_0, 0, 9, 0},
     270             : { 5, s_4_1, 0, 2, 0},
     271             : { 4, s_4_2, 0, 9, 0},
     272             : { 6, s_4_3, 0, 3, 0},
     273             : { 6, s_4_4, 0, 1, 0},
     274             : { 4, s_4_5, 0, 3, 0},
     275             : { 4, s_4_6, 0, 5, 0},
     276             : { 4, s_4_7, 0, 4, 0},
     277             : { 4, s_4_8, 0, 6, 0},
     278             : { 6, s_4_9, 0, 9, 0},
     279             : { 8, s_4_10, 0, 3, 0},
     280             : { 6, s_4_11, 0, 8, 0},
     281             : { 4, s_4_12, 0, 7, 0},
     282             : { 6, s_4_13, 0, 9, 0},
     283             : { 8, s_4_14, 0, 3, 0},
     284             : { 6, s_4_15, 0, 8, 0}
     285             : };
     286             : 
     287             : static const symbol s_5_0[2] = { 'i', 'g' };
     288             : static const symbol s_5_1[4] = { 'i', 'g', 'e', 'r' };
     289             : static const symbol s_5_2[4] = { 'i', 'g', 's', 't' };
     290             : static const struct among a_5[3] = {
     291             : { 2, s_5_0, 0, 1, 0},
     292             : { 4, s_5_1, 0, 1, 0},
     293             : { 4, s_5_2, 0, 1, 0}
     294             : };
     295             : 
     296             : static const symbol s_6_0[2] = { 'f', 't' };
     297             : static const symbol s_6_1[2] = { 'k', 't' };
     298             : static const symbol s_6_2[2] = { 'p', 't' };
     299             : static const struct among a_6[3] = {
     300             : { 2, s_6_0, 0, 2, 0},
     301             : { 2, s_6_1, 0, 1, 0},
     302             : { 2, s_6_2, 0, 3, 0}
     303             : };
     304             : 
     305             : static const symbol s_7_0[2] = { 'b', 'b' };
     306             : static const symbol s_7_1[2] = { 'c', 'c' };
     307             : static const symbol s_7_2[2] = { 'd', 'd' };
     308             : static const symbol s_7_3[2] = { 'f', 'f' };
     309             : static const symbol s_7_4[2] = { 'g', 'g' };
     310             : static const symbol s_7_5[2] = { 'h', 'h' };
     311             : static const symbol s_7_6[2] = { 'j', 'j' };
     312             : static const symbol s_7_7[2] = { 'k', 'k' };
     313             : static const symbol s_7_8[2] = { 'l', 'l' };
     314             : static const symbol s_7_9[2] = { 'm', 'm' };
     315             : static const symbol s_7_10[2] = { 'n', 'n' };
     316             : static const symbol s_7_11[2] = { 'p', 'p' };
     317             : static const symbol s_7_12[2] = { 'q', 'q' };
     318             : static const symbol s_7_13[2] = { 'r', 'r' };
     319             : static const symbol s_7_14[2] = { 's', 's' };
     320             : static const symbol s_7_15[2] = { 't', 't' };
     321             : static const symbol s_7_16[1] = { 'v' };
     322             : static const symbol s_7_17[2] = { 'v', 'v' };
     323             : static const symbol s_7_18[2] = { 'w', 'w' };
     324             : static const symbol s_7_19[2] = { 'x', 'x' };
     325             : static const symbol s_7_20[1] = { 'z' };
     326             : static const symbol s_7_21[2] = { 'z', 'z' };
     327             : static const struct among a_7[22] = {
     328             : { 2, s_7_0, 0, 1, 0},
     329             : { 2, s_7_1, 0, 2, 0},
     330             : { 2, s_7_2, 0, 3, 0},
     331             : { 2, s_7_3, 0, 4, 0},
     332             : { 2, s_7_4, 0, 5, 0},
     333             : { 2, s_7_5, 0, 6, 0},
     334             : { 2, s_7_6, 0, 7, 0},
     335             : { 2, s_7_7, 0, 8, 0},
     336             : { 2, s_7_8, 0, 9, 0},
     337             : { 2, s_7_9, 0, 10, 0},
     338             : { 2, s_7_10, 0, 11, 0},
     339             : { 2, s_7_11, 0, 12, 0},
     340             : { 2, s_7_12, 0, 13, 0},
     341             : { 2, s_7_13, 0, 14, 0},
     342             : { 2, s_7_14, 0, 15, 0},
     343             : { 2, s_7_15, 0, 16, 0},
     344             : { 1, s_7_16, 0, 4, 0},
     345             : { 2, s_7_17, -1, 17, 0},
     346             : { 2, s_7_18, 0, 18, 0},
     347             : { 2, s_7_19, 0, 19, 0},
     348             : { 1, s_7_20, 0, 15, 0},
     349             : { 2, s_7_21, -1, 20, 0}
     350             : };
     351             : 
     352             : static const symbol s_8_0[1] = { 'd' };
     353             : static const symbol s_8_1[1] = { 't' };
     354             : static const struct among a_8[2] = {
     355             : { 1, s_8_0, 0, 1, 0},
     356             : { 1, s_8_1, 0, 2, 0}
     357             : };
     358             : 
     359             : static const symbol s_9_1[3] = { 'e', 'f', 't' };
     360             : static const symbol s_9_2[3] = { 'v', 'a', 'a' };
     361             : static const symbol s_9_3[3] = { 'v', 'a', 'l' };
     362             : static const symbol s_9_4[4] = { 'v', 'a', 'l', 'i' };
     363             : static const symbol s_9_5[4] = { 'v', 'a', 'r', 'e' };
     364             : static const struct among a_9[6] = {
     365             : { 0, 0, 0, -1, 0},
     366             : { 3, s_9_1, -1, 1, 0},
     367             : { 3, s_9_2, -2, 1, 0},
     368             : { 3, s_9_3, -3, 1, 0},
     369             : { 4, s_9_4, -1, -1, 0},
     370             : { 4, s_9_5, -5, 1, 0}
     371             : };
     372             : 
     373             : static const symbol s_10_0[2] = { 0xC3, 0xAB };
     374             : static const symbol s_10_1[2] = { 0xC3, 0xAF };
     375             : static const struct among a_10[2] = {
     376             : { 2, s_10_0, 0, 1, 0},
     377             : { 2, s_10_1, 0, 2, 0}
     378             : };
     379             : 
     380             : static const symbol s_11_0[2] = { 0xC3, 0xAB };
     381             : static const symbol s_11_1[2] = { 0xC3, 0xAF };
     382             : static const struct among a_11[2] = {
     383             : { 2, s_11_0, 0, 1, 0},
     384             : { 2, s_11_1, 0, 2, 0}
     385             : };
     386             : 
     387             : static const unsigned char g_E[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120 };
     388             : 
     389             : static const unsigned char g_AIOU[] = { 1, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 11, 120, 46, 15 };
     390             : 
     391             : static const unsigned char g_AEIOU[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
     392             : 
     393             : static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
     394             : 
     395             : static const unsigned char g_v_WX[] = { 17, 65, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
     396             : 
     397           0 : static int r_R1(struct SN_env * z) {
     398           0 :     return ((SN_local *)z)->i_p1 <= z->c;
     399             : }
     400             : 
     401           0 : static int r_R2(struct SN_env * z) {
     402           0 :     return ((SN_local *)z)->i_p2 <= z->c;
     403             : }
     404             : 
     405           0 : static int r_V(struct SN_env * z) {
     406             :     {
     407           0 :         int v_1 = z->l - z->c;
     408             :         do {
     409           0 :             int v_2 = z->l - z->c;
     410           0 :             if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
     411           0 :             break;
     412           0 :         lab0:
     413           0 :             z->c = z->l - v_2;
     414           0 :             if (!(eq_s_b(z, 2, s_0))) return 0;
     415             :         } while (0);
     416           0 :         z->c = z->l - v_1;
     417             :     }
     418           0 :     return 1;
     419             : }
     420             : 
     421           0 : static int r_VX(struct SN_env * z) {
     422             :     {
     423           0 :         int v_1 = z->l - z->c;
     424             :         {
     425           0 :             int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
     426           0 :             if (ret < 0) return 0;
     427           0 :             z->c = ret;
     428             :         }
     429             :         do {
     430           0 :             int v_2 = z->l - z->c;
     431           0 :             if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
     432           0 :             break;
     433           0 :         lab0:
     434           0 :             z->c = z->l - v_2;
     435           0 :             if (!(eq_s_b(z, 2, s_1))) return 0;
     436             :         } while (0);
     437           0 :         z->c = z->l - v_1;
     438             :     }
     439           0 :     return 1;
     440             : }
     441             : 
     442           0 : static int r_C(struct SN_env * z) {
     443             :     {
     444           0 :         int v_1 = z->l - z->c;
     445             :         {
     446           0 :             int v_2 = z->l - z->c;
     447           0 :             if (!(eq_s_b(z, 2, s_2))) goto lab0;
     448           0 :             return 0;
     449           0 :         lab0:
     450           0 :             z->c = z->l - v_2;
     451             :         }
     452           0 :         if (out_grouping_b_U(z, g_v, 97, 252, 0)) return 0;
     453           0 :         z->c = z->l - v_1;
     454             :     }
     455           0 :     return 1;
     456             : }
     457             : 
     458           0 : static int r_lengthen_V(struct SN_env * z) {
     459             :     int among_var;
     460             :     {
     461           0 :         int v_1 = z->l - z->c;
     462           0 :         if (out_grouping_b_U(z, g_v_WX, 97, 252, 0)) goto lab0;
     463           0 :         z->ket = z->c;
     464           0 :         among_var = find_among_b(z, a_0, 21, 0);
     465           0 :         if (!among_var) goto lab0;
     466           0 :         z->bra = z->c;
     467           0 :         switch (among_var) {
     468           0 :             case 1:
     469             :                 {
     470           0 :                     int v_2 = z->l - z->c;
     471             :                     do {
     472           0 :                         int v_3 = z->l - z->c;
     473           0 :                         if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab1;
     474           0 :                         break;
     475           0 :                     lab1:
     476           0 :                         z->c = z->l - v_3;
     477           0 :                         if (z->c > z->lb) goto lab0;
     478             :                     } while (0);
     479           0 :                     z->c = z->l - v_2;
     480             :                 }
     481             :                 {
     482           0 :                     int ret = slice_to(z, &((SN_local *)z)->s_ch);
     483           0 :                     if (ret < 0) return ret;
     484             :                 }
     485             :                 {
     486           0 :                     int saved_c = z->c;
     487           0 :                     int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
     488           0 :                     z->c = saved_c;
     489           0 :                     if (ret < 0) return ret;
     490             :                 }
     491           0 :                 break;
     492           0 :             case 2:
     493             :                 {
     494           0 :                     int v_4 = z->l - z->c;
     495             :                     do {
     496           0 :                         int v_5 = z->l - z->c;
     497           0 :                         if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab2;
     498           0 :                         break;
     499           0 :                     lab2:
     500           0 :                         z->c = z->l - v_5;
     501           0 :                         if (z->c > z->lb) goto lab0;
     502             :                     } while (0);
     503             :                     {
     504           0 :                         int v_6 = z->l - z->c;
     505             :                         do {
     506           0 :                             int v_7 = z->l - z->c;
     507           0 :                             if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab4;
     508           0 :                             break;
     509           0 :                         lab4:
     510           0 :                             z->c = z->l - v_7;
     511           0 :                             if (in_grouping_b_U(z, g_E, 101, 235, 0)) goto lab3;
     512           0 :                             if (z->c > z->lb) goto lab3;
     513             :                         } while (0);
     514           0 :                         goto lab0;
     515           0 :                     lab3:
     516           0 :                         z->c = z->l - v_6;
     517             :                     }
     518             :                     {
     519           0 :                         int v_8 = z->l - z->c;
     520             :                         {
     521           0 :                             int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
     522           0 :                             if (ret < 0) goto lab5;
     523           0 :                             z->c = ret;
     524             :                         }
     525           0 :                         if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab5;
     526           0 :                         if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab5;
     527           0 :                         goto lab0;
     528           0 :                     lab5:
     529           0 :                         z->c = z->l - v_8;
     530             :                     }
     531           0 :                     z->c = z->l - v_4;
     532             :                 }
     533             :                 {
     534           0 :                     int ret = slice_to(z, &((SN_local *)z)->s_ch);
     535           0 :                     if (ret < 0) return ret;
     536             :                 }
     537             :                 {
     538           0 :                     int saved_c = z->c;
     539           0 :                     int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
     540           0 :                     z->c = saved_c;
     541           0 :                     if (ret < 0) return ret;
     542             :                 }
     543           0 :                 break;
     544           0 :             case 3:
     545             :                 {
     546           0 :                     int ret = slice_from_s(z, 4, s_3);
     547           0 :                     if (ret < 0) return ret;
     548             :                 }
     549           0 :                 break;
     550           0 :             case 4:
     551             :                 {
     552           0 :                     int ret = slice_from_s(z, 3, s_4);
     553           0 :                     if (ret < 0) return ret;
     554             :                 }
     555           0 :                 break;
     556             :         }
     557           0 :     lab0:
     558           0 :         z->c = z->l - v_1;
     559             :     }
     560           0 :     return 1;
     561             : }
     562             : 
     563           0 : static int r_Step_1(struct SN_env * z) {
     564             :     int among_var;
     565           0 :     z->ket = z->c;
     566           0 :     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
     567           0 :     among_var = find_among_b(z, a_1, 8, 0);
     568           0 :     if (!among_var) return 0;
     569           0 :     z->bra = z->c;
     570           0 :     switch (among_var) {
     571           0 :         case 1:
     572             :             {
     573           0 :                 int ret = slice_del(z);
     574           0 :                 if (ret < 0) return ret;
     575             :             }
     576           0 :             break;
     577           0 :         case 2:
     578             :             {
     579           0 :                 int ret = r_R1(z);
     580           0 :                 if (ret <= 0) return ret;
     581             :             }
     582             :             {
     583           0 :                 int v_1 = z->l - z->c;
     584           0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab0;
     585           0 :                 z->c--;
     586             :                 {
     587           0 :                     int ret = r_R1(z);
     588           0 :                     if (ret == 0) goto lab0;
     589           0 :                     if (ret < 0) return ret;
     590             :                 }
     591           0 :                 return 0;
     592           0 :             lab0:
     593           0 :                 z->c = z->l - v_1;
     594             :             }
     595             :             {
     596           0 :                 int ret = r_C(z);
     597           0 :                 if (ret <= 0) return ret;
     598             :             }
     599             :             {
     600           0 :                 int ret = slice_del(z);
     601           0 :                 if (ret < 0) return ret;
     602             :             }
     603           0 :             break;
     604           0 :         case 3:
     605             :             {
     606           0 :                 int ret = r_R1(z);
     607           0 :                 if (ret <= 0) return ret;
     608             :             }
     609             :             {
     610           0 :                 int ret = slice_from_s(z, 2, s_5);
     611           0 :                 if (ret < 0) return ret;
     612             :             }
     613           0 :             break;
     614           0 :         case 4:
     615             :             do {
     616           0 :                 int v_2 = z->l - z->c;
     617             :                 {
     618           0 :                     int v_3 = z->l - z->c;
     619           0 :                     if (!(eq_s_b(z, 2, s_6))) goto lab1;
     620             :                     {
     621           0 :                         int ret = r_R1(z);
     622           0 :                         if (ret == 0) goto lab1;
     623           0 :                         if (ret < 0) return ret;
     624             :                     }
     625             :                     {
     626           0 :                         int ret = r_C(z);
     627           0 :                         if (ret == 0) goto lab1;
     628           0 :                         if (ret < 0) return ret;
     629             :                     }
     630           0 :                     z->c = z->l - v_3;
     631             :                 }
     632             :                 {
     633           0 :                     int ret = slice_del(z);
     634           0 :                     if (ret < 0) return ret;
     635             :                 }
     636             :                 {
     637           0 :                     int ret = r_lengthen_V(z);
     638           0 :                     if (ret < 0) return ret;
     639             :                 }
     640           0 :                 break;
     641           0 :             lab1:
     642           0 :                 z->c = z->l - v_2;
     643             :                 {
     644           0 :                     int v_4 = z->l - z->c;
     645           0 :                     if (!(eq_s_b(z, 2, s_7))) goto lab2;
     646             :                     {
     647           0 :                         int ret = r_R1(z);
     648           0 :                         if (ret == 0) goto lab2;
     649           0 :                         if (ret < 0) return ret;
     650             :                     }
     651             :                     {
     652           0 :                         int ret = r_C(z);
     653           0 :                         if (ret == 0) goto lab2;
     654           0 :                         if (ret < 0) return ret;
     655             :                     }
     656           0 :                     z->c = z->l - v_4;
     657             :                 }
     658             :                 {
     659           0 :                     int ret = slice_del(z);
     660           0 :                     if (ret < 0) return ret;
     661             :                 }
     662           0 :                 break;
     663           0 :             lab2:
     664           0 :                 z->c = z->l - v_2;
     665             :                 {
     666           0 :                     int ret = r_R1(z);
     667           0 :                     if (ret <= 0) return ret;
     668             :                 }
     669             :                 {
     670           0 :                     int ret = r_C(z);
     671           0 :                     if (ret <= 0) return ret;
     672             :                 }
     673             :                 {
     674           0 :                     int ret = slice_from_s(z, 1, s_8);
     675           0 :                     if (ret < 0) return ret;
     676             :                 }
     677             :             } while (0);
     678           0 :             break;
     679           0 :         case 5:
     680             :             {
     681           0 :                 int ret = r_R1(z);
     682           0 :                 if (ret <= 0) return ret;
     683             :             }
     684             :             {
     685           0 :                 int ret = slice_from_s(z, 2, s_9);
     686           0 :                 if (ret < 0) return ret;
     687             :             }
     688           0 :             break;
     689           0 :         case 6:
     690             :             {
     691           0 :                 int ret = r_R1(z);
     692           0 :                 if (ret <= 0) return ret;
     693             :             }
     694             :             {
     695           0 :                 int ret = r_V(z);
     696           0 :                 if (ret <= 0) return ret;
     697             :             }
     698             :             {
     699           0 :                 int ret = slice_from_s(z, 2, s_10);
     700           0 :                 if (ret < 0) return ret;
     701             :             }
     702           0 :             break;
     703           0 :         case 7:
     704             :             do {
     705           0 :                 int v_5 = z->l - z->c;
     706           0 :                 if (!(eq_s_b(z, 3, s_11))) goto lab3;
     707             :                 {
     708           0 :                     int ret = r_R1(z);
     709           0 :                     if (ret == 0) goto lab3;
     710           0 :                     if (ret < 0) return ret;
     711             :                 }
     712           0 :                 z->bra = z->c;
     713             :                 {
     714           0 :                     int ret = slice_from_s(z, 4, s_12);
     715           0 :                     if (ret < 0) return ret;
     716             :                 }
     717           0 :                 break;
     718           0 :             lab3:
     719           0 :                 z->c = z->l - v_5;
     720           0 :                 if (!(eq_s_b(z, 2, s_13))) goto lab4;
     721             :                 {
     722           0 :                     int ret = slice_del(z);
     723           0 :                     if (ret < 0) return ret;
     724             :                 }
     725           0 :                 break;
     726           0 :             lab4:
     727           0 :                 z->c = z->l - v_5;
     728           0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab5;
     729           0 :                 z->c--;
     730             :                 {
     731           0 :                     int ret = r_R1(z);
     732           0 :                     if (ret == 0) goto lab5;
     733           0 :                     if (ret < 0) return ret;
     734             :                 }
     735             :                 {
     736           0 :                     int ret = r_C(z);
     737           0 :                     if (ret == 0) goto lab5;
     738           0 :                     if (ret < 0) return ret;
     739             :                 }
     740           0 :                 z->bra = z->c;
     741             :                 {
     742           0 :                     int ret = slice_del(z);
     743           0 :                     if (ret < 0) return ret;
     744             :                 }
     745           0 :                 break;
     746           0 :             lab5:
     747           0 :                 z->c = z->l - v_5;
     748             :                 do {
     749           0 :                     int v_6 = z->l - z->c;
     750           0 :                     if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7;
     751           0 :                     z->c--;
     752           0 :                     break;
     753           0 :                 lab7:
     754           0 :                     z->c = z->l - v_6;
     755           0 :                     if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab6;
     756           0 :                     z->c--;
     757             :                 } while (0);
     758             :                 {
     759           0 :                     int ret = r_V(z);
     760           0 :                     if (ret == 0) goto lab6;
     761           0 :                     if (ret < 0) return ret;
     762             :                 }
     763             :                 {
     764           0 :                     int ret = slice_del(z);
     765           0 :                     if (ret < 0) return ret;
     766             :                 }
     767           0 :                 break;
     768           0 :             lab6:
     769           0 :                 z->c = z->l - v_5;
     770             :                 {
     771           0 :                     int ret = r_R1(z);
     772           0 :                     if (ret <= 0) return ret;
     773             :                 }
     774             :                 {
     775           0 :                     int ret = r_C(z);
     776           0 :                     if (ret <= 0) return ret;
     777             :                 }
     778             :                 {
     779           0 :                     int ret = slice_del(z);
     780           0 :                     if (ret < 0) return ret;
     781             :                 }
     782             :                 {
     783           0 :                     int ret = r_lengthen_V(z);
     784           0 :                     if (ret <= 0) return ret;
     785             :                 }
     786             :             } while (0);
     787           0 :             break;
     788           0 :         case 8:
     789             :             {
     790           0 :                 int ret = slice_from_s(z, 2, s_14);
     791           0 :                 if (ret < 0) return ret;
     792             :             }
     793           0 :             break;
     794             :     }
     795           0 :     return 1;
     796             : }
     797             : 
     798           0 : static int r_Step_2(struct SN_env * z) {
     799             :     int among_var;
     800           0 :     z->ket = z->c;
     801           0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 101) return 0;
     802           0 :     among_var = find_among_b(z, a_2, 11, 0);
     803           0 :     if (!among_var) return 0;
     804           0 :     z->bra = z->c;
     805           0 :     switch (among_var) {
     806           0 :         case 1:
     807             :             do {
     808           0 :                 int v_1 = z->l - z->c;
     809           0 :                 if (!(eq_s_b(z, 2, s_15))) goto lab0;
     810           0 :                 z->bra = z->c;
     811             :                 {
     812           0 :                     int ret = slice_del(z);
     813           0 :                     if (ret < 0) return ret;
     814             :                 }
     815           0 :                 break;
     816           0 :             lab0:
     817           0 :                 z->c = z->l - v_1;
     818           0 :                 if (!(eq_s_b(z, 2, s_16))) goto lab1;
     819           0 :                 z->bra = z->c;
     820             :                 {
     821           0 :                     int ret = r_R1(z);
     822           0 :                     if (ret == 0) goto lab1;
     823           0 :                     if (ret < 0) return ret;
     824             :                 }
     825             :                 {
     826           0 :                     int ret = r_C(z);
     827           0 :                     if (ret == 0) goto lab1;
     828           0 :                     if (ret < 0) return ret;
     829             :                 }
     830             :                 {
     831           0 :                     int ret = slice_del(z);
     832           0 :                     if (ret < 0) return ret;
     833             :                 }
     834           0 :                 break;
     835           0 :             lab1:
     836           0 :                 z->c = z->l - v_1;
     837           0 :                 if (!(eq_s_b(z, 3, s_17))) goto lab2;
     838           0 :                 z->bra = z->c;
     839             :                 {
     840           0 :                     int ret = slice_from_s(z, 2, s_18);
     841           0 :                     if (ret < 0) return ret;
     842             :                 }
     843           0 :                 break;
     844           0 :             lab2:
     845           0 :                 z->c = z->l - v_1;
     846           0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab3;
     847           0 :                 z->c--;
     848           0 :                 z->bra = z->c;
     849             :                 {
     850           0 :                     int ret = r_R1(z);
     851           0 :                     if (ret == 0) goto lab3;
     852           0 :                     if (ret < 0) return ret;
     853             :                 }
     854             :                 {
     855           0 :                     int ret = r_VX(z);
     856           0 :                     if (ret == 0) goto lab3;
     857           0 :                     if (ret < 0) return ret;
     858             :                 }
     859             :                 {
     860           0 :                     int ret = slice_del(z);
     861           0 :                     if (ret < 0) return ret;
     862             :                 }
     863           0 :                 break;
     864           0 :             lab3:
     865           0 :                 z->c = z->l - v_1;
     866           0 :                 if (!(eq_s_b(z, 3, s_19))) goto lab4;
     867           0 :                 z->bra = z->c;
     868             :                 {
     869           0 :                     int ret = slice_from_s(z, 3, s_20);
     870           0 :                     if (ret < 0) return ret;
     871             :                 }
     872           0 :                 break;
     873           0 :             lab4:
     874           0 :                 z->c = z->l - v_1;
     875           0 :                 if (!(eq_s_b(z, 2, s_21))) goto lab5;
     876           0 :                 z->bra = z->c;
     877             :                 {
     878           0 :                     int ret = slice_from_s(z, 1, s_22);
     879           0 :                     if (ret < 0) return ret;
     880             :                 }
     881           0 :                 break;
     882           0 :             lab5:
     883           0 :                 z->c = z->l - v_1;
     884           0 :                 if (z->c <= z->lb || z->p[z->c - 1] != '\'') goto lab6;
     885           0 :                 z->c--;
     886           0 :                 z->bra = z->c;
     887             :                 {
     888           0 :                     int ret = r_R1(z);
     889           0 :                     if (ret == 0) goto lab6;
     890           0 :                     if (ret < 0) return ret;
     891             :                 }
     892             :                 {
     893           0 :                     int ret = slice_del(z);
     894           0 :                     if (ret < 0) return ret;
     895             :                 }
     896           0 :                 break;
     897           0 :             lab6:
     898           0 :                 z->c = z->l - v_1;
     899           0 :                 z->bra = z->c;
     900             :                 {
     901           0 :                     int ret = r_R1(z);
     902           0 :                     if (ret <= 0) return ret;
     903             :                 }
     904             :                 {
     905           0 :                     int ret = r_C(z);
     906           0 :                     if (ret <= 0) return ret;
     907             :                 }
     908             :                 {
     909           0 :                     int ret = slice_del(z);
     910           0 :                     if (ret < 0) return ret;
     911             :                 }
     912             :             } while (0);
     913           0 :             break;
     914           0 :         case 2:
     915             :             {
     916           0 :                 int ret = r_R1(z);
     917           0 :                 if (ret <= 0) return ret;
     918             :             }
     919             :             {
     920           0 :                 int ret = slice_from_s(z, 1, s_23);
     921           0 :                 if (ret < 0) return ret;
     922             :             }
     923           0 :             break;
     924           0 :         case 3:
     925             :             {
     926           0 :                 int ret = r_R1(z);
     927           0 :                 if (ret <= 0) return ret;
     928             :             }
     929             :             {
     930           0 :                 int ret = slice_from_s(z, 4, s_24);
     931           0 :                 if (ret < 0) return ret;
     932             :             }
     933           0 :             break;
     934           0 :         case 4:
     935             :             {
     936           0 :                 int ret = r_R1(z);
     937           0 :                 if (ret <= 0) return ret;
     938             :             }
     939             :             {
     940           0 :                 int ret = slice_from_s(z, 4, s_25);
     941           0 :                 if (ret < 0) return ret;
     942             :             }
     943           0 :             break;
     944           0 :         case 5:
     945             :             {
     946           0 :                 int ret = r_R1(z);
     947           0 :                 if (ret <= 0) return ret;
     948             :             }
     949             :             {
     950           0 :                 int ret = r_C(z);
     951           0 :                 if (ret <= 0) return ret;
     952             :             }
     953             :             {
     954           0 :                 int ret = slice_del(z);
     955           0 :                 if (ret < 0) return ret;
     956             :             }
     957           0 :             break;
     958           0 :         case 6:
     959             :             {
     960           0 :                 int ret = r_R1(z);
     961           0 :                 if (ret <= 0) return ret;
     962             :             }
     963             :             {
     964           0 :                 int ret = slice_from_s(z, 1, s_26);
     965           0 :                 if (ret < 0) return ret;
     966             :             }
     967           0 :             break;
     968           0 :         case 7:
     969             :             {
     970           0 :                 int ret = r_R1(z);
     971           0 :                 if (ret <= 0) return ret;
     972             :             }
     973             :             {
     974           0 :                 int ret = slice_from_s(z, 1, s_27);
     975           0 :                 if (ret < 0) return ret;
     976             :             }
     977           0 :             break;
     978           0 :         case 8:
     979             :             {
     980           0 :                 int ret = r_R1(z);
     981           0 :                 if (ret <= 0) return ret;
     982             :             }
     983             :             {
     984           0 :                 int ret = slice_from_s(z, 1, s_28);
     985           0 :                 if (ret < 0) return ret;
     986             :             }
     987           0 :             break;
     988           0 :         case 9:
     989             :             {
     990           0 :                 int ret = r_R1(z);
     991           0 :                 if (ret <= 0) return ret;
     992             :             }
     993             :             {
     994           0 :                 int ret = slice_del(z);
     995           0 :                 if (ret < 0) return ret;
     996             :             }
     997             :             {
     998           0 :                 int ret = insert_s(z, z->c, z->c, 1, s_29);
     999           0 :                 if (ret < 0) return ret;
    1000             :             }
    1001             :             {
    1002           0 :                 int ret = r_lengthen_V(z);
    1003           0 :                 if (ret <= 0) return ret;
    1004             :             }
    1005           0 :             break;
    1006           0 :         case 10:
    1007             :             {
    1008           0 :                 int ret = r_R1(z);
    1009           0 :                 if (ret <= 0) return ret;
    1010             :             }
    1011             :             {
    1012           0 :                 int ret = r_C(z);
    1013           0 :                 if (ret <= 0) return ret;
    1014             :             }
    1015             :             {
    1016           0 :                 int ret = slice_del(z);
    1017           0 :                 if (ret < 0) return ret;
    1018             :             }
    1019             :             {
    1020           0 :                 int ret = insert_s(z, z->c, z->c, 2, s_30);
    1021           0 :                 if (ret < 0) return ret;
    1022             :             }
    1023             :             {
    1024           0 :                 int ret = r_lengthen_V(z);
    1025           0 :                 if (ret <= 0) return ret;
    1026             :             }
    1027           0 :             break;
    1028           0 :         case 11:
    1029             :             {
    1030           0 :                 int ret = r_R1(z);
    1031           0 :                 if (ret <= 0) return ret;
    1032             :             }
    1033             :             {
    1034           0 :                 int ret = r_C(z);
    1035           0 :                 if (ret <= 0) return ret;
    1036             :             }
    1037             :             {
    1038           0 :                 int ret = slice_from_s(z, 3, s_31);
    1039           0 :                 if (ret < 0) return ret;
    1040             :             }
    1041           0 :             break;
    1042             :     }
    1043           0 :     return 1;
    1044             : }
    1045             : 
    1046           0 : static int r_Step_3(struct SN_env * z) {
    1047             :     int among_var;
    1048           0 :     z->ket = z->c;
    1049           0 :     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1316016 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
    1050           0 :     among_var = find_among_b(z, a_3, 14, 0);
    1051           0 :     if (!among_var) return 0;
    1052           0 :     z->bra = z->c;
    1053           0 :     switch (among_var) {
    1054           0 :         case 1:
    1055             :             {
    1056           0 :                 int ret = r_R1(z);
    1057           0 :                 if (ret <= 0) return ret;
    1058             :             }
    1059             :             {
    1060           0 :                 int ret = slice_from_s(z, 3, s_32);
    1061           0 :                 if (ret < 0) return ret;
    1062             :             }
    1063           0 :             break;
    1064           0 :         case 2:
    1065             :             {
    1066           0 :                 int ret = r_R1(z);
    1067           0 :                 if (ret <= 0) return ret;
    1068             :             }
    1069             :             {
    1070           0 :                 int ret = slice_del(z);
    1071           0 :                 if (ret < 0) return ret;
    1072             :             }
    1073             :             {
    1074           0 :                 int ret = r_lengthen_V(z);
    1075           0 :                 if (ret <= 0) return ret;
    1076             :             }
    1077           0 :             break;
    1078           0 :         case 3:
    1079             :             {
    1080           0 :                 int ret = r_R1(z);
    1081           0 :                 if (ret <= 0) return ret;
    1082             :             }
    1083             :             {
    1084           0 :                 int ret = slice_del(z);
    1085           0 :                 if (ret < 0) return ret;
    1086             :             }
    1087           0 :             break;
    1088           0 :         case 4:
    1089             :             {
    1090           0 :                 int ret = slice_from_s(z, 1, s_33);
    1091           0 :                 if (ret < 0) return ret;
    1092             :             }
    1093           0 :             break;
    1094           0 :         case 5:
    1095             :             do {
    1096           0 :                 int v_1 = z->l - z->c;
    1097           0 :                 if (!(eq_s_b(z, 3, s_34))) goto lab0;
    1098             :                 {
    1099           0 :                     int ret = slice_from_s(z, 2, s_35);
    1100           0 :                     if (ret < 0) return ret;
    1101             :                 }
    1102           0 :                 break;
    1103           0 :             lab0:
    1104           0 :                 z->c = z->l - v_1;
    1105             :                 {
    1106           0 :                     int ret = r_R1(z);
    1107           0 :                     if (ret <= 0) return ret;
    1108             :                 }
    1109             :                 {
    1110           0 :                     int ret = slice_del(z);
    1111           0 :                     if (ret < 0) return ret;
    1112             :                 }
    1113             :                 {
    1114           0 :                     int ret = r_lengthen_V(z);
    1115           0 :                     if (ret <= 0) return ret;
    1116             :                 }
    1117             :             } while (0);
    1118           0 :             break;
    1119           0 :         case 6:
    1120             :             {
    1121           0 :                 int ret = r_R1(z);
    1122           0 :                 if (ret <= 0) return ret;
    1123             :             }
    1124             :             {
    1125           0 :                 int ret = r_C(z);
    1126           0 :                 if (ret <= 0) return ret;
    1127             :             }
    1128             :             {
    1129           0 :                 int ret = slice_from_s(z, 3, s_36);
    1130           0 :                 if (ret < 0) return ret;
    1131             :             }
    1132           0 :             break;
    1133           0 :         case 7:
    1134             :             {
    1135           0 :                 int ret = r_R2(z);
    1136           0 :                 if (ret <= 0) return ret;
    1137             :             }
    1138             :             {
    1139           0 :                 int ret = slice_del(z);
    1140           0 :                 if (ret < 0) return ret;
    1141             :             }
    1142             :             {
    1143           0 :                 int ret = insert_s(z, z->c, z->c, 1, s_37);
    1144           0 :                 if (ret < 0) return ret;
    1145             :             }
    1146             :             {
    1147           0 :                 int ret = r_lengthen_V(z);
    1148           0 :                 if (ret <= 0) return ret;
    1149             :             }
    1150           0 :             break;
    1151           0 :         case 8:
    1152             :             {
    1153           0 :                 int ret = r_R2(z);
    1154           0 :                 if (ret <= 0) return ret;
    1155             :             }
    1156             :             {
    1157           0 :                 int ret = slice_del(z);
    1158           0 :                 if (ret < 0) return ret;
    1159             :             }
    1160             :             {
    1161           0 :                 int ret = insert_s(z, z->c, z->c, 1, s_38);
    1162           0 :                 if (ret < 0) return ret;
    1163             :             }
    1164             :             {
    1165           0 :                 int ret = r_lengthen_V(z);
    1166           0 :                 if (ret <= 0) return ret;
    1167             :             }
    1168           0 :             break;
    1169           0 :         case 9:
    1170             :             {
    1171           0 :                 int ret = r_R1(z);
    1172           0 :                 if (ret <= 0) return ret;
    1173             :             }
    1174             :             {
    1175           0 :                 int ret = r_C(z);
    1176           0 :                 if (ret <= 0) return ret;
    1177             :             }
    1178             :             {
    1179           0 :                 int ret = slice_from_s(z, 1, s_39);
    1180           0 :                 if (ret < 0) return ret;
    1181             :             }
    1182           0 :             break;
    1183           0 :         case 10:
    1184             :             {
    1185           0 :                 int ret = r_R1(z);
    1186           0 :                 if (ret <= 0) return ret;
    1187             :             }
    1188             :             {
    1189           0 :                 int ret = r_C(z);
    1190           0 :                 if (ret <= 0) return ret;
    1191             :             }
    1192             :             {
    1193           0 :                 int ret = slice_from_s(z, 1, s_40);
    1194           0 :                 if (ret < 0) return ret;
    1195             :             }
    1196           0 :             break;
    1197             :     }
    1198           0 :     return 1;
    1199             : }
    1200             : 
    1201           0 : static int r_Step_4(struct SN_env * z) {
    1202             :     int among_var;
    1203             :     do {
    1204           0 :         int v_1 = z->l - z->c;
    1205           0 :         z->ket = z->c;
    1206           0 :         if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1315024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
    1207           0 :         among_var = find_among_b(z, a_4, 16, 0);
    1208           0 :         if (!among_var) goto lab0;
    1209           0 :         z->bra = z->c;
    1210           0 :         switch (among_var) {
    1211           0 :             case 1:
    1212             :                 {
    1213           0 :                     int ret = r_R1(z);
    1214           0 :                     if (ret == 0) goto lab0;
    1215           0 :                     if (ret < 0) return ret;
    1216             :                 }
    1217             :                 {
    1218           0 :                     int ret = slice_from_s(z, 2, s_41);
    1219           0 :                     if (ret < 0) return ret;
    1220             :                 }
    1221           0 :                 break;
    1222           0 :             case 2:
    1223             :                 {
    1224           0 :                     int ret = r_R1(z);
    1225           0 :                     if (ret == 0) goto lab0;
    1226           0 :                     if (ret < 0) return ret;
    1227             :                 }
    1228             :                 {
    1229           0 :                     int ret = slice_from_s(z, 3, s_42);
    1230           0 :                     if (ret < 0) return ret;
    1231             :                 }
    1232           0 :                 break;
    1233           0 :             case 3:
    1234             :                 {
    1235           0 :                     int ret = r_R1(z);
    1236           0 :                     if (ret == 0) goto lab0;
    1237           0 :                     if (ret < 0) return ret;
    1238             :                 }
    1239             :                 {
    1240           0 :                     int ret = slice_del(z);
    1241           0 :                     if (ret < 0) return ret;
    1242             :                 }
    1243           0 :                 break;
    1244           0 :             case 4:
    1245             :                 {
    1246           0 :                     int ret = r_R1(z);
    1247           0 :                     if (ret == 0) goto lab0;
    1248           0 :                     if (ret < 0) return ret;
    1249             :                 }
    1250             :                 {
    1251           0 :                     int ret = r_V(z);
    1252           0 :                     if (ret == 0) goto lab0;
    1253           0 :                     if (ret < 0) return ret;
    1254             :                 }
    1255             :                 {
    1256           0 :                     int ret = slice_from_s(z, 1, s_43);
    1257           0 :                     if (ret < 0) return ret;
    1258             :                 }
    1259           0 :                 break;
    1260           0 :             case 5:
    1261             :                 {
    1262           0 :                     int ret = r_R1(z);
    1263           0 :                     if (ret == 0) goto lab0;
    1264           0 :                     if (ret < 0) return ret;
    1265             :                 }
    1266             :                 {
    1267           0 :                     int ret = r_V(z);
    1268           0 :                     if (ret == 0) goto lab0;
    1269           0 :                     if (ret < 0) return ret;
    1270             :                 }
    1271             :                 {
    1272           0 :                     int ret = slice_from_s(z, 1, s_44);
    1273           0 :                     if (ret < 0) return ret;
    1274             :                 }
    1275           0 :                 break;
    1276           0 :             case 6:
    1277             :                 {
    1278           0 :                     int ret = r_R1(z);
    1279           0 :                     if (ret == 0) goto lab0;
    1280           0 :                     if (ret < 0) return ret;
    1281             :                 }
    1282             :                 {
    1283           0 :                     int ret = r_V(z);
    1284           0 :                     if (ret == 0) goto lab0;
    1285           0 :                     if (ret < 0) return ret;
    1286             :                 }
    1287             :                 {
    1288           0 :                     int ret = slice_from_s(z, 1, s_45);
    1289           0 :                     if (ret < 0) return ret;
    1290             :                 }
    1291           0 :                 break;
    1292           0 :             case 7:
    1293             :                 {
    1294           0 :                     int ret = r_R1(z);
    1295           0 :                     if (ret == 0) goto lab0;
    1296           0 :                     if (ret < 0) return ret;
    1297             :                 }
    1298             :                 {
    1299           0 :                     int ret = slice_from_s(z, 4, s_46);
    1300           0 :                     if (ret < 0) return ret;
    1301             :                 }
    1302           0 :                 break;
    1303           0 :             case 8:
    1304             :                 {
    1305           0 :                     int ret = r_R1(z);
    1306           0 :                     if (ret == 0) goto lab0;
    1307           0 :                     if (ret < 0) return ret;
    1308             :                 }
    1309             :                 {
    1310           0 :                     int ret = slice_from_s(z, 4, s_47);
    1311           0 :                     if (ret < 0) return ret;
    1312             :                 }
    1313           0 :                 break;
    1314           0 :             case 9:
    1315             :                 {
    1316           0 :                     int ret = r_R1(z);
    1317           0 :                     if (ret == 0) goto lab0;
    1318           0 :                     if (ret < 0) return ret;
    1319             :                 }
    1320             :                 {
    1321           0 :                     int ret = r_C(z);
    1322           0 :                     if (ret == 0) goto lab0;
    1323           0 :                     if (ret < 0) return ret;
    1324             :                 }
    1325             :                 {
    1326           0 :                     int ret = slice_del(z);
    1327           0 :                     if (ret < 0) return ret;
    1328             :                 }
    1329             :                 {
    1330           0 :                     int ret = r_lengthen_V(z);
    1331           0 :                     if (ret < 0) return ret;
    1332             :                 }
    1333           0 :                 break;
    1334             :         }
    1335           0 :         break;
    1336           0 :     lab0:
    1337           0 :         z->c = z->l - v_1;
    1338           0 :         z->ket = z->c;
    1339           0 :         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1310848 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
    1340           0 :         if (!find_among_b(z, a_5, 3, 0)) return 0;
    1341           0 :         z->bra = z->c;
    1342             :         {
    1343           0 :             int ret = r_R1(z);
    1344           0 :             if (ret <= 0) return ret;
    1345             :         }
    1346             :         {
    1347           0 :             int v_2 = z->l - z->c;
    1348           0 :             if (!(eq_s_b(z, 3, s_48))) goto lab1;
    1349           0 :             if (z->c > z->lb) goto lab1;
    1350           0 :             return 0;
    1351           0 :         lab1:
    1352           0 :             z->c = z->l - v_2;
    1353             :         }
    1354             :         {
    1355           0 :             int ret = r_C(z);
    1356           0 :             if (ret <= 0) return ret;
    1357             :         }
    1358             :         {
    1359           0 :             int ret = slice_del(z);
    1360           0 :             if (ret < 0) return ret;
    1361             :         }
    1362             :         {
    1363           0 :             int ret = r_lengthen_V(z);
    1364           0 :             if (ret <= 0) return ret;
    1365             :         }
    1366             :     } while (0);
    1367           0 :     return 1;
    1368             : }
    1369             : 
    1370           0 : static int r_Step_7(struct SN_env * z) {
    1371             :     int among_var;
    1372           0 :     z->ket = z->c;
    1373           0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) return 0;
    1374           0 :     among_var = find_among_b(z, a_6, 3, 0);
    1375           0 :     if (!among_var) return 0;
    1376           0 :     z->bra = z->c;
    1377           0 :     switch (among_var) {
    1378           0 :         case 1:
    1379             :             {
    1380           0 :                 int ret = slice_from_s(z, 1, s_49);
    1381           0 :                 if (ret < 0) return ret;
    1382             :             }
    1383           0 :             break;
    1384           0 :         case 2:
    1385             :             {
    1386           0 :                 int ret = slice_from_s(z, 1, s_50);
    1387           0 :                 if (ret < 0) return ret;
    1388             :             }
    1389           0 :             break;
    1390           0 :         case 3:
    1391             :             {
    1392           0 :                 int ret = slice_from_s(z, 1, s_51);
    1393           0 :                 if (ret < 0) return ret;
    1394             :             }
    1395           0 :             break;
    1396             :     }
    1397           0 :     return 1;
    1398             : }
    1399             : 
    1400           0 : static int r_Step_6(struct SN_env * z) {
    1401             :     int among_var;
    1402           0 :     z->ket = z->c;
    1403           0 :     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((98532828 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
    1404           0 :     among_var = find_among_b(z, a_7, 22, 0);
    1405           0 :     if (!among_var) return 0;
    1406           0 :     z->bra = z->c;
    1407           0 :     switch (among_var) {
    1408           0 :         case 1:
    1409             :             {
    1410           0 :                 int ret = slice_from_s(z, 1, s_52);
    1411           0 :                 if (ret < 0) return ret;
    1412             :             }
    1413           0 :             break;
    1414           0 :         case 2:
    1415             :             {
    1416           0 :                 int ret = slice_from_s(z, 1, s_53);
    1417           0 :                 if (ret < 0) return ret;
    1418             :             }
    1419           0 :             break;
    1420           0 :         case 3:
    1421             :             {
    1422           0 :                 int ret = slice_from_s(z, 1, s_54);
    1423           0 :                 if (ret < 0) return ret;
    1424             :             }
    1425           0 :             break;
    1426           0 :         case 4:
    1427             :             {
    1428           0 :                 int ret = slice_from_s(z, 1, s_55);
    1429           0 :                 if (ret < 0) return ret;
    1430             :             }
    1431           0 :             break;
    1432           0 :         case 5:
    1433             :             {
    1434           0 :                 int ret = slice_from_s(z, 1, s_56);
    1435           0 :                 if (ret < 0) return ret;
    1436             :             }
    1437           0 :             break;
    1438           0 :         case 6:
    1439             :             {
    1440           0 :                 int ret = slice_from_s(z, 1, s_57);
    1441           0 :                 if (ret < 0) return ret;
    1442             :             }
    1443           0 :             break;
    1444           0 :         case 7:
    1445             :             {
    1446           0 :                 int ret = slice_from_s(z, 1, s_58);
    1447           0 :                 if (ret < 0) return ret;
    1448             :             }
    1449           0 :             break;
    1450           0 :         case 8:
    1451             :             {
    1452           0 :                 int ret = slice_from_s(z, 1, s_59);
    1453           0 :                 if (ret < 0) return ret;
    1454             :             }
    1455           0 :             break;
    1456           0 :         case 9:
    1457             :             {
    1458           0 :                 int ret = slice_from_s(z, 1, s_60);
    1459           0 :                 if (ret < 0) return ret;
    1460             :             }
    1461           0 :             break;
    1462           0 :         case 10:
    1463             :             {
    1464           0 :                 int ret = slice_from_s(z, 1, s_61);
    1465           0 :                 if (ret < 0) return ret;
    1466             :             }
    1467           0 :             break;
    1468           0 :         case 11:
    1469             :             {
    1470           0 :                 int v_1 = z->l - z->c;
    1471           0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab0;
    1472           0 :                 z->c--;
    1473           0 :                 if (z->c > z->lb) goto lab0;
    1474           0 :                 return 0;
    1475           0 :             lab0:
    1476           0 :                 z->c = z->l - v_1;
    1477             :             }
    1478             :             {
    1479           0 :                 int ret = slice_from_s(z, 1, s_62);
    1480           0 :                 if (ret < 0) return ret;
    1481             :             }
    1482           0 :             break;
    1483           0 :         case 12:
    1484             :             {
    1485           0 :                 int ret = slice_from_s(z, 1, s_63);
    1486           0 :                 if (ret < 0) return ret;
    1487             :             }
    1488           0 :             break;
    1489           0 :         case 13:
    1490             :             {
    1491           0 :                 int ret = slice_from_s(z, 1, s_64);
    1492           0 :                 if (ret < 0) return ret;
    1493             :             }
    1494           0 :             break;
    1495           0 :         case 14:
    1496             :             {
    1497           0 :                 int ret = slice_from_s(z, 1, s_65);
    1498           0 :                 if (ret < 0) return ret;
    1499             :             }
    1500           0 :             break;
    1501           0 :         case 15:
    1502             :             {
    1503           0 :                 int ret = slice_from_s(z, 1, s_66);
    1504           0 :                 if (ret < 0) return ret;
    1505             :             }
    1506           0 :             break;
    1507           0 :         case 16:
    1508             :             {
    1509           0 :                 int ret = slice_from_s(z, 1, s_67);
    1510           0 :                 if (ret < 0) return ret;
    1511             :             }
    1512           0 :             break;
    1513           0 :         case 17:
    1514             :             {
    1515           0 :                 int ret = slice_from_s(z, 1, s_68);
    1516           0 :                 if (ret < 0) return ret;
    1517             :             }
    1518           0 :             break;
    1519           0 :         case 18:
    1520             :             {
    1521           0 :                 int ret = slice_from_s(z, 1, s_69);
    1522           0 :                 if (ret < 0) return ret;
    1523             :             }
    1524           0 :             break;
    1525           0 :         case 19:
    1526             :             {
    1527           0 :                 int ret = slice_from_s(z, 1, s_70);
    1528           0 :                 if (ret < 0) return ret;
    1529             :             }
    1530           0 :             break;
    1531           0 :         case 20:
    1532             :             {
    1533           0 :                 int ret = slice_from_s(z, 1, s_71);
    1534           0 :                 if (ret < 0) return ret;
    1535             :             }
    1536           0 :             break;
    1537             :     }
    1538           0 :     return 1;
    1539             : }
    1540             : 
    1541           0 : static int r_Step_1c(struct SN_env * z) {
    1542             :     int among_var;
    1543           0 :     z->ket = z->c;
    1544           0 :     if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) return 0;
    1545           0 :     among_var = find_among_b(z, a_8, 2, 0);
    1546           0 :     if (!among_var) return 0;
    1547           0 :     z->bra = z->c;
    1548             :     {
    1549           0 :         int ret = r_R1(z);
    1550           0 :         if (ret <= 0) return ret;
    1551             :     }
    1552             :     {
    1553           0 :         int ret = r_C(z);
    1554           0 :         if (ret <= 0) return ret;
    1555             :     }
    1556           0 :     switch (among_var) {
    1557           0 :         case 1:
    1558             :             {
    1559           0 :                 int v_1 = z->l - z->c;
    1560           0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab0;
    1561           0 :                 z->c--;
    1562             :                 {
    1563           0 :                     int ret = r_R1(z);
    1564           0 :                     if (ret == 0) goto lab0;
    1565           0 :                     if (ret < 0) return ret;
    1566             :                 }
    1567           0 :                 return 0;
    1568           0 :             lab0:
    1569           0 :                 z->c = z->l - v_1;
    1570             :             }
    1571             :             do {
    1572           0 :                 int v_2 = z->l - z->c;
    1573           0 :                 if (!(eq_s_b(z, 2, s_72))) goto lab1;
    1574           0 :                 if (z->c > z->lb) goto lab1;
    1575             :                 {
    1576           0 :                     int ret = slice_from_s(z, 1, s_73);
    1577           0 :                     if (ret < 0) return ret;
    1578             :                 }
    1579           0 :                 break;
    1580           0 :             lab1:
    1581           0 :                 z->c = z->l - v_2;
    1582             :                 {
    1583           0 :                     int ret = slice_del(z);
    1584           0 :                     if (ret < 0) return ret;
    1585             :                 }
    1586             :             } while (0);
    1587           0 :             break;
    1588           0 :         case 2:
    1589             :             {
    1590           0 :                 int v_3 = z->l - z->c;
    1591           0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'h') goto lab2;
    1592           0 :                 z->c--;
    1593             :                 {
    1594           0 :                     int ret = r_R1(z);
    1595           0 :                     if (ret == 0) goto lab2;
    1596           0 :                     if (ret < 0) return ret;
    1597             :                 }
    1598           0 :                 return 0;
    1599           0 :             lab2:
    1600           0 :                 z->c = z->l - v_3;
    1601             :             }
    1602             :             {
    1603           0 :                 int v_4 = z->l - z->c;
    1604           0 :                 if (!(eq_s_b(z, 2, s_74))) goto lab3;
    1605           0 :                 if (z->c > z->lb) goto lab3;
    1606           0 :                 return 0;
    1607           0 :             lab3:
    1608           0 :                 z->c = z->l - v_4;
    1609             :             }
    1610             :             {
    1611           0 :                 int ret = slice_del(z);
    1612           0 :                 if (ret < 0) return ret;
    1613             :             }
    1614           0 :             break;
    1615             :     }
    1616           0 :     return 1;
    1617             : }
    1618             : 
    1619           0 : static int r_Lose_prefix(struct SN_env * z) {
    1620             :     int among_var;
    1621           0 :     z->bra = z->c;
    1622           0 :     if (!(eq_s(z, 2, s_75))) return 0;
    1623           0 :     z->ket = z->c;
    1624             :     {
    1625           0 :         int v_1 = z->c;
    1626             :         {
    1627           0 :             int ret = skip_utf8(z->p, z->c, z->l, 3);
    1628           0 :             if (ret < 0) return 0;
    1629           0 :             z->c = ret;
    1630             :         }
    1631           0 :         z->c = v_1;
    1632             :     }
    1633             :     {
    1634           0 :         int v_2 = z->c;
    1635           0 :         while (1) {
    1636           0 :             int v_3 = z->c;
    1637             :             do {
    1638           0 :                 int v_4 = z->c;
    1639           0 :                 if (!(eq_s(z, 2, s_76))) goto lab1;
    1640           0 :                 break;
    1641           0 :             lab1:
    1642           0 :                 z->c = v_4;
    1643           0 :                 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
    1644             :             } while (0);
    1645           0 :             break;
    1646           0 :         lab0:
    1647           0 :             z->c = v_3;
    1648             :             {
    1649           0 :                 int ret = skip_utf8(z->p, z->c, z->l, 1);
    1650           0 :                 if (ret < 0) return 0;
    1651           0 :                 z->c = ret;
    1652             :             }
    1653             :         }
    1654           0 :         while (1) {
    1655           0 :             int v_5 = z->c;
    1656             :             do {
    1657           0 :                 int v_6 = z->c;
    1658           0 :                 if (!(eq_s(z, 2, s_77))) goto lab3;
    1659           0 :                 break;
    1660           0 :             lab3:
    1661           0 :                 z->c = v_6;
    1662           0 :                 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
    1663             :             } while (0);
    1664           0 :             continue;
    1665           0 :         lab2:
    1666           0 :             z->c = v_5;
    1667           0 :             break;
    1668             :         }
    1669           0 :         if (z->c < z->l) goto lab4;
    1670           0 :         return 0;
    1671           0 :     lab4:
    1672           0 :         z->c = v_2;
    1673             :     }
    1674           0 :     if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((1314818 >> (z->p[z->c + 2] & 0x1f)) & 1)) among_var = -1; else
    1675           0 :     among_var = find_among(z, a_9, 6, 0);
    1676           0 :     switch (among_var) {
    1677           0 :         case 1:
    1678           0 :             return 0;
    1679             :             break;
    1680             :     }
    1681           0 :     ((SN_local *)z)->b_GE_removed = 1;
    1682             :     {
    1683           0 :         int ret = slice_del(z);
    1684           0 :         if (ret < 0) return ret;
    1685             :     }
    1686             :     {
    1687           0 :         int v_7 = z->c;
    1688           0 :         z->bra = z->c;
    1689           0 :         if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab5;
    1690           0 :         among_var = find_among(z, a_10, 2, 0);
    1691           0 :         if (!among_var) goto lab5;
    1692           0 :         z->ket = z->c;
    1693           0 :         switch (among_var) {
    1694           0 :             case 1:
    1695             :                 {
    1696           0 :                     int ret = slice_from_s(z, 1, s_78);
    1697           0 :                     if (ret < 0) return ret;
    1698             :                 }
    1699           0 :                 break;
    1700           0 :             case 2:
    1701             :                 {
    1702           0 :                     int ret = slice_from_s(z, 1, s_79);
    1703           0 :                     if (ret < 0) return ret;
    1704             :                 }
    1705           0 :                 break;
    1706             :         }
    1707           0 :     lab5:
    1708           0 :         z->c = v_7;
    1709             :     }
    1710           0 :     return 1;
    1711             : }
    1712             : 
    1713           0 : static int r_Lose_infix(struct SN_env * z) {
    1714             :     int among_var;
    1715             :     {
    1716           0 :         int ret = skip_utf8(z->p, z->c, z->l, 1);
    1717           0 :         if (ret < 0) return 0;
    1718           0 :         z->c = ret;
    1719             :     }
    1720             :     while (1) {
    1721           0 :         z->bra = z->c;
    1722           0 :         if (!(eq_s(z, 2, s_80))) goto lab0;
    1723           0 :         z->ket = z->c;
    1724           0 :         break;
    1725           0 :     lab0:
    1726             :         {
    1727           0 :             int ret = skip_utf8(z->p, z->c, z->l, 1);
    1728           0 :             if (ret < 0) return 0;
    1729           0 :             z->c = ret;
    1730             :         }
    1731             :     }
    1732             :     {
    1733           0 :         int v_1 = z->c;
    1734             :         {
    1735           0 :             int ret = skip_utf8(z->p, z->c, z->l, 3);
    1736           0 :             if (ret < 0) return 0;
    1737           0 :             z->c = ret;
    1738             :         }
    1739           0 :         z->c = v_1;
    1740             :     }
    1741             :     {
    1742           0 :         int v_2 = z->c;
    1743           0 :         while (1) {
    1744           0 :             int v_3 = z->c;
    1745             :             do {
    1746           0 :                 int v_4 = z->c;
    1747           0 :                 if (!(eq_s(z, 2, s_81))) goto lab2;
    1748           0 :                 break;
    1749           0 :             lab2:
    1750           0 :                 z->c = v_4;
    1751           0 :                 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
    1752             :             } while (0);
    1753           0 :             break;
    1754           0 :         lab1:
    1755           0 :             z->c = v_3;
    1756             :             {
    1757           0 :                 int ret = skip_utf8(z->p, z->c, z->l, 1);
    1758           0 :                 if (ret < 0) return 0;
    1759           0 :                 z->c = ret;
    1760             :             }
    1761             :         }
    1762           0 :         while (1) {
    1763           0 :             int v_5 = z->c;
    1764             :             do {
    1765           0 :                 int v_6 = z->c;
    1766           0 :                 if (!(eq_s(z, 2, s_82))) goto lab4;
    1767           0 :                 break;
    1768           0 :             lab4:
    1769           0 :                 z->c = v_6;
    1770           0 :                 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab3;
    1771             :             } while (0);
    1772           0 :             continue;
    1773           0 :         lab3:
    1774           0 :             z->c = v_5;
    1775           0 :             break;
    1776             :         }
    1777           0 :         if (z->c < z->l) goto lab5;
    1778           0 :         return 0;
    1779           0 :     lab5:
    1780           0 :         z->c = v_2;
    1781             :     }
    1782           0 :     ((SN_local *)z)->b_GE_removed = 1;
    1783             :     {
    1784           0 :         int ret = slice_del(z);
    1785           0 :         if (ret < 0) return ret;
    1786             :     }
    1787             :     {
    1788           0 :         int v_7 = z->c;
    1789           0 :         z->bra = z->c;
    1790           0 :         if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab6;
    1791           0 :         among_var = find_among(z, a_11, 2, 0);
    1792           0 :         if (!among_var) goto lab6;
    1793           0 :         z->ket = z->c;
    1794           0 :         switch (among_var) {
    1795           0 :             case 1:
    1796             :                 {
    1797           0 :                     int ret = slice_from_s(z, 1, s_83);
    1798           0 :                     if (ret < 0) return ret;
    1799             :                 }
    1800           0 :                 break;
    1801           0 :             case 2:
    1802             :                 {
    1803           0 :                     int ret = slice_from_s(z, 1, s_84);
    1804           0 :                     if (ret < 0) return ret;
    1805             :                 }
    1806           0 :                 break;
    1807             :         }
    1808           0 :     lab6:
    1809           0 :         z->c = v_7;
    1810             :     }
    1811           0 :     return 1;
    1812             : }
    1813             : 
    1814           0 : static int r_measure(struct SN_env * z) {
    1815           0 :     ((SN_local *)z)->i_p1 = z->l;
    1816           0 :     ((SN_local *)z)->i_p2 = z->l;
    1817           0 :     {
    1818           0 :         int v_1 = z->c;
    1819             :         while (1) {
    1820           0 :             if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
    1821           0 :             continue;
    1822           0 :         lab1:
    1823           0 :             break;
    1824             :         }
    1825             :         {
    1826           0 :             int v_2 = 1;
    1827           0 :             while (1) {
    1828           0 :                 int v_3 = z->c;
    1829             :                 do {
    1830           0 :                     int v_4 = z->c;
    1831           0 :                     if (!(eq_s(z, 2, s_85))) goto lab3;
    1832           0 :                     break;
    1833           0 :                 lab3:
    1834           0 :                     z->c = v_4;
    1835           0 :                     if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
    1836             :                 } while (0);
    1837           0 :                 v_2--;
    1838           0 :                 continue;
    1839           0 :             lab2:
    1840           0 :                 z->c = v_3;
    1841           0 :                 break;
    1842             :             }
    1843           0 :             if (v_2 > 0) goto lab0;
    1844             :         }
    1845           0 :         if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
    1846           0 :         ((SN_local *)z)->i_p1 = z->c;
    1847             :         while (1) {
    1848           0 :             if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
    1849           0 :             continue;
    1850           0 :         lab4:
    1851           0 :             break;
    1852             :         }
    1853             :         {
    1854           0 :             int v_5 = 1;
    1855           0 :             while (1) {
    1856           0 :                 int v_6 = z->c;
    1857             :                 do {
    1858           0 :                     int v_7 = z->c;
    1859           0 :                     if (!(eq_s(z, 2, s_86))) goto lab6;
    1860           0 :                     break;
    1861           0 :                 lab6:
    1862           0 :                     z->c = v_7;
    1863           0 :                     if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab5;
    1864             :                 } while (0);
    1865           0 :                 v_5--;
    1866           0 :                 continue;
    1867           0 :             lab5:
    1868           0 :                 z->c = v_6;
    1869           0 :                 break;
    1870             :             }
    1871           0 :             if (v_5 > 0) goto lab0;
    1872             :         }
    1873           0 :         if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
    1874           0 :         ((SN_local *)z)->i_p2 = z->c;
    1875           0 :     lab0:
    1876           0 :         z->c = v_1;
    1877             :     }
    1878           0 :     return 1;
    1879             : }
    1880             : 
    1881           0 : extern int dutch_UTF_8_stem(struct SN_env * z) {
    1882             :     int b_stemmed;
    1883           0 :     b_stemmed = 0;
    1884             :     {
    1885           0 :         int ret = r_measure(z);
    1886           0 :         if (ret <= 0) return ret;
    1887             :     }
    1888           0 :     z->lb = z->c; z->c = z->l;
    1889             :     {
    1890           0 :         int v_1 = z->l - z->c;
    1891             :         {
    1892           0 :             int ret = r_Step_1(z);
    1893           0 :             if (ret == 0) goto lab0;
    1894           0 :             if (ret < 0) return ret;
    1895             :         }
    1896           0 :         b_stemmed = 1;
    1897           0 :     lab0:
    1898           0 :         z->c = z->l - v_1;
    1899             :     }
    1900             :     {
    1901           0 :         int v_2 = z->l - z->c;
    1902             :         {
    1903           0 :             int ret = r_Step_2(z);
    1904           0 :             if (ret == 0) goto lab1;
    1905           0 :             if (ret < 0) return ret;
    1906             :         }
    1907           0 :         b_stemmed = 1;
    1908           0 :     lab1:
    1909           0 :         z->c = z->l - v_2;
    1910             :     }
    1911             :     {
    1912           0 :         int v_3 = z->l - z->c;
    1913             :         {
    1914           0 :             int ret = r_Step_3(z);
    1915           0 :             if (ret == 0) goto lab2;
    1916           0 :             if (ret < 0) return ret;
    1917             :         }
    1918           0 :         b_stemmed = 1;
    1919           0 :     lab2:
    1920           0 :         z->c = z->l - v_3;
    1921             :     }
    1922             :     {
    1923           0 :         int v_4 = z->l - z->c;
    1924             :         {
    1925           0 :             int ret = r_Step_4(z);
    1926           0 :             if (ret == 0) goto lab3;
    1927           0 :             if (ret < 0) return ret;
    1928             :         }
    1929           0 :         b_stemmed = 1;
    1930           0 :     lab3:
    1931           0 :         z->c = z->l - v_4;
    1932             :     }
    1933           0 :     z->c = z->lb;
    1934           0 :     ((SN_local *)z)->b_GE_removed = 0;
    1935             :     {
    1936           0 :         int v_5 = z->c;
    1937             :         {
    1938           0 :             int v_6 = z->c;
    1939             :             {
    1940           0 :                 int ret = r_Lose_prefix(z);
    1941           0 :                 if (ret == 0) goto lab4;
    1942           0 :                 if (ret < 0) return ret;
    1943             :             }
    1944           0 :             z->c = v_6;
    1945             :             {
    1946           0 :                 int ret = r_measure(z);
    1947           0 :                 if (ret < 0) return ret;
    1948             :             }
    1949             :         }
    1950           0 :     lab4:
    1951           0 :         z->c = v_5;
    1952             :     }
    1953           0 :     z->lb = z->c; z->c = z->l;
    1954             :     {
    1955           0 :         int v_7 = z->l - z->c;
    1956           0 :         if (!((SN_local *)z)->b_GE_removed) goto lab5;
    1957           0 :         b_stemmed = 1;
    1958             :         {
    1959           0 :             int ret = r_Step_1c(z);
    1960           0 :             if (ret == 0) goto lab5;
    1961           0 :             if (ret < 0) return ret;
    1962             :         }
    1963           0 :     lab5:
    1964           0 :         z->c = z->l - v_7;
    1965             :     }
    1966           0 :     z->c = z->lb;
    1967           0 :     ((SN_local *)z)->b_GE_removed = 0;
    1968             :     {
    1969           0 :         int v_8 = z->c;
    1970             :         {
    1971           0 :             int v_9 = z->c;
    1972             :             {
    1973           0 :                 int ret = r_Lose_infix(z);
    1974           0 :                 if (ret == 0) goto lab6;
    1975           0 :                 if (ret < 0) return ret;
    1976             :             }
    1977           0 :             z->c = v_9;
    1978             :             {
    1979           0 :                 int ret = r_measure(z);
    1980           0 :                 if (ret < 0) return ret;
    1981             :             }
    1982             :         }
    1983           0 :     lab6:
    1984           0 :         z->c = v_8;
    1985             :     }
    1986           0 :     z->lb = z->c; z->c = z->l;
    1987             :     {
    1988           0 :         int v_10 = z->l - z->c;
    1989           0 :         if (!((SN_local *)z)->b_GE_removed) goto lab7;
    1990           0 :         b_stemmed = 1;
    1991             :         {
    1992           0 :             int ret = r_Step_1c(z);
    1993           0 :             if (ret == 0) goto lab7;
    1994           0 :             if (ret < 0) return ret;
    1995             :         }
    1996           0 :     lab7:
    1997           0 :         z->c = z->l - v_10;
    1998             :     }
    1999           0 :     z->c = z->lb;
    2000           0 :     z->lb = z->c; z->c = z->l;
    2001             :     {
    2002           0 :         int v_11 = z->l - z->c;
    2003             :         {
    2004           0 :             int ret = r_Step_7(z);
    2005           0 :             if (ret == 0) goto lab8;
    2006           0 :             if (ret < 0) return ret;
    2007             :         }
    2008           0 :         b_stemmed = 1;
    2009           0 :     lab8:
    2010           0 :         z->c = z->l - v_11;
    2011             :     }
    2012             :     {
    2013           0 :         int v_12 = z->l - z->c;
    2014           0 :         if (!b_stemmed) goto lab9;
    2015             :         {
    2016           0 :             int ret = r_Step_6(z);
    2017           0 :             if (ret == 0) goto lab9;
    2018           0 :             if (ret < 0) return ret;
    2019             :         }
    2020           0 :     lab9:
    2021           0 :         z->c = z->l - v_12;
    2022             :     }
    2023           0 :     z->c = z->lb;
    2024           0 :     return 1;
    2025             : }
    2026             : 
    2027           0 : extern struct SN_env * dutch_UTF_8_create_env(void) {
    2028           0 :     struct SN_env * z = SN_new_env(sizeof(SN_local));
    2029           0 :     if (z) {
    2030           0 :         ((SN_local *)z)->b_GE_removed = 0;
    2031           0 :         ((SN_local *)z)->i_p2 = 0;
    2032           0 :         ((SN_local *)z)->i_p1 = 0;
    2033           0 :         ((SN_local *)z)->s_ch = NULL;
    2034             : 
    2035           0 :         if ((((SN_local *)z)->s_ch = create_s()) == NULL) {
    2036           0 :             dutch_UTF_8_close_env(z);
    2037           0 :             return NULL;
    2038             :         }
    2039             :     }
    2040           0 :     return z;
    2041             : }
    2042             : 
    2043           0 : extern void dutch_UTF_8_close_env(struct SN_env * z) {
    2044           0 :     if (z) {
    2045           0 :         lose_s(((SN_local *)z)->s_ch);
    2046             :     }
    2047           0 :     SN_delete_env(z);
    2048           0 : }
    2049             : 

Generated by: LCOV version 1.16