We obtain absolute value maps describing variable values at every program point in two passes, as a region-based data-flow analysis. A bottom-up pass through the program derives the transfer function for each region, as a relative value map that describes variable values at each immediate subregion in terms of entry variable values. A subsequent top-down pass through the program propagates to each region a symbolic context, an absolute map describing actual variable values on region entry in terms of enclosing loop indices and invariants.