Is this change really necessary? `target_in_source_y` and `target_in_source_x` will be a floats so why do this? and surely a greater than or equal operator is computationally more expensive than a simply greater than?