anchor.diff:      (SipHash bsl 1) bor UOrV.
   
   check_cycle(Nodes0) ->
  -  Nodes = lists:keysort(2, Nodes0),
  -  {Evens0, Odds} = lists:unzip(Nodes),
  -  Evens  = lists:sort(Evens0), %% Odd nodes are already sorted...
  -  UEvens = lists:usort(Evens),
  -  UOdds  = lists:usort(Odds),
  -  %% Check that all nodes appear exactly twice (i.e. each node has
  -  %% exactly two edges).
  -  case length(UEvens) == (?PROOFSIZE div 2) andalso
  -        length(UOdds) == (?PROOFSIZE div 2) andalso
  -        UOdds == Odds -- UOdds andalso UEvens == Evens -- UEvens of
  -      false ->
  -          {error, ?POW_BRANCH};
  -      true  ->
  -          [{X0, Y0}, {X1, Y0} | Nodes1] = Nodes,
  -          check_cycle(X0, X1, Nodes1)
  -  end.
  +    Nodes = lists:keysort(2, Nodes0),
  +    {Evens0, Odds} = lists:unzip(Nodes),
  +    Evens  = lists:sort(Evens0), %% Odd nodes are already sorted...
  +    UEvens = lists:usort(Evens),
  +    UOdds  = lists:usort(Odds),
  +    %% Check that all nodes appear exactly twice (i.e. each node has
  +    %% exactly two edges).
  +    case length(UEvens) == (?PROOFSIZE div 2) andalso
  +         length(UOdds) == (?PROOFSIZE div 2) andalso
  +         UOdds == Odds -- UOdds andalso UEvens == Evens -- UEvens of
  +        false ->
  +            {error, ?POW_BRANCH};
  +        true  ->
  +            [{X0, Y0}, {X1, Y0} | Nodes1] = Nodes,
  +            check_cycle(X0, X1, Nodes1)
  +    end.
   
   %% If we reach the end in the last step everything is fine
   check_cycle(X, X, []) ->
  
positive.code:         end
      catch
          throw:{error, Reason} ->
              epoch_pow_cuckoo:info("Proof verification failed for ~p: ~p", [Solution, Reason]),
              false
      end.
  
  
negative.code:                                    buffer = [],
                                     parser = fun parse_generation_result/2,
                                     target = Target});
          {error, _} = E ->
              E
      catch
          C:E ->
  