anchor.diff:      DFunc = << <<" : func " >>/binary, Func/binary, <<" ; 
   		 :b ">>/binary >>,
       C = hash:doit(compile(Func)),
  -    CC = base64:encode(C),
       Sig2 = base64:encode(sign:sign(C, Priv)),
       D = compile(<< DFunc/binary,  Sig2/binary,  
    <<" func dup tuck :b ">>/binary, EPub/binary,
  
positive.code:     Acode = << <<"
  	 :b YWJj
  	 :b ">>/binary, EPub/binary,
  		   <<" verify_sig
  ">>/binary >>,
      A = compile(Acode),
      Sig = sign:sign(<<"abc">>, Priv),
      [true] = language:run([Sig|A], 1000),
      B = compile(<< Acode/binary, <<" rot ">>/binary, Acode/binary, <<" rot ">>/binary, Acode/binary, <<"
  rot if :i 3 else :i 0 then 
  rot if :i 3 else :i 0 then 
  rot if :i 2 else :i 0 then 
  + + :i 6 >
         ">>/binary >>),
      [true] = language:run([Sig|[Sig|[Sig|B]]], 1000),
  %This is for commit reveal. The nonce for they are required to include, which is custom for this round. it is a very big random number, to avoid collisions, is 1337
  %The number they committed to in secret is 1.
  %Calling the function with an input of 0 must result in the secret. Callint it with a 1 must result in the big random number.
  
negative.code: -export([compile/1, test/0]).
  
  compile(B) ->
      Words = to_words(<<B/binary, " ">>, <<>>, []),
      Functions = get_functions(Words),
      AWords = remove_after_define(Words),
  