A general-purpose graphics processing unit comprising: a dynamic precision floating-point unit including a control unit having precision tracking hardware logic to track an available number of bits of precision for computed data relative to a target precision, wherein the dynamic precision floating-point unit includes computational logic to output data at multiple precisions, characterized in that the dynamic precision floating-point unit includes: a set of registers to store input data and intermediate data at multiple precisions, a significand block to perform a significand portion of a floating-point computation, the significand block including a dynamic precision adder configurable to add or subtract input data at multiple precisions, and an exponent block to perform an exponent portion of a floating-point computation, the exponent block including a dynamic precision adder configurable to add or subtract exponents of input data at multiple precisions, wherein the exponent block and the significand block are to perform a first floating-point operation to output a first output value having 16-bits of precision, wherein the exponent block and the significand block are to perform a second operation to output a second output value having 32-bits of precision, and wherein the exponent block and the significand block are to perform a third floating point operation on input data having 32-bit values to output a third output value having a 32-bit data type, the third output value generated at 16-bits of precision. a dynamic precision floating-point unit including a control unit having precision tracking hardware logic to track an available number of bits of precision for computed data relative to a target precision, wherein the dynamic precision floating-point unit includes computational logic to output data at multiple precisions, characterized in that the dynamic precision floating-point unit includes: a set of registers to store input data and intermediate data at multiple precisions, a significand block to perform a significand portion of a floating-point computation, the significand block including a dynamic precision adder configurable to add or subtract input data at multiple precisions, and an exponent block to perform an exponent portion of a floating-point computation, the exponent block including a dynamic precision adder configurable to add or subtract exponents of input data at multiple precisions, wherein the exponent block and the significand block are to perform a first floating-point operation to output a first output value having 16-bits of precision, wherein the exponent block and the significand block are to perform a second operation to output a second output value having 32-bits of precision, and wherein the exponent block and the significand block are to perform a third floating point operation on input data having 32-bit values to output a third output value having a 32-bit data type, the third output value generated at 16-bits of precision. a set of registers to store input data and intermediate data at multiple precisions, a significand block to perform a significand portion of a floating-point computation, the significand block including a dynamic precision adder configurable to add or subtract input data at multiple precisions, and an exponent block to perform an exponent portion of a floating-point computation, the exponent block including a dynamic precision adder configurable to add or subtract exponents of input data at multiple precisions, wherein the exponent block and the significand block are to perform a first floating-point operation to output a first output value having 16-bits of precision, wherein the exponent block and the significand block are to perform a second operation to output a second output value having 32-bits of precision, and wherein the exponent block and the significand block are to perform a third floating point operation on input data having 32-bit values to output a third output value having a 32-bit data type, the third output value generated at 16-bits of precision.