code: func removeInt64Factors(value int64, base int64) (result int64, times int32) {
  	times = 0
  	result = value
  	negative := result < 0
  	if negative {
  		result = -result
  	}
  	switch base {
  	// allow the compiler to optimize the common cases
  	case 10:
  		for result >= 10 && result%10 == 0 {
  			times++
  			result = result / 10
  		}
  	// allow the compiler to optimize the common cases
  	case 1024:
  		for result >= 1024 && result%1024 == 0 {
  			times++
  			result = result / 1024
  		}
  	default:
  		for result >= base && result%base == 0 {
  			times++
  			result = result / base
  		}
  	}
  	if negative {
  		result = -result
  	}
  	return result, times
  }
docs: // removeInt64Factors divides in a loop; the return values have the property that
  // value == result * base ^ scale