-1, and therefore has twice the range of rand(3) and random(3). The arc4random_stir function reads data from /dev/urandom and uses it to permute the S-Boxes via arc4random_addrandom.
There is no need to call arc4random_stir before using arc4random, since arc4random automatically initializes itself.