are you really need all 4 cases?  For example you already have start <= end.  Probably, you can make _start <= _end as well.