code: func floatToString(value float64, bitsize int) string {
  	// TODO Fit to ECMA-262 9.8.1 specification
  	if math.IsNaN(value) {
  		return "NaN"
  	} else if math.IsInf(value, 0) {
  		if math.Signbit(value) {
  			return "-Infinity"
  		}
  		return "Infinity"
  	}
  	exponent := math.Log10(math.Abs(value))
  	if exponent >= 21 || exponent < -6 {
  		return matchLeading0Exponent.ReplaceAllString(strconv.FormatFloat(value, 'g', -1, bitsize), "$1$2")
  	}
  	return strconv.FormatFloat(value, 'f', -1, bitsize)
  }
docs: // FIXME
  // https://code.google.com/p/v8/source/browse/branches/bleeding_edge/src/conversions.cc?spec=svn18082&r=18082