1. A method comprising: receiving a stream of data from a processing pipeline with an adaptive multi-shader that includes high-precision arithmetic logic units (ALUs) and low-precision ALUs; determining the type of the data included in the received stream; and processing the data using one or more of the high-precision ALUs and the low-precision ALUs based on the type of the data.