// File: tewalds[P]morat/lib/outcome.cpp
// Function: Morat::Outcome::to_s_rel[abi:cxx11](Morat::Side) const
std::string Outcome::to_s_rel(Side to_play) const {
	if(*this == Outcome::DRAW)  return "draw";
	if(*this == Outcome::DRAW2) return "draw by simultaneous win";
	if(*this == +to_play)       return "win";
	if(*this == +~to_play)      return "loss";
	if(*this == -~to_play)      return "win or draw";
	if(*this == -to_play)       return "loss or draw";
	return "unkown";
}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x40(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x48(%rsp)
movq %rdi, 0x90(%rsp)
movb %al, 0x8f(%rsp)
movq %rsi, 0x80(%rsp)
movq 0x80(%rsp), %rdi
movq %rdi, 0x50(%rsp)
leaq 0x25102(%rip), %rsi     # 0x6d4c3
callq 0x1c810
testb $0x1, %al
jne 0x483cc
jmp 0x4841f
leaq 0x7f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x5770
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rdx
leaq 0x8a80(%rip), %rsi      # 0x50e6c
callq 0x5590
jmp 0x483f3
leaq 0x7f(%rsp), %rdi
callq 0x5450
jmp 0x486f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x7f(%rsp), %rdi
callq 0x5450
jmp 0x486fd
movq 0x50(%rsp), %rdi
leaq 0x2509b(%rip), %rsi     # 0x6d4c6
callq 0x1c810
testb $0x1, %al
jne 0x48436
jmp 0x48489
leaq 0x6b(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x5770
movq 0x40(%rsp), %rdi
movq 0x30(%rsp), %rdx
leaq 0x89f6(%rip), %rsi      # 0x50e4c
callq 0x5590
jmp 0x4845d
leaq 0x6b(%rsp), %rdi
callq 0x5450
jmp 0x486f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x6b(%rsp), %rdi
callq 0x5450
jmp 0x486fd
movb 0x8f(%rsp), %al
movb %al, 0x69(%rsp)
movzbl 0x69(%rsp), %edi
callq 0x1fba0
movq 0x50(%rsp), %rdi
movb %al, 0x6a(%rsp)
leaq 0x6a(%rsp), %rsi
callq 0x1c810
testb $0x1, %al
jne 0x484b7
jmp 0x4850a
leaq 0x68(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x5770
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rdx
leaq 0x898a(%rip), %rsi      # 0x50e61
callq 0x5590
jmp 0x484de
leaq 0x68(%rsp), %rdi
callq 0x5450
jmp 0x486f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x5450
jmp 0x486fd
movb 0x8f(%rsp), %al
movb %al, 0x65(%rsp)
movzbl 0x65(%rsp), %edi
callq 0x1c680
movb %al, 0x66(%rsp)
movzbl 0x66(%rsp), %edi
callq 0x1fba0
movq 0x50(%rsp), %rdi
movb %al, 0x67(%rsp)
leaq 0x67(%rsp), %rsi
callq 0x1c810
testb $0x1, %al
jne 0x48546
jmp 0x48599
leaq 0x64(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x5770
movq 0x40(%rsp), %rdi
movq 0x20(%rsp), %rdx
leaq 0x7c3b(%rip), %rsi      # 0x501a1
callq 0x5590
jmp 0x4856d
leaq 0x64(%rsp), %rdi
callq 0x5450
jmp 0x486f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x64(%rsp), %rdi
callq 0x5450
jmp 0x486fd
movb 0x8f(%rsp), %al
movb %al, 0x61(%rsp)
movzbl 0x61(%rsp), %edi
callq 0x1c680
movb %al, 0x62(%rsp)
movzbl 0x62(%rsp), %edi
callq 0x297e0
movq 0x50(%rsp), %rdi
movb %al, 0x63(%rsp)
leaq 0x63(%rsp), %rsi
callq 0x1c810
testb $0x1, %al
jne 0x485d5
jmp 0x48628
leaq 0x60(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x5770
movq 0x40(%rsp), %rdi
movq 0x18(%rsp), %rdx
leaq 0x8870(%rip), %rsi      # 0x50e65
callq 0x5590
jmp 0x485fc
leaq 0x60(%rsp), %rdi
callq 0x5450
jmp 0x486f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x5450
jmp 0x486fd
movb 0x8f(%rsp), %al
movb %al, 0x5e(%rsp)
movzbl 0x5e(%rsp), %edi
callq 0x297e0
movq 0x50(%rsp), %rdi
movb %al, 0x5f(%rsp)
leaq 0x5f(%rsp), %rsi
callq 0x1c810
testb $0x1, %al
jne 0x48656
jmp 0x486a3
leaq 0x5d(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x5770
movq 0x40(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0x87fb(%rip), %rsi      # 0x50e71
callq 0x5590
jmp 0x4867d
leaq 0x5d(%rsp), %rdi
callq 0x5450
jmp 0x486f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x5d(%rsp), %rdi
callq 0x5450
jmp 0x486fd
leaq 0x5c(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x5770
movq 0x40(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x87bb(%rip), %rsi      # 0x50e7e
callq 0x5590
jmp 0x486ca
leaq 0x5c(%rsp), %rdi
callq 0x5450
jmp 0x486f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x5c(%rsp), %rdi
callq 0x5450
jmp 0x486fd
movq 0x48(%rsp), %rax
addq $0x98, %rsp
retq
movq 0x70(%rsp), %rdi
callq 0x5760
nopw (%rax,%rax)