Your skill will accomplish what the force of many cannot 

PerlMonks 
Re: computational efficiencyby moritz (Cardinal) 
on Oct 05, 2011 at 10:01 UTC ( #929746=note: print w/replies, xml )  Need Help?? 
First focus on which one is correct. $cosine = sqrt(1  $sine**2) will only give you nonnegative $cosine values, so that solution will only cover 2 of four possible quandrants.
In cases involving random numbers, it helps to know the theory of how probability density functions are transformed; if you don't want to learn the theory, at least create a few hundred or thousand random points with each method you consider, and plot them in some way  either in a histogram, or in a density plot or so. That way you have a chance to see if the resulting distribution is what you want. MJD #11963, It's easy to get the *wrong* answer in O(1) time.
In Section
Seekers of Perl Wisdom

