Why does SetActorLocation sometimes double the position vector?

Correct marked lines of code.

FVector AHexGrid::GetHexPosition(int32 x, int32 y, float cornerRadius)
    {
    FVector position;
    position.X = x  cornerRadius  1.5f;   ////fix this line
    position.Y = (y  2 + x)  cornerRadius * 0.866f;  ////fix this line
    position.Z = 0;
    return position;
    }