// File: /workspace/github_cpp_makefile_star2_O1/Doug0855[P]TigerZone/Adapter.cpp
// Function: Adapter::exprToTile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
int Adapter::exprToTile(std::string &expr)
{
	transform(expr.begin(), expr.end(), expr.begin(), toupper);
	if (expr == "JJJJ-")
	{
		return 1;
	}
	if (expr == "JJJJX")
	{
		return 2;
	}
	if (expr == "JJTJX")
	{
		return 3;
	}
	if (expr == "TTTT-")
	{
		return 4;
	}
	if (expr == "TJTJ-")
	{
		return 5;
	}
	if (expr == "TJJT-")
	{
		return 6;
	}
	if (expr == "TJTT-")
	{
		return 7;
	}
	if (expr == "LLLL-")
	{
		return 8;
	}
	if (expr == "JLLL-")
	{
		return 9;
	}
	if (expr == "LLJJ-")
	{
		return 10;
	}
	if (expr == "JLJL-")
	{
		return 11;
	}
	if (expr == "LJLJ-")
	{
		return 12;
	}
	if (expr == "LJJJ-")
	{
		return 13;
	}
	if (expr == "JLLJ-")
	{
		return 14;
	}
	if (expr == "TLJT-")
	{
		return 15;
	}
	if (expr == "TLJTP")
	{
		return 16;
	}
	if (expr == "JLTT-")
	{
		return 17;
	}
	if (expr == "JLTTB")
	{
		return 18;
	}
	if (expr == "TLTJ-")
	{
		return 19;
	}
	if (expr == "TLTJD")
	{
		return 20;
	}
	if (expr == "TLLL-")
	{
		return 21;
	}
	if (expr == "TLTT-")
	{
		return 22;
	}
	if (expr == "TLTTP")
	{
		return 23;
	}
	if (expr == "TLLT-")
	{
		return 24;
	}
	if (expr == "TLLTB")
	{
		return 25;
	}
	if (expr == "LJTJ-")
	{
		return 26;
	}
	if (expr == "LJTJD")
	{
		return 27;
	}
	if (expr == "TLLLC")
	{
		return 28;
	}
	return -1;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %rbx
movq 0x8(%rsi), %r14
testq %r14, %r14
je 0xa5ed
movq (%rbx), %r15
xorl %r12d, %r12d
movsbl (%r15,%r12), %edi
callq 0x3410
movb %al, (%r15,%r12)
incq %r12
cmpq %r12, %r14
jne 0xa5d7
leaq 0xdeb5(%rip), %rsi      # 0x184a9
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa879
leaq 0xdea4(%rip), %rsi      # 0x184af
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa883
leaq 0xde93(%rip), %rsi      # 0x184b5
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa88d
leaq 0xde82(%rip), %rsi      # 0x184bb
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa897
leaq 0xde71(%rip), %rsi      # 0x184c1
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8a1
leaq 0xde60(%rip), %rsi      # 0x184c7
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8ab
leaq 0xde4f(%rip), %rsi      # 0x184cd
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8b5
leaq 0xde3e(%rip), %rsi      # 0x184d3
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8bf
leaq 0xde2d(%rip), %rsi      # 0x184d9
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8c9
leaq 0xde1c(%rip), %rsi      # 0x184df
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8d0
leaq 0xde0b(%rip), %rsi      # 0x184e5
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8d7
leaq 0xddfa(%rip), %rsi      # 0x184eb
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8de
leaq 0xdde9(%rip), %rsi      # 0x184f1
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8e5
leaq 0xddd8(%rip), %rsi      # 0x184f7
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8ec
leaq 0xddc7(%rip), %rsi      # 0x184fd
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8f3
leaq 0xddb6(%rip), %rsi      # 0x18503
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa8fa
leaq 0xdda5(%rip), %rsi      # 0x18509
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa901
leaq 0xdd94(%rip), %rsi      # 0x1850f
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa908
leaq 0xdd83(%rip), %rsi      # 0x18515
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa90f
leaq 0xdd72(%rip), %rsi      # 0x1851b
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa916
leaq 0xdd61(%rip), %rsi      # 0x18521
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa91d
leaq 0xdd50(%rip), %rsi      # 0x18527
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa924
leaq 0xdd3f(%rip), %rsi      # 0x1852d
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa92b
leaq 0xdd2e(%rip), %rsi      # 0x18533
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa932
leaq 0xdd1d(%rip), %rsi      # 0x18539
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa939
leaq 0xdd0c(%rip), %rsi      # 0x1853f
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa940
leaq 0xdcfb(%rip), %rsi      # 0x18545
movq %rbx, %rdi
callq 0x30b0
testl %eax, %eax
je 0xa947
leaq 0xdcea(%rip), %rsi      # 0x1854b
movq %rbx, %rdi
callq 0x30b0
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
orl $0x1c, %eax
jmp 0xa94c
movl $0x1, %eax
jmp 0xa94c
movl $0x2, %eax
jmp 0xa94c
movl $0x3, %eax
jmp 0xa94c
movl $0x4, %eax
jmp 0xa94c
movl $0x5, %eax
jmp 0xa94c
movl $0x6, %eax
jmp 0xa94c
movl $0x7, %eax
jmp 0xa94c
movl $0x8, %eax
jmp 0xa94c
movl $0x9, %eax
jmp 0xa94c
movl $0xa, %eax
jmp 0xa94c
movl $0xb, %eax
jmp 0xa94c
movl $0xc, %eax
jmp 0xa94c
movl $0xd, %eax
jmp 0xa94c
movl $0xe, %eax
jmp 0xa94c
movl $0xf, %eax
jmp 0xa94c
movl $0x10, %eax
jmp 0xa94c
movl $0x11, %eax
jmp 0xa94c
movl $0x12, %eax
jmp 0xa94c
movl $0x13, %eax
jmp 0xa94c
movl $0x14, %eax
jmp 0xa94c
movl $0x15, %eax
jmp 0xa94c
movl $0x16, %eax
jmp 0xa94c
movl $0x17, %eax
jmp 0xa94c
movl $0x18, %eax
jmp 0xa94c
movl $0x19, %eax
jmp 0xa94c
movl $0x1a, %eax
jmp 0xa94c
movl $0x1b, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop