  The reachability problem in vector addition systems is a central question,
not only for the static verification of these systems, but also for many
inter-reducible decision problems occurring in various fields. The currently
best known upper bound on this problem is not primitive-recursive, even when
considering systems of fixed dimension. We provide significant refinements to
the classical decomposition algorithm of Mayr, Kosaraju, and Lambert and to its
termination proof, which yield an ACKERMANN upper bound in the general case,
and primitive-recursive upper bounds in fixed dimension. While this does not
match the currently best known TOWER lower bound for reachability, it is
optimal for related problems.
