anchor.diff:      ! sample outgoing energy
       if (law == 44 .or. law == 61) then
          call sample_energy(rxn%edist, E_in, E, mu)
  +    elseif (law == 66) then
  +       call sample_energy(rxn%edist, E_in, E, A=A, Q=Q)
       else
          call sample_energy(rxn%edist, E_in, E)
       end if
  
positive.code:        end if
  
         ! determine outgoing energy bin
         xi1 = rang()
         loc = loc + 2 ! start of EOUT
         c_k = edist % data(loc + 2*NP + 1)
         do k = 1, NP-1
            c_k1 = edist % data(loc + 2*NP + k+1)
            if (xi1 < c_k1) exit
            c_k = c_k1
         end do
  
  
negative.code: 
      real(8) :: c
  
      c = -4.*D_avg*D_avg/PI * log(rang())
      D = sqrt(c)
  
    end function wigner
  