anchor.diff:  C       require up to 25 calls to ran1.
           x=0. 
           do 11 j=1,n 
  -          call random_number(rn)
  +!           call random_number(rn)
  +          rn = rand()
             if(rn.lt.p) x=x+1. 
      11   enddo 
         else if (am.lt.1.) then 
  
positive.code:       DOUBLE PRECISION X, Y, S, ONE, TWO
        DATA ONE /1.0/, TWO /2.0/
  C
      1 call random_number(x)
        call random_number(y)
        X = TWO * X - ONE
        Y = TWO * Y - ONE
        S = X * X + Y * Y
  
negative.code:         sq=sqrt(2.*am*pc) 
  C       The following code should by now seem familiar: rejection 
  C       method with a Lorentzian comparison function.
  !         call random_number(rn)
            rn = rand()
      2   y=tan(PI*rn) 
          em=sq*y+am 
  C       Reject.
  