anchor.diff:      Size = Unit * Column,
       <<<<(inner_zipwith(fun (ValueA, ValueB) -> 
                                  ValueA - ValueB
  -                       end, Unit, <<BinRow:Size>>, BinMin))/bits>> 
  -      || <<BinRow:Size>> <= Bin>>.
  +                       end, Unit, BinRow, BinMin))/bits>> 
  +      || <<BinRow:Size/bits>> <= Bin>>.
   
   %% -spec inner_min_max_of_lists(list()) ->
   %%                                     {pos_integer(), pos_integer()}.
  
positive.code:                        bitstring().
  inner_min(Column, Unit, Bin) ->
      Size = Unit * Column,
      <<BinMin:Size, Tail/bits>> = Bin,
      inner_min(Column, Unit, <<BinMin:Size>>, Tail).
  
  inner_min(_Column, _Unit, BinMin, <<>>) ->
      BinMin;
  inner_min(Column, Unit, BinMin, Bin) ->
      Size = Unit * Column,
      <<BinMin2:Size, Tail/bits>> = Bin,
      inner_min(
        Column, Unit, 
        inner_zipwith(fun erlang:min/2, Unit, BinMin, <<BinMin2:Size>>), Tail).
  
  -spec inner_min(Unit :: pos_integer(), BinData :: bitstring()) ->
                         pos_integer().
  
negative.code:     <<>>;
  inner_row_hungarian_reduction(Column, Unit, Bin) ->
      Size = Unit * Column,
      <<BinRow:Size/bits, Tail/bits>> = Bin,
      <<(inner_row_hungarian_reduction(Unit, BinRow))/bits, 
        (inner_row_hungarian_reduction(Column, Unit, Tail))/bits>>.
  
  %% @doc column reduction for hungarian
  