Offset goes from low to high, if maxoffset = 2 then the two smallest offset will be taken and the rest ignored, range is the biggest offset can be. These conditions whichever is true first will stop the search at any given depth.The search is a backward search, meaning it starts from the target and try to get back to main, the search of each branch stops when either it reach main or if the jump back count reach the max depth.
Going to explore both backward and forward search when I rewrite it for Breeze.
Not all pointer chain originate from main (real one, as in it is created by the programmer intentionally so it always works vs those that are coincidental which only works some of the time, an analogy would be people that you meet on your way to work, sometimes you see people almost everyday without arranging to meet, you can't blame these people for not showing up some of the time).