removed most of equal_point_point() calls by simpler checks using IntersectionResult