I suggest to reduce the # of calls to `toLong` instead of increasing it by surrounding everything between parenthesis:
```scala
(math.pow(2, retryCount) * (1000 / context.throttleRate) +  // Exponentially increasing factor
(ExpectedUnavailableTimeInMs * util.Random.nextFloat())).toLong
```