anchor.diff:  inner_loop(T, {A,B,C,D,E}, Ws) ->
   	Temp = add([rotl(5, A), f(T, B,C,D), E, nth(1+T, Ws), k(T)]),
   	inner_loop(T+1, {Temp, A, rotl(30, B), C, D}, Ws).
  -	
  +
  
positive.code: f(T, B,C,D) when 20 =< T, T =< 39 -> B bxor C bxor D;
  f(T, B,C,D) when 40 =< T, T =< 59 -> (B band C) bor (B band D) bor (C band D);
  f(T, B,C,D) when 60 =< T, T =< 79 -> B bxor C bxor D.
   
  %% rotates S bytes to the left on 32 bits
  rotl(S, Num) ->
  	Max = 16#ffffffff,
  
negative.code: 
  compute(<<Bin:512, Other/binary>>, I, {H0,H1,H2,H3,H4} = Hs) ->
  	W0_15 = compute_ws(<<Bin:512>>),
  	Ws = compute_wt(W0_15),
  	{A,B,C,D,E} = inner_loop(0, Hs, Ws),
  	compute(Other, I-1, {add([H0,A]), add([H1,B]), add([H2,C]),
  		add([H3,D]),add([H4,E])}).
  