Sign of <tail_addr>, <head_addr> and <end_addr> is respsected to not convert -1 into its unsigned representation.