anchor.diff:      decode_file(FileName, FileSize, ?ECODE_CLASS, ?ECODE_PARAMS).
   decode_file(FileName, FileSize, Coding, CodingParams) ->
       AvailList = check_available_blocks(FileName, 14, []),
  -%    BlockList = read_blocks(FileName, AvailList),
       BlockWithIdList = read_blocks(FileName, AvailList),
  -%    {Time, {ok, FileContent}} = timer:tc(?MODULE, decode, [BlockList, AvailList, FileSize, Coding, CodingParams]),
       {Time, {ok, FileContent}} = timer:tc(?MODULE, decode, [BlockWithIdList, FileSize, Coding, CodingParams]),
       io:format("Duration ~p~n", [Time]),
       DecodeName = FileName ++ ".dec",
  
positive.code: -export([encode_file/3,decode_file/4]).
  -export([write_blocks/3]).
  -export([encode/4, decode/4, decode/5]).
  -export([benchmark_encode/4]).
  
  -on_load(init/0).
  
negative.code: %% @doc Benchmark Encoding Speed
  %%
  -spec(benchmark_encode(TotalSizeM, ChunkSizeM, Coding, Params) ->
          {ok, atom()} when TotalSizeM::integer(),
                            ChunkSizeM::integer(),
                            Coding::atom(),
                            Params::{integer(), integer(), integer()}).
  benchmark_encode(TotalSizeM, ChunkSizeM, Coding, Params) ->
      TotalSize = TotalSizeM * 1024 * 1024,
      ChunkSize = ChunkSizeM * 1024 * 1024,
  