1. proposal is a standard implementation. 2. proposal_without_permute is modified according to proposal, but moving the permute operation from the proposal to the first segment of nnie.