JavaScript (Node.js), 47 bytes, \$O\left(n^{\log_2\frac{1+\sqrt 5}2}\right)\$
f=n=>n+1>>1?[f(n>>2)[0]*2|n&1,f(n>>1)[0]]:[n,n]
JavaScript (Node.js), 48 bytes
f=n=>n+1>>1?f(n>>2).map((c,i)=>c*2|n>>i&1):[n,n]
f=n=>n+1>>1?[f(n>>2)[0]*2|n&1,f(n>>1)[0]]:[n,n]
f=n=>n+1>>1?f(n>>2).map((c,i)=>c*2|n>>i&1):[n,n]