Let $X_0,X_1,X_2,\dots$ be the simple random walk, i.e., $X_0=0$ and each $X_{t+1}$ is sampled uniformly at random from $X_t-1,X_t+1$ independently of everything else.
Given a very large $t$, I want to efficiently sample from the distribution of $X_t$. I am OK with an approximate algorithm, i.e., where the distribution of the output from the algorithm is close to the true distribution of $X_t$.
Is there an efficient algorithm for this? "Efficient" means the running time should be something like $\log t$ rather than something like $t$ steps of computation.
One approach I know of is to efficiently sample from the normal distribution $\mathcal{N}(0,t)$ (e.g., using the Box-Muller transform), then round to the nearest odd/even integer. Is there a better method? "Better" could mean a tighter approximation.
Equivalently, I want to efficiently approximate sampling from the binomial distribution Binomial($t$,$1/2$).