There are actually two problems:

1, found two closely spaced intersections for one;

2, found none.

For issue (1), it was quite bad, showing errors from equation solvers at the 10^-8 level. The solvers are now with better precision level, so I don't see the issue (1) any more. The quartic solver is not touched yet, but work has been done for (quadratic, cubic, and quadratic-quadratic).

For issue (2), I think it might be managed partly by investigating tolerance levels. If roots are found by precision of 10^-10, and testing intersections at the same level seems to be tough. This comes back to the old idea, we should consider the drawing precision level, for example, if user precision is 10^-5, we may consider intersections at 10^-7.

There's no clear solution yet, unfortunately.

ravas wrote

Repeating the test, but with base points (100,100) & (110,100)

it will find the base intersection of (105,100)

but not the other two.