I'm going through the Regev's factorisation algorithm, and I don't understand how, for the Gaussian state preparation, he achieves a complexity of $d(\log D+ \text{poly}(\log d))$.
He says:
"the $\text{poly}(\log d)$ term is for computing the rotation needed for each of the $O(\log d)$ most significant qubits"
But by using the method described in the referred Grover-Rodolph's paper, as I understand it, you'd need to do $O(2^n)$ controlled rotation (by recursively doing it for each of the $2^n$ possible states spanned by the $n$ qubits).
So even by only considering the $\log(d)$ most significant qubits, I get $O(2^{\log(d)}) = O(d)$. Therefore, I have that we need $\text{poly}(d)$ gates for the controlled rotation and not $\text{poly}(\log(d))$.
I guess I'm missing some optimisation somewhere. Even by using the symmetry of Gaussian, we cannot improve the asymptotic complexity.
Can you please enlighten me?