A computer system, comprising: a data processor and memory accessible by the data processor, the memory storing computer programs executable by the data processor, including at least one application program and a set of functions to implement operations to perform compression of data samples from a data set, the at least one application program and the set of functions including single instruction multiple data, SIMD, instructions for at least a portion of the operations to be executed by the data processor, the data processor including a set of registers; a first register (1800a-c) of the register set to store a plurality of operands corresponding to an encoding group of numerical data samples, wherein the operands in the first register (1800a-c) have an integer data format or a floating-point data format, and wherein each operand has a mantissa value and an exponent value; an exponent register of the register set, the data processor responsive to a SIMD instruction for operations to determine a maximum exponent value of the exponent values of the plurality of operands in the first register (1800a-c) and to store the maximum exponent value in the exponent register; interleaver logic to interleave bits of the operands in the first register (1800a-c) to produce a plurality of nibbles to store in a second register (1812a-b) of the register set, wherein the interleaver logic reorders the bits of the operands of the first register (1800a-c) according to a place value of the bits in respective operands so that each nibble in the second register (1812a-b) has one bit from each operand of the first register (1800a-c); a third register of the register set, the data processor responsive to a SIMD instruction for operations to select a subset of nibbles from the plurality of nibbles in the second register (1812a-b) to store in the third register, wherein a number of nibbles for the subset is based on the maximum exponent value, wherein the subset of nibbles includes interleaved bits of the mantissa values of the operands; an exponent token generator configured to encode the maximum exponent value to generate an exponent token for the encoding group; and logic to pack the interleaved bits of the mantissa values of the subset of nibbles from the third register and the exponent token to a compressed data packet, wherein the packed interleaved bits of the mantissa values represent compressed data for the encoding group of data samples. a data processor and memory accessible by the data processor, the memory storing computer programs executable by the data processor, including at least one application program and a set of functions to implement operations to perform compression of data samples from a data set, the at least one application program and the set of functions including single instruction multiple data, SIMD, instructions for at least a portion of the operations to be executed by the data processor, the data processor including a set of registers; a first register (1800a-c) of the register set to store a plurality of operands corresponding to an encoding group of numerical data samples, wherein the operands in the first register (1800a-c) have an integer data format or a floating-point data format, and wherein each operand has a mantissa value and an exponent value; an exponent register of the register set, the data processor responsive to a SIMD instruction for operations to determine a maximum exponent value of the exponent values of the plurality of operands in the first register (1800a-c) and to store the maximum exponent value in the exponent register; interleaver logic to interleave bits of the operands in the first register (1800a-c) to produce a plurality of nibbles to store in a second register (1812a-b) of the register set, wherein the interleaver logic reorders the bits of the operands of the first register (1800a-c) according to a place value of the bits in respective operands so that each nibble in the second register (1812a-b) has one bit from each operand of the first register (1800a-c); a third register of the register set, the data processor responsive to a SIMD instruction for operations to select a subset of nibbles from the plurality of nibbles in the second register (1812a-b) to store in the third register, wherein a number of nibbles for the subset is based on the maximum exponent value, wherein the subset of nibbles includes interleaved bits of the mantissa values of the operands; an exponent token generator configured to encode the maximum exponent value to generate an exponent token for the encoding group; and logic to pack the interleaved bits of the mantissa values of the subset of nibbles from the third register and the exponent token to a compressed data packet, wherein the packed interleaved bits of the mantissa values represent compressed data for the encoding group of data samples.