static int r_remove_vetrumai_urupukal()

in src/backend/snowball/libstemmer/stem_UTF_8_tamil.c [1253:1477]


static int r_remove_vetrumai_urupukal(struct SN_env * z) {
    z->I[1] = 0;
    z->I[0] = 0;
    {   int ret = r_has_min_length(z);
        if (ret <= 0) return ret;
    }
    z->lb = z->c; z->c = z->l;

    {   int m1 = z->l - z->c; (void)m1;
        {   int m_test2 = z->l - z->c;
            z->ket = z->c;
            if (!(eq_s_b(z, 6, s_71))) goto lab1;
            z->bra = z->c;
            {   int ret = slice_del(z);
                if (ret < 0) return ret;
            }
            z->c = z->l - m_test2;
        }
        goto lab0;
    lab1:
        z->c = z->l - m1;
        {   int m_test3 = z->l - z->c;
            z->ket = z->c;
            {   int m4 = z->l - z->c; (void)m4;
                {   int m5 = z->l - z->c; (void)m5;
                    if (!(eq_s_b(z, 9, s_72))) goto lab6;
                    goto lab5;
                lab6:
                    z->c = z->l - m5;
                    if (!(eq_s_b(z, 3, s_73))) goto lab4;
                }
            lab5:
                {   int m_test6 = z->l - z->c;
                    {   int m7 = z->l - z->c; (void)m7;
                        if (!(find_among_b(z, a_18, 6))) goto lab7;
                        goto lab4;
                    lab7:
                        z->c = z->l - m7;
                    }
                    z->c = z->l - m_test6;
                }
                goto lab3;
            lab4:
                z->c = z->l - m4;
                if (!(eq_s_b(z, 3, s_74))) goto lab2;
                {   int m_test8 = z->l - z->c;
                    if (!(find_among_b(z, a_19, 6))) goto lab2;
                    if (!(eq_s_b(z, 3, s_75))) goto lab2;
                    z->c = z->l - m_test8;
                }
            }
        lab3:
            z->bra = z->c;
            {   int ret = slice_from_s(z, 3, s_76);
                if (ret < 0) return ret;
            }
            z->c = z->l - m_test3;
        }
        goto lab0;
    lab2:
        z->c = z->l - m1;
        {   int m_test9 = z->l - z->c;
            z->ket = z->c;
            {   int m10 = z->l - z->c; (void)m10;
                if (!(eq_s_b(z, 9, s_77))) goto lab10;
                goto lab9;
            lab10:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_78))) goto lab11;
                goto lab9;
            lab11:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_79))) goto lab12;
                goto lab9;
            lab12:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_80))) goto lab13;
                goto lab9;
            lab13:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_81))) goto lab14;
                {   int m_test11 = z->l - z->c;
                    {   int m12 = z->l - z->c; (void)m12;
                        if (!(eq_s_b(z, 3, s_82))) goto lab15;
                        goto lab14;
                    lab15:
                        z->c = z->l - m12;
                    }
                    z->c = z->l - m_test11;
                }
                goto lab9;
            lab14:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 15, s_83))) goto lab16;
                goto lab9;
            lab16:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 21, s_84))) goto lab17;
                goto lab9;
            lab17:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_85))) goto lab18;
                goto lab9;
            lab18:
                z->c = z->l - m10;
                if (!(len_utf8(z->p) >= 7)) goto lab19;
                if (!(eq_s_b(z, 12, s_86))) goto lab19;
                goto lab9;
            lab19:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_87))) goto lab20;
                goto lab9;
            lab20:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_88))) goto lab21;
                goto lab9;
            lab21:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 12, s_89))) goto lab22;
                goto lab9;
            lab22:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 6, s_90))) goto lab23;
                {   int m_test13 = z->l - z->c;
                    {   int m14 = z->l - z->c; (void)m14;
                        if (!(find_among_b(z, a_20, 8))) goto lab24;
                        goto lab23;
                    lab24:
                        z->c = z->l - m14;
                    }
                    z->c = z->l - m_test13;
                }
                goto lab9;
            lab23:
                z->c = z->l - m10;
                if (!(eq_s_b(z, 9, s_91))) goto lab8;
            }
        lab9:
            z->bra = z->c;
            {   int ret = slice_from_s(z, 3, s_92);
                if (ret < 0) return ret;
            }
            z->c = z->l - m_test9;
        }
        goto lab0;
    lab8:
        z->c = z->l - m1;
        {   int m_test15 = z->l - z->c;
            z->ket = z->c;
            {   int m16 = z->l - z->c; (void)m16;
                if (!(eq_s_b(z, 9, s_93))) goto lab27;
                goto lab26;
            lab27:
                z->c = z->l - m16;
                if (!(eq_s_b(z, 12, s_94))) goto lab28;
                goto lab26;
            lab28:
                z->c = z->l - m16;
                if (!(eq_s_b(z, 12, s_95))) goto lab29;
                goto lab26;
            lab29:
                z->c = z->l - m16;
                if (!(eq_s_b(z, 12, s_96))) goto lab30;
                goto lab26;
            lab30:
                z->c = z->l - m16;
                if (!(eq_s_b(z, 12, s_97))) goto lab31;
                goto lab26;
            lab31:
                z->c = z->l - m16;
                if (!(eq_s_b(z, 12, s_98))) goto lab32;
                goto lab26;
            lab32:
                z->c = z->l - m16;
                if (!(eq_s_b(z, 6, s_99))) goto lab25;
                {   int m_test17 = z->l - z->c;
                    {   int m18 = z->l - z->c; (void)m18;
                        if (!(find_among_b(z, a_21, 8))) goto lab33;
                        goto lab25;
                    lab33:
                        z->c = z->l - m18;
                    }
                    z->c = z->l - m_test17;
                }
            }
        lab26:
            z->bra = z->c;
            {   int ret = slice_del(z);
                if (ret < 0) return ret;
            }
            z->c = z->l - m_test15;
        }
        goto lab0;
    lab25:
        z->c = z->l - m1;
        {   int m_test19 = z->l - z->c;
            z->ket = z->c;
            if (!(eq_s_b(z, 3, s_100))) return 0;
            z->bra = z->c;
            {   int ret = slice_from_s(z, 3, s_101);
                if (ret < 0) return ret;
            }
            z->c = z->l - m_test19;
        }
    }
lab0:
    z->I[1] = 1;
    z->I[0] = 1;
    {   int m20 = z->l - z->c; (void)m20;
        z->ket = z->c;
        if (!(eq_s_b(z, 9, s_102))) goto lab34;
        z->bra = z->c;
        {   int ret = slice_from_s(z, 3, s_103);
            if (ret < 0) return ret;
        }
    lab34:
        z->c = z->l - m20;
    }
    z->c = z->lb;
    
    {   int ret = r_fix_endings(z);
        if (ret < 0) return ret;
    }
    return 1;
}