if (tmp1 < tmp3) { if (tmp1 < tmp2) { mm[i] = tmp1; dm[i] = DELETE; } else if (tmp2 < tmp1) { mm[i] = tmp2; dm[i] = INSERT; } else { mm[i] = tmp2; dm[i] = (INSERT | DELETE); } } else if (tmp3 < tmp1) { if (tmp3 < tmp2) { mm[i] = tmp3; dm[i] = ALIGN; } else if (tmp2 < tmp3) { mm[i] = tmp2; dm[i] = INSERT; } else { mm[i] = tmp2; dm[i] = (ALIGN | INSERT); } } else { /* tmp3 == tmp1 */ if (tmp3 < tmp2) { mm[i] = tmp3; dm[i] = (ALIGN | DELETE); } else if (tmp2 < tmp3) { mm[i] = tmp2; dm[i] = INSERT; } else { mm[i] = tmp2; dm[i] = (DELETE | INSERT | ALIGN); }