// File: /workspace/github_cpp_makefile_star2_O2/jswaff[P]prophet3/test/hash__test.cpp
// Function: test_hash_val_exact_score()
void test_hash_val_exact_score() {
    int32 depth = 1;
    int32 score = -54;
    move mv = to_capture(PAWN,E7,F8,BISHOP);
    set_promopiece(&mv,QUEEN);
    uint64 val = build_hash_val(EXACT_SCORE,depth,score,mv);

    assert(get_hash_entry_type(val)==EXACT_SCORE);
    assert(get_hash_entry_depth(val)==depth);
    assert(get_hash_entry_score(val)==score);
    move found = get_hash_entry_move(val);
    assert(found==mv);
    assert(get_from_sq(mv)==E7);
    assert(get_to_sq(mv)==F8);
    assert(get_piece(mv)==PAWN);
    assert(is_capture(mv));
    assert(get_promopiece(found)==QUEEN);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
pushq $0x1
popq %rbx
pushq $0xc
popq %rsi
pushq $0x5
popq %rbp
pushq $0x3
popq %r14
movl %ebx, %edi
movl %ebp, %edx
movl %r14d, %ecx
callq 0x72a3
movq %rsp, %r15
movq %rax, (%r15)
movq %r15, %rdi
movl %ebp, %esi
callq 0x733b
movq (%r15), %rcx
pushq $-0x36
popq %rdx
movl %r14d, %edi
movl %ebx, %esi
callq 0x5b8a
movq %rax, %rbx
movq %rax, %rdi
callq 0x5d09
cmpl $0x3, %eax
jne 0x15a68
movq %rbx, %rdi
callq 0x5d10
cmpl $0x1, %eax
jne 0x15a87
movq %rbx, %rdi
callq 0x5d17
cmpl $-0x36, %eax
jne 0x15aa6
movq %rbx, %rdi
callq 0x5d41
cmpq (%rsp), %rax
jne 0x15ac5
movq %rax, %rbx
movq %rax, %rdi
callq 0x736b
cmpl $0xc, %eax
jne 0x15ae4
movq (%rsp), %rdi
callq 0x7372
cmpl $0x5, %eax
jne 0x15b03
movq (%rsp), %rdi
callq 0x737c
cmpl $0x1, %eax
jne 0x15b22
movq (%rsp), %rdi
callq 0x739a
testb %al, %al
je 0x15b41
movq %rbx, %rdi
callq 0x7386
cmpl $0x5, %eax
jne 0x15b60
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1a37f(%rip), %rdi     # 0x2fdee
leaq 0x1a0df(%rip), %rsi     # 0x2fb55
leaq 0x1a397(%rip), %rcx     # 0x2fe14
movl $0x146, %edx            # imm = 0x146
callq 0x20c0
leaq 0x1a290(%rip), %rdi     # 0x2fd1e
leaq 0x1a0c0(%rip), %rsi     # 0x2fb55
leaq 0x1a378(%rip), %rcx     # 0x2fe14
movl $0x147, %edx            # imm = 0x147
callq 0x20c0
leaq 0x1a292(%rip), %rdi     # 0x2fd3f
leaq 0x1a0a1(%rip), %rsi     # 0x2fb55
leaq 0x1a359(%rip), %rcx     # 0x2fe14
movl $0x148, %edx            # imm = 0x148
callq 0x20c0
leaq 0x1a369(%rip), %rdi     # 0x2fe35
leaq 0x1a082(%rip), %rsi     # 0x2fb55
leaq 0x1a33a(%rip), %rcx     # 0x2fe14
movl $0x14a, %edx            # imm = 0x14A
callq 0x20c0
leaq 0x1a354(%rip), %rdi     # 0x2fe3f
leaq 0x1a063(%rip), %rsi     # 0x2fb55
leaq 0x1a31b(%rip), %rcx     # 0x2fe14
movl $0x14b, %edx            # imm = 0x14B
callq 0x20c0
leaq 0x1a349(%rip), %rdi     # 0x2fe53
leaq 0x1a044(%rip), %rsi     # 0x2fb55
leaq 0x1a2fc(%rip), %rcx     # 0x2fe14
movl $0x14c, %edx            # imm = 0x14C
callq 0x20c0
leaq 0x1a33c(%rip), %rdi     # 0x2fe65
leaq 0x1a025(%rip), %rsi     # 0x2fb55
leaq 0x1a2dd(%rip), %rcx     # 0x2fe14
movl $0x14d, %edx            # imm = 0x14D
callq 0x20c0
leaq 0x1afdc(%rip), %rdi     # 0x30b24
leaq 0x1a006(%rip), %rsi     # 0x2fb55
leaq 0x1a2be(%rip), %rcx     # 0x2fe14
movl $0x14e, %edx            # imm = 0x14E
callq 0x20c0
leaq 0x1a312(%rip), %rdi     # 0x2fe79
leaq 0x19fe7(%rip), %rsi     # 0x2fb55
leaq 0x1a29f(%rip), %rcx     # 0x2fe14
movl $0x14f, %edx            # imm = 0x14F
callq 0x20c0