code: function decodeHalf (u16) {
      var exponent = (u16 & 0x7C00) >> 10,
          fraction = u16 & 0x03FF;
      return (u16 >> 15 ? -1 : 1) * (
          exponent ?
          (
              exponent === 0x1F ?
              fraction ? NaN : Infinity :
              Math.pow(2, exponent - 15) * (1 + fraction / 0x400)
          ) :
          6.103515625e-5 * (fraction / 0x400)
      );
  }
docs: http://stackoverflow.com/questions/5678432/decompressing-half-precision-floats-in-javascript