Turns out the code is much faster when xi is small (since the devroye method iterates over counts as opposed to up to truncation)