anchor.diff:        end,
         TargetVecs).
   
  -m3gzcmp_modulars_vec(PVec, PPL, NegVecs, NegPLs) ->
  +m3gzcmp_modules_vec(PVec, PPL, NegVecs, NegPLs) ->
       unzip_fst(
         lists:filter(
           fun ({_, {NVec, NPL}}) ->
  
positive.code:     PosPLs = m3gzcmp_pls(KK, NegVecs, PosVecs),
      Ms = lists:map(
             fun ({PVec, PPL}) ->
                     m3gzcmp_modulars_vec(PVec, PPL, NegVecs, NegPLs)
             end,
             lists:zip(PosVecs, PosPLs)),
      extidx(Ms).
  
negative.code: 
  % M3-GZC-MP-MR predict
  
  m3gzcmpmr_predict({N, Lambda}, Modules, TrainData, TestData) ->
      m3gzc_func(fun m3gzcmpmr_predict1/4, {N, Lambda, Modules}, TrainData, TestData).
  
  m3gzcmpmr_predict1({N, Lambda, Modules}, PosVecs, NegVecs, TestVecs) ->
      InputList = lists:map(
                    fun ({{PIdx, Ns}, PVec}) -> {PIdx, {PVec, Ns}} end,
                    lists:zip(Modules, PosVecs)),
      NegVecsArr = array:from_list(NegVecs),
      Output = mapreduce(
                 N,
  