in src/backend/snowball/libstemmer/stem_UTF_8_tamil.c [1498:1805]
static int r_remove_tense_suffix(struct SN_env * z) {
z->I[1] = 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 m2 = z->l - z->c; (void)m2;
{ int m_test3 = z->l - z->c;
z->ket = z->c;
if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 141)) goto lab2;
if (!(find_among_b(z, a_22, 2))) goto lab2;
z->bra = z->c;
{ int ret = slice_del(z);
if (ret < 0) return ret;
}
z->I[1] = 1;
z->c = z->l - m_test3;
}
goto lab1;
lab2:
z->c = z->l - m2;
{ int m_test4 = z->l - z->c;
z->ket = z->c;
{ int m5 = z->l - z->c; (void)m5;
if (!(eq_s_b(z, 12, s_104))) goto lab5;
goto lab4;
lab5:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_105))) goto lab6;
goto lab4;
lab6:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_106))) goto lab7;
goto lab4;
lab7:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_107))) goto lab8;
goto lab4;
lab8:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_108))) goto lab9;
goto lab4;
lab9:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_109))) goto lab10;
goto lab4;
lab10:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_110))) goto lab11;
{ int m_test6 = z->l - z->c;
{ int m7 = z->l - z->c; (void)m7;
if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab12;
if (!(find_among_b(z, a_23, 12))) goto lab12;
goto lab11;
lab12:
z->c = z->l - m7;
}
z->c = z->l - m_test6;
}
goto lab4;
lab11:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_111))) goto lab13;
goto lab4;
lab13:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_112))) goto lab14;
goto lab4;
lab14:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_113))) goto lab15;
goto lab4;
lab15:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_114))) goto lab16;
goto lab4;
lab16:
z->c = z->l - m5;
if (!(eq_s_b(z, 3, s_115))) goto lab17;
goto lab4;
lab17:
z->c = z->l - m5;
if (!(eq_s_b(z, 3, s_116))) goto lab18;
goto lab4;
lab18:
z->c = z->l - m5;
if (!(eq_s_b(z, 3, s_117))) goto lab19;
goto lab4;
lab19:
z->c = z->l - m5;
if (!(eq_s_b(z, 3, s_118))) goto lab20;
goto lab4;
lab20:
z->c = z->l - m5;
if (!(eq_s_b(z, 3, s_119))) goto lab21;
goto lab4;
lab21:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_120))) goto lab22;
goto lab4;
lab22:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_121))) goto lab23;
goto lab4;
lab23:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_122))) goto lab24;
goto lab4;
lab24:
z->c = z->l - m5;
if (!(eq_s_b(z, 6, s_123))) goto lab25;
{ int m_test8 = z->l - z->c;
{ int m9 = z->l - z->c; (void)m9;
if (!(find_among_b(z, a_24, 8))) goto lab26;
goto lab25;
lab26:
z->c = z->l - m9;
}
z->c = z->l - m_test8;
}
goto lab4;
lab25:
z->c = z->l - m5;
if (!(eq_s_b(z, 15, s_124))) goto lab27;
goto lab4;
lab27:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_125))) goto lab28;
goto lab4;
lab28:
z->c = z->l - m5;
if (!(eq_s_b(z, 9, s_126))) goto lab29;
goto lab4;
lab29:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_127))) goto lab30;
goto lab4;
lab30:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_128))) goto lab31;
goto lab4;
lab31:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_129))) goto lab32;
goto lab4;
lab32:
z->c = z->l - m5;
if (!(eq_s_b(z, 12, s_130))) goto lab33;
goto lab4;
lab33:
z->c = z->l - m5;
if (!(eq_s_b(z, 6, s_131))) goto lab34;
goto lab4;
lab34:
z->c = z->l - m5;
if (!(eq_s_b(z, 6, s_132))) goto lab3;
}
lab4:
z->bra = z->c;
{ int ret = slice_del(z);
if (ret < 0) return ret;
}
z->I[1] = 1;
z->c = z->l - m_test4;
}
goto lab1;
lab3:
z->c = z->l - m2;
{ int m_test10 = z->l - z->c;
z->ket = z->c;
{ int m11 = z->l - z->c; (void)m11;
if (!(eq_s_b(z, 9, s_133))) goto lab37;
{ int m_test12 = z->l - z->c;
{ int m13 = z->l - z->c; (void)m13;
if (!(eq_s_b(z, 3, s_134))) goto lab38;
goto lab37;
lab38:
z->c = z->l - m13;
}
z->c = z->l - m_test12;
}
goto lab36;
lab37:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_135))) goto lab39;
goto lab36;
lab39:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_136))) goto lab40;
goto lab36;
lab40:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_137))) goto lab41;
goto lab36;
lab41:
z->c = z->l - m11;
if (!(eq_s_b(z, 3, s_138))) goto lab42;
goto lab36;
lab42:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_139))) goto lab43;
goto lab36;
lab43:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_140))) goto lab44;
goto lab36;
lab44:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_141))) goto lab45;
goto lab36;
lab45:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_142))) goto lab46;
goto lab36;
lab46:
z->c = z->l - m11;
if (!(eq_s_b(z, 12, s_143))) goto lab47;
goto lab36;
lab47:
z->c = z->l - m11;
if (!(eq_s_b(z, 12, s_144))) goto lab48;
goto lab36;
lab48:
z->c = z->l - m11;
if (!(eq_s_b(z, 12, s_145))) goto lab49;
goto lab36;
lab49:
z->c = z->l - m11;
if (!(eq_s_b(z, 12, s_146))) goto lab50;
goto lab36;
lab50:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_147))) goto lab51;
goto lab36;
lab51:
z->c = z->l - m11;
if (!(eq_s_b(z, 12, s_148))) goto lab52;
goto lab36;
lab52:
z->c = z->l - m11;
if (!(eq_s_b(z, 12, s_149))) goto lab53;
goto lab36;
lab53:
z->c = z->l - m11;
if (!(eq_s_b(z, 9, s_150))) goto lab54;
goto lab36;
lab54:
z->c = z->l - m11;
if (!(eq_s_b(z, 12, s_151))) goto lab35;
}
lab36:
z->bra = z->c;
{ int ret = slice_from_s(z, 3, s_152);
if (ret < 0) return ret;
}
z->I[1] = 1;
z->c = z->l - m_test10;
}
goto lab1;
lab35:
z->c = z->l - m2;
{ int m_test14 = z->l - z->c;
z->ket = z->c;
{ int m15 = z->l - z->c; (void)m15;
if (!(eq_s_b(z, 6, s_153))) goto lab56;
goto lab55;
lab56:
z->c = z->l - m15;
if (!(eq_s_b(z, 6, s_154))) goto lab0;
}
lab55:
{ int m_test16 = z->l - z->c;
if (!(eq_s_b(z, 3, s_155))) goto lab0;
z->c = z->l - m_test16;
}
z->bra = z->c;
{ int ret = slice_del(z);
if (ret < 0) return ret;
}
z->I[1] = 1;
z->c = z->l - m_test14;
}
}
lab1:
lab0:
z->c = z->l - m1;
}
{ int m17 = z->l - z->c; (void)m17;
z->ket = z->c;
if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab57;
if (!(find_among_b(z, a_25, 6))) goto lab57;
z->bra = z->c;
{ int ret = slice_del(z);
if (ret < 0) return ret;
}
z->I[1] = 1;
lab57:
z->c = z->l - m17;
}
z->c = z->lb;
{ int ret = r_fix_endings(z);
if (ret < 0) return ret;
}
return 1;
}