Improvement of efficiency in generating random $U(1)$ variables with   Boltzmann distribution
  A method for generating random $U(1)$ variables with Boltzmann distribution is presented. It is based on the rejection method with transformation of variables. High efficiency is achieved for all range of temparatures or coupling parameters, which makes the present method especially suitable for parallel and pipeline vector processing machines. Results of computer runs are presented to illustrate the efficiency. An idea to find such algorithms is also presented, which may be applicable to other distributions of interest in Monte Carlo simulations. 
Tetsuya Hattori and Hideo Nakajima