public boolean stem() {r_mark_regions();limit_backward = cursor;cursor = limit;int v_2 = limit - cursor;r_attached_pronoun();cursor = limit - v_2;int v_3 = limit - cursor;lab0: {lab1: {int v_4 = limit - cursor;lab2: {if (!r_standard_suffix()){break lab2;}break lab1;}cursor = limit - v_4;if (!r_verb_suffix()){break lab0;}}}cursor = limit - v_3;int v_5 = limit - cursor;r_residual_suffix();cursor = limit - v_5;cursor = limit_backward;int v_6 = cursor;r_cleaning();cursor = v_6;return true;}
public override bool Stem(){int v_1;int v_2;int v_3;int v_4;int v_5;int v_6;v_1 = m_cursor;do{if (!r_mark_regions()){goto lab0;}} while (false);lab0:m_cursor = v_1;m_limit_backward = m_cursor; m_cursor = m_limit;v_2 = m_limit - m_cursor;do{if (!r_attached_pronoun()){goto lab1;}} while (false);lab1:m_cursor = m_limit - v_2;v_3 = m_limit - m_cursor;do{do{v_4 = m_limit - m_cursor;do{if (!r_standard_suffix()){goto lab4;}goto lab3;} while (false);lab4:m_cursor = m_limit - v_4;if (!r_verb_suffix()){goto lab2;}} while (false);lab3:;} while (false);lab2:m_cursor = m_limit - v_3;v_5 = m_limit - m_cursor;do{if (!r_residual_suffix()){goto lab5;}} while (false);lab5:m_cursor = m_limit - v_5;m_cursor = m_limit_backward;                    v_6 = m_cursor;do{if (!r_cleaning()){goto lab6;}} while (false);lab6:m_cursor = v_6;return true;}