convert time as an int64_t then check bounds and convert to ulong, instead of trying to stay in bounds of long long during the calculations
convert time as an int64_t then check bounds and convert to ulong, instead of trying to stay in bounds of long long during the calculations

rhansen/rpstir,rhansen/rpstir,rhansen/rpstir,rhansen/rpstir,rhansen/rpstir