Driven primarily by the needs of multimedia, a number of recent processors have instructions which operate in a SIMD fashion on multiple data values packed into a single machine word. Here we outline techniques which could be used by a compiler or interactive programming tool to calculate the sizes of such data to take advantage of the available packed instruction sets. In our results we show three examples of programs in which variables and intermediate results have been automatically calculated by the compiler front-end. The compiler successfully deduces minimal intermediate ranges and results in all cases. In our colour conversion program, for example, the intermediate results are deduced to be 24 bits, with a 16 bit fractional part.