I know it's late, but the 0.5 addition makes more sense than what I originally thought. For some reason I didn't think about adding positive numbers to negative ones, and my mind got stuck on the -0 coordinate. Sorry for trying to pass off my earlier comment as fact, I didn't intend to write it quite as such at the time.
However I still think it should be considered a bug instead of intended behavior. While using negative coordinates, it needs to subtract 0.5 not add it.
It's due to the TP system thinking the -0 coordinate doesn't exist. So if you TP to any negative coordinates, it's always one block behind where you want to go.
I know it's late, but the 0.5 addition makes more sense than what I originally thought. For some reason I didn't think about adding positive numbers to negative ones, and my mind got stuck on the -0 coordinate. Sorry for trying to pass off my earlier comment as fact, I didn't intend to write it quite as such at the time.
However I still think it should be considered a bug instead of intended behavior. While using negative coordinates, it needs to subtract 0.5 not add it.