does the trick... at nearly 1/3rd the speed.
Compared to what? I kinda lost you there.

Hammer's algorithm is faster (constant-time), as it takes advantage of the fact that edge numbers appear exactly half as often. Here's the r2 alias that implements this algorithm:

alias r2 if $rand($1,$calc($2 + 1)) <= $2 { return $ifmatch } | return $1

Your method could fix any edge-numbers problem, this one can only fix the current $rand().