anchor.diff:  
     call dealloc(rndVals,   "rndVals")
     call dealloc(hasProc,   "hasProc")
  -  call dealloc(pLost,     "pLost")
     call dealloc(pScattered,"pScattered")
     call dealloc(nLost,     "nLost")
     call dealloc(nScattered,"nScattered")
  
positive.code:   call recuin(scatter_seed1,scatter_seed2)
  
    call alloc(rndVals,   napx*3,             zero,   "rndVals")
    call alloc(pLost,     napx,               .false.,"pLost")
    call alloc(pScattered,napx,               .false.,"pScattered")
    call alloc(hasProc,   nGen,scatter_nProc, .false.,"hasProc")
    call alloc(nLost,     nGen,scatter_nProc, 0,      "nLost")
  
negative.code:     if(scatter_allowLosses .and. iLost == 1) then
        ! If lost, flag it, count it, but no need to update energy and angle
        nLost(iGen,procID) = nLost(iGen,procID) + 1
        llostp(j) = .true.
        phi       = zero
      else
        ! Calculate new energy, and scattering angle assuming energy >> mass
        if(abs(dPP) >= pieni) then
  