__forceinline void alwm(int gg[][11][11],int sor[11][11])
{
int af=0;
gg[0][0][0]=0;
if (sor[1][1]!=15) sor[10][3]=1;
if (sor[8][1]!=15) sor[10][4]=1;
for (int s1=1;s1<9;s1++)
for (int s2=1;s2<9;s2++)
{
if (sor[s1][s2]!=0)
{
switch (sor[s1][s2])
{
case 3:
wp(gg,s1,s2,sor,af);
break;
case 9:
wn(gg,s1,s2,sor,af);
break;
case 12:
wb(gg,s1,s2,sor,af);
break;
case 15:
wr(gg,s1,s2,sor,af);
break;
case 27:
wq(gg,s1,s2,sor,af);
break;
case 126:
wk(gg,s1,s2,sor,af);
break;
}
}
af=gg[0][0][0];
}
wlok(gg,sor,af);
af=gg[0][0][0];
wrok(gg,sor,af);
af=gg[0][0][0];
return;
}

__forceinline void albm(int gg[][11][11],int sor[11][11])
{
int af=0;
gg[0][0][0]=0;
if (sor[1][8]!=-15) sor[10][5]=1;
if (sor[8][8]!=-15) sor[10][6]=1;
for (int s1=1;s1<9;s1++)
for (int s2=1;s2<9;s2++)
{
switch (sor[s1][s2])
{
case -3:
bp(gg,s1,s2,sor,af);
break;
case -9:
bn(gg,s1,s2,sor,af);
break;
case -12:
bb(gg,s1,s2,sor,af);
break;
case -15:
br(gg,s1,s2,sor,af);
break;
case -27:
bq(gg,s1,s2,sor,af);
break;
case -126:
bk(gg,s1,s2,sor,af);
break;
}
af=gg[0][0][0];
}
blok(gg,sor,af);
af=gg[0][0][0];
brok(gg,sor,af);
af=gg[0][0][0];
return;
}

در ضمن من همه ی تابع هاشو __forceinline کردم