That's pretty cool @t1_hopscotch
I don't know if it helps you but combination factorials can be calculated very quickly using clones like this.
Takes just 2 frames to complete regardless of the value of n or k. But you need n or k, which ever is greater, calculation clones. However, the "function" can only calculate one result at a time so this may not help your situation.
For a multiplicity of calling clones...
For a multiplicity of calling clones, you could however split the calling clones into (s) sets based on an index, increase the number of calculation clones by a factor of (s), having a set of calculation clones for each set of calling clones. Still not 1:1 but the total solve time would be reduced by a factor of (s).
For example, if you have 1000 calling clones, the combfact(n,k) if calculated in series would take at least 2 frames (33.3ms) per, or 33.3s in total. If the largest n or k was, say, 50 this would require 50 calculation clones. However you could have 500 calculation clones with self variables of 'index' 1-50 & 'set' 1-10 (think 2 dimensions array). Then each "set" could respond to the function call from the corresponding calling clone's ((index -1) % 10)+1, assuming the calling clones set their indexs at 1. Now, the 1000 calling clones will take 10x less to all calculate a combination factorial or 3.33s in total.
Maybe it's faster just to have each clone calculate it's own factorial result?