- Let $a(n)$ be A347205. It is enough for us to know that
$$ a(2^m(2k+1)) = \sum\limits_{j=0}^{m}a(2^jk), \\ a(0) = 1 $$
- Let $b(n)$ be A329369. It is enough for us to know that
$$ b(2^m(2k+1)) = \sum\limits_{j=0}^{m}\binom{m+1}{j} b(2^jk), \\ b(0) = 1 $$
Let $T(n,k)$ be A101211 (i.e, triangle read by rows: $n$-th row is length of run of leftmost $1$'s, followed by length of run of $0$'s, followed by length of run of $1$'s, etc., in the binary representation of $n$).
Let $c(n)$ be A005811 (i.e., number of runs in binary expansion of $n$ ($n>0$); number of $1$'s in Gray code for $n$).
Suppose that we want to compute $b(n)$ without recursion. Is there a way to do it? Presumably, there should be at least one way. So here it is:
Start with the vector $s$ of ones with the length $L=\sum\limits_{i=1}^{\frac{c(2n)}{2}}T(2n,2i)$. Also, let $t$ be an identical vector. After that for $i$ from $1$ to $\frac{c(2n)}{2}$ apply $A=\sum\limits_{q=1}^{i-1}T(2n,2q)$ and then (staying into the first cycle) for $j$ from $1$ to $T(2n,2i-1)$ and for $k$ from $A+2$ to $L$ apply $$ t_k = \sum\limits_{q=1}^{k-A}\binom{k-A}{q-1}s_{q+A}. $$
After ending the last cycle and while we stay at the second cycle, we also need to apply $s = t$.
I conjecture that $s_L$ after the whole transformation is equals to $b(n)$.
Here is the PARI/GP program to check it numerically:
a(n) = if(n == 0, 1, my(A = valuation(n, 2), B = n\2^(A+1)); sum(j=0, A, a(2^j*B)))
b(n) = if(n == 0, 1, my(A = valuation(n, 2), B = n\2^(A+1)); sum(j=0, A, binomial(A+1, j)*b(2^j*B)))
a1(n) = {my(n = 2*n, A = 1, v1, v2, v3); v1 = [];
for(i=0, logint(n, 2),
if(bittest(n, i) == bittest(n, i+1), A++,
v1 = concat(v1, A); A = 1));
v1 = Vecrev(v1);
for(i=2, #v1/2, v1[2*i] += v1[2*(i-1)]);
v2 = vector(v1[#v1], i, 1); v3 = v2;
for(i=1, #v1/2,
A = if(i==1, 0, v1[2*(i-1)]);
for(j=1, v1[2*i-1],
for(k=A+1, #v2,
v3[k] = sum(q=1, k-A, v2[q+A]));
v2 = v3));
v2[#v2]}
b1(n) = {my(n = 2*n, A = 1, v1, v2, v3); v1 = [];
for(i=0, logint(n, 2),
if(bittest(n, i) == bittest(n, i+1), A++,
v1 = concat(v1, A); A = 1));
v1 = Vecrev(v1);
for(i=2, #v1/2, v1[2*i] += v1[2*(i-1)]);
v2 = vector(v1[#v1], i, 1); v3 = v2;
v4 = vector(#v2+1, i,
vector(i, j, j == 1 || j == i));
for(i=3, #v4, for(j=2, i-1,
v4[i][j] = v4[i-1][j] + v4[i-1][j-1]));
for(i=1, #v1/2,
A = if(i == 1, 0, v1[2*(i-1)]);
for(j=1, v1[2*i-1],
for(k=A+1, #v2,
v3[k] = sum(q=1, k-A, v4[k - A + 1][q]*v2[q+A]));
v2 = v3));
v2[#v2]}
test1(n) = a1(n) == a(n)
test2(n) = b1(n) == b(n)
Is there a way to prove it?