I have to echo @unicity’s gratitude as this has been a load of fun. I have been staring at spreadsheets of the series with different seeding numbers like I’m sculpting mash potatoes and telling my family this means something. Here are some surprising observations. See the spreadsheet screenshot.
First I was surprised that no matter what the first two numbers are for a given series, if you define the first number as the root/center, it always returns to that root/center at the same indices (white columns in the screenshot).
Perhaps a little more surprising is that if you look at that spreadsheet and notice the way each color coded batch counts vertically, you see that index 0 counts by 0s, index 1 counts by 1s, index 2 counts by -1s, index 3 counts by 2s, index 4 counts by 1s.
Those count-by amounts are the infinity series itself for the series that starts 0,1.
This means that you can see a multiples pattern and therefore I think you can compute any index for any initial pair without having to generate the sequence up to that point. You just need to use the binary trick also. Here are the details as I have worked them out:
Let the norgard_integer of index n (indexing beginning 0, not 1) be the nth integer in the infinity series that begins 0,1. (I’m using norgard_integer here as that is what @_greathorned called it in the Super Collider code.)
Let the first germinal interval be the two numbers that start the series.
With the first germinal interval defined as a root and a step from the root, for any [root, first_step] pair, let seed_interval be defined as first_step - root.
The 0,1 seed pair is special because it defines the series in terms of the lowest whole numbers (I think this is true).
All infinity series numbers (for any initial pair) appear to be multiples of the 0,1 series where the multiple is based on the seed_interval as defined above.
Which means the nth integer in the series for any first pair is then:
root + (norgard_integer(n) * seed_interval)
In my screenshot’d spreadsheet, the selected cell is index 14 for the 1,12 pair.
root = 1
seed_interval = 12 - 1 = 11
norgard_integer(14) = -3 (index 14 of the 0,1 series, can be computed quickly with the binary trick)
1 + (-3 * 11) = -32
(Let me know if anyone sees a logic flaw here!)
p.s. And of course the most fun has actually been playing and hearing sequences based on these series.