code: function pow32(mantissa, exponent) {
          var whole, fraction, expansion;
          exponent = parseInt(exponent, 32);
          if (exponent < 0) {
              return roundToPrecision(
                  parseInt(mantissa, 32) * Math.pow(32, exponent - 10)
              );
          }
          else {
              if (exponent < 11) {
                  whole = mantissa.slice(0, exponent);
                  whole = parseInt(whole, 32);
                  fraction = mantissa.slice(exponent);
                  fraction = parseInt(fraction, 32) * Math.pow(32, exponent - 11);
                  return roundToPrecision(whole + fraction);
              }
              else {
                  expansion = mantissa + zeros(exponent - 11);
                  return parseInt(expansion, 32);
              }
          }
      }
docs: Base-32 power function.
  RESEARCH: This function does not precisely decode floats because it performs
  floating point arithmetic to recover values. But can the original values be
  recovered exactly?
  Someone may have already figured out a good way to store JavaScript floats as
  binary strings and convert back. Barring a better method, however, one route
  may be to generate decimal strings that `parseFloat` decodes predictably.
  @param {string}
  @param {string}
  @return {number}