Pensieve header: km with up to 15 inputs; CF based on CoefficientRules.

SetDirectory["C:\\drorbn\\AcademicPensieve\\Projects\\SL2Invariant"];
<< SL2Invariant.m

CCF[ℰ_] := (Subscript[PP, CCF])@Expand[(Subscript[PP, Exp])[
Expand[ℰ] //. (E^(x_))(E^(y_)):>(E^(x+y)) /. (E^(x_)):>(E^(CCF[x]))]];
CF[ℰ_List]:=CF/@ℰ;
CF[ℰ_] := (Subscript[PP, CF])@Module[
{vs=Cases[ℰ,(Subscript[(y|b|t|a|x|η|β|τ|α|ξ), _]),∞]⋃{y,b,t,a,x,η,β,τ,α,ξ}},
Total[CoefficientRules[Expand[ℰ], vs] /. (ps_->c_) :> CCF[c](Times@@(vs^ps))]
];

$k=1;  Clear[km];

km[1]=(Subscript[𝔼, {1}->{1}])[(Subscript[a, 1]) (Subscript[α, 1])+t (Subscript[τ, 1]), (Subscript[x, 1])(Subscript[ξ, 1])+(Subscript[y, 1])(Subscript[η, 1]),1];
km[n_Integer]/;n>1 := km[n] = km[n-1]//(Subscript[km, 1,n->1])

km[4]

Table[Echo[Prepend[LeafCount /@ List@@km[n],n]], {n,15}] // MatrixForm

ListLogLogPlot[Table[LeafCount[km[n][[3]]], {n,15}]]

N@Table[((Log@LeafCount[km[n][[3]]])/(Log[n])), {n,2,15}]

PrintProfile[]

The Trefoil

Timing@Block[{$k=1},
Z=(Subscript[R, 1,5])(Subscript[R, 6,2])(Subscript[R, 3,7])(Subscript[(OverBar[C]), 4])(Subscript[(OverBar[Kink]), 8])(Subscript[(OverBar[Kink]), 9])(Subscript[(OverBar[Kink]), 10]);
Do[Z=Z~(Subscript[B, 1,r])~(Subscript[dm, 1,r->1]),{r,2,10}];
{Simplify/@Z, Simplify/@(Z~(Subscript[B, 1])~(Subscript[b2t, 1]) /. (Subscript[T, 1])->T)}]

Timing@Block[{$k=1},
Z=(Subscript[kR, 1,5])(Subscript[kR, 6,2])(Subscript[kR, 3,7])(Subscript[(OverBar[kC]), 4])(Subscript[(OverBar[kKink]), 8])(Subscript[(OverBar[kKink]), 9])(Subscript[(OverBar[kKink]), 10]);
Do[Z=Z~(Subscript[B, 1,r])~(Subscript[km, 1,r->1]),{r,2,10}];
Simplify/@Z]

Z@Knot[10,100]

$k=1; Timing@Z@Knot[10,100]