// File: /workspace/github_cpp_makefile_star2_O3/jswaff[P]prophet3/test/evalp__test.cpp
// Function: test_botvinnik_capablanca38()
void test_botvinnik_capablanca38() {
    position pos;
    set_pos(&pos,"8/p3q1kp/1p2Pnp1/3pQ3/2pP4/1nP3N1/1B4PP/6K1 w - -");

    assert(is_passed(&pos,A7,false));
    assert(!is_passed(&pos,H7,false));
    assert(!is_passed(&pos,B6,false));
    assert(!is_passed(&pos,G6,false));
    assert(!is_passed(&pos,D5,false));
    assert(!is_passed(&pos,C4,false));
    assert(!is_passed(&pos,D4,true));
    assert(!is_passed(&pos,C3,true));
    assert(!is_passed(&pos,G2,true));
    assert(!is_passed(&pos,H2,true));
}

// Assembly:
pushq %rbx
subq $0x1d0, %rsp            # imm = 0x1D0
leaq 0x1d225(%rip), %rsi     # 0x31260
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0xaa82
movq %rbx, %rdi
movl $0x8, %esi
xorl %edx, %edx
callq 0x5c9e
testb %al, %al
je 0x14155
leaq 0x8(%rsp), %rdi
movl $0xf, %esi
xorl %edx, %edx
callq 0x5c9e
testb %al, %al
jne 0x14174
leaq 0x8(%rsp), %rdi
movl $0x11, %esi
xorl %edx, %edx
callq 0x5c9e
testb %al, %al
jne 0x14193
leaq 0x8(%rsp), %rdi
movl $0x16, %esi
xorl %edx, %edx
callq 0x5c9e
testb %al, %al
jne 0x141b2
leaq 0x8(%rsp), %rdi
movl $0x1b, %esi
xorl %edx, %edx
callq 0x5c9e
testb %al, %al
jne 0x141d1
leaq 0x8(%rsp), %rdi
movl $0x22, %esi
xorl %edx, %edx
callq 0x5c9e
testb %al, %al
jne 0x141f0
leaq 0x8(%rsp), %rdi
movl $0x23, %esi
movl $0x1, %edx
callq 0x5c9e
testb %al, %al
jne 0x1420f
leaq 0x8(%rsp), %rdi
movl $0x2a, %esi
movl $0x1, %edx
callq 0x5c9e
testb %al, %al
jne 0x1422e
leaq 0x8(%rsp), %rdi
movl $0x36, %esi
movl $0x1, %edx
callq 0x5c9e
testb %al, %al
jne 0x1424d
leaq 0x8(%rsp), %rdi
movl $0x37, %esi
movl $0x1, %edx
callq 0x5c9e
testb %al, %al
jne 0x1426c
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbx
retq
leaq 0x1d287(%rip), %rdi     # 0x313e3
leaq 0x1cc27(%rip), %rsi     # 0x30d8a
leaq 0x1d128(%rip), %rcx     # 0x31292
movl $0x67, %edx
callq 0x20d0
leaq 0x1ce2f(%rip), %rdi     # 0x30faa
leaq 0x1cc08(%rip), %rsi     # 0x30d8a
leaq 0x1d109(%rip), %rcx     # 0x31292
movl $0x68, %edx
callq 0x20d0
leaq 0x1d11b(%rip), %rdi     # 0x312b5
leaq 0x1cbe9(%rip), %rsi     # 0x30d8a
leaq 0x1d0ea(%rip), %rcx     # 0x31292
movl $0x69, %edx
callq 0x20d0
leaq 0x1cfd1(%rip), %rdi     # 0x3118a
leaq 0x1cbca(%rip), %rsi     # 0x30d8a
leaq 0x1d0cb(%rip), %rcx     # 0x31292
movl $0x6a, %edx
callq 0x20d0
leaq 0x1d0f7(%rip), %rdi     # 0x312cf
leaq 0x1cbab(%rip), %rsi     # 0x30d8a
leaq 0x1d0ac(%rip), %rcx     # 0x31292
movl $0x6b, %edx
callq 0x20d0
leaq 0x1d0f2(%rip), %rdi     # 0x312e9
leaq 0x1cb8c(%rip), %rsi     # 0x30d8a
leaq 0x1d08d(%rip), %rcx     # 0x31292
movl $0x6c, %edx
callq 0x20d0
leaq 0x1d0ed(%rip), %rdi     # 0x31303
leaq 0x1cb6d(%rip), %rsi     # 0x30d8a
leaq 0x1d06e(%rip), %rcx     # 0x31292
movl $0x6d, %edx
callq 0x20d0
leaq 0x1d0e7(%rip), %rdi     # 0x3131c
leaq 0x1cb4e(%rip), %rsi     # 0x30d8a
leaq 0x1d04f(%rip), %rcx     # 0x31292
movl $0x6e, %edx
callq 0x20d0
leaq 0x1d0e1(%rip), %rdi     # 0x31335
leaq 0x1cb2f(%rip), %rsi     # 0x30d8a
leaq 0x1d030(%rip), %rcx     # 0x31292
movl $0x6f, %edx
callq 0x20d0
leaq 0x1cfd4(%rip), %rdi     # 0x31247
leaq 0x1cb10(%rip), %rsi     # 0x30d8a
leaq 0x1d011(%rip), %rcx     # 0x31292
movl $0x70, %edx
callq 0x20d0