// File: /workspace/github_cpp_makefile_star2_O2/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 (%rsi), %r14
movq 0x8(%rsi), %r15
xorl %r12d, %r12d
cmpq %r12, %r15
je 0x7b50
movsbl (%r14,%r12), %edi
callq 0x33d0
movb %al, (%r14,%r12)
incq %r12
jmp 0x7b38
leaq 0xa902(%rip), %rsi      # 0x12459
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7b6a
pushq $0x1
jmp 0x7dfa
leaq 0xa8ee(%rip), %rsi      # 0x1245f
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7b84
pushq $0x2
jmp 0x7dfa
leaq 0xa8da(%rip), %rsi      # 0x12465
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7b9e
pushq $0x3
jmp 0x7dfa
leaq 0xa8c6(%rip), %rsi      # 0x1246b
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7bb8
pushq $0x4
jmp 0x7dfa
leaq 0xa8b2(%rip), %rsi      # 0x12471
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7bd2
pushq $0x5
jmp 0x7dfa
leaq 0xa89e(%rip), %rsi      # 0x12477
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7bec
pushq $0x6
jmp 0x7dfa
leaq 0xa88a(%rip), %rsi      # 0x1247d
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7c06
pushq $0x7
jmp 0x7dfa
leaq 0xa876(%rip), %rsi      # 0x12483
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7c20
pushq $0x8
jmp 0x7dfa
leaq 0xa862(%rip), %rsi      # 0x12489
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7c3a
pushq $0x9
jmp 0x7dfa
leaq 0xa84e(%rip), %rsi      # 0x1248f
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7c54
pushq $0xa
jmp 0x7dfa
leaq 0xa83a(%rip), %rsi      # 0x12495
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7c6e
pushq $0xb
jmp 0x7dfa
leaq 0xa826(%rip), %rsi      # 0x1249b
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7c88
pushq $0xc
jmp 0x7dfa
leaq 0xa812(%rip), %rsi      # 0x124a1
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7ca2
pushq $0xd
jmp 0x7dfa
leaq 0xa7fe(%rip), %rsi      # 0x124a7
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7cbc
pushq $0xe
jmp 0x7dfa
leaq 0xa7ea(%rip), %rsi      # 0x124ad
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7cd6
pushq $0xf
jmp 0x7dfa
leaq 0xa7d6(%rip), %rsi      # 0x124b3
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7cf0
pushq $0x10
jmp 0x7dfa
leaq 0xa7c2(%rip), %rsi      # 0x124b9
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7d0a
pushq $0x11
jmp 0x7dfa
leaq 0xa7ae(%rip), %rsi      # 0x124bf
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7d24
pushq $0x12
jmp 0x7dfa
leaq 0xa79a(%rip), %rsi      # 0x124c5
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7d3e
pushq $0x13
jmp 0x7dfa
leaq 0xa786(%rip), %rsi      # 0x124cb
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7d58
pushq $0x14
jmp 0x7dfa
leaq 0xa772(%rip), %rsi      # 0x124d1
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7d72
pushq $0x15
jmp 0x7dfa
leaq 0xa75e(%rip), %rsi      # 0x124d7
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7d89
pushq $0x16
jmp 0x7dfa
leaq 0xa74d(%rip), %rsi      # 0x124dd
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7da0
pushq $0x17
jmp 0x7dfa
leaq 0xa73c(%rip), %rsi      # 0x124e3
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7db7
pushq $0x18
jmp 0x7dfa
leaq 0xa72b(%rip), %rsi      # 0x124e9
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7dce
pushq $0x19
jmp 0x7dfa
leaq 0xa71a(%rip), %rsi      # 0x124ef
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7de5
pushq $0x1a
jmp 0x7dfa
leaq 0xa709(%rip), %rsi      # 0x124f5
movq %rbx, %rdi
callq 0x6261
testb %al, %al
je 0x7e04
pushq $0x1b
popq %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa6f0(%rip), %rsi      # 0x124fb
movq %rbx, %rdi
callq 0x6261
movzbl %al, %eax
decl %eax
orl $0x1c, %eax
jmp 0x7dfb
nop