  We study the Gross-Pitaevskii equation with a slowly varying smooth
potential, $V(x) = W(hx)$. We show that up to time $\log(1/h)/h $ and errors of
size $h^2$ in $H^1$, the solution is a soliton evolving according to the
classical dynamics of a natural effective Hamiltonian, $ (\xi^2 + \sech^2 * V
(x))/2 $. This provides an improvement ($ h \to h^2 $) compared to previous
works, and is strikingly confirmed by numerical simulations.
