anchor.diff:  var
     LA, LB, LC, LD: UInt32;
   begin
  -  // APtrState[A] := APtrState[A] + APtrState[B] + X;
  -  // APtrState[D] := TBits.RotateRight32(APtrState[D] xor APtrState[A], 16);
  -  // APtrState[C] := APtrState[C] + APtrState[D];
  -  // APtrState[B] := TBits.RotateRight32(APtrState[B] xor APtrState[C], 12);
  -  // APtrState[A] := APtrState[A] + APtrState[B] + Y;
  -  // APtrState[D] := TBits.RotateRight32(APtrState[D] xor APtrState[A], 8);
  -  // APtrState[C] := APtrState[C] + APtrState[D];
  -  // APtrState[B] := TBits.RotateRight32(APtrState[B] xor APtrState[C], 7);
   
     LA := APtrState[A];
     LB := APtrState[B];
  
positive.code:   LCount: Int32;
    LPtrCV: PCardinal;
  begin
    // LPtrAData := PByte(AData);
    LPtrAData := PByte(AData) + AIndex;
    System.SetLength(LCV, 8);
    LPtrCV := PCardinal(LCV);
  
negative.code: {$ENDIF FPC}
  end;
  
  constructor TBlake3.CreateInternal(AHashSize: Int32;
    const AKeyWords: THashLibUInt32Array; AFlags: UInt32);
  var
  