// File: jswaff[P]prophet3/test/evalp__test.cpp
// Function: test_passed_pawn_wiki_pos()
void test_passed_pawn_wiki_pos() {
    position pos;
    set_pos(&pos,"7k/8/7p/1P2Pp1P/2Pp1PP1/8/8/7K w - -");

    assert(is_passed(&pos,B5,true));
    assert(is_passed(&pos,C4,true));
    assert(is_passed(&pos,D4,false));
    assert(is_passed(&pos,E5,true));

    assert(!is_passed(&pos,F5,false));
    assert(!is_passed(&pos,F4,true));
    assert(!is_passed(&pos,G4,true));
    assert(!is_passed(&pos,H5,true));
    assert(!is_passed(&pos,H6,false));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
leaq -0x1c8(%rbp), %rdi
leaq 0x21e13(%rip), %rsi     # 0x3d57c
callq 0xf3e0
leaq -0x1c8(%rbp), %rdi
movl $0x19, %esi
movl $0x1, %edx
callq 0x7c70
testb $0x1, %al
jne 0x1b78a
jmp 0x1b78c
jmp 0x1b7ab
leaq 0x224c6(%rip), %rdi     # 0x3dc59
leaq 0x21d46(%rip), %rsi     # 0x3d4e0
movl $0x1e, %edx
leaq 0x21dfb(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x22, %esi
movl $0x1, %edx
callq 0x7c70
testb $0x1, %al
jne 0x1b7c7
jmp 0x1b7c9
jmp 0x1b7e8
leaq 0x21df2(%rip), %rdi     # 0x3d5c2
leaq 0x21d09(%rip), %rsi     # 0x3d4e0
movl $0x1f, %edx
leaq 0x21dbe(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x23, %esi
xorl %edx, %edx
callq 0x7c70
testb $0x1, %al
jne 0x1b801
jmp 0x1b803
jmp 0x1b822
leaq 0x21dd0(%rip), %rdi     # 0x3d5da
leaq 0x21ccf(%rip), %rsi     # 0x3d4e0
movl $0x20, %edx
leaq 0x21d84(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x1c, %esi
movl $0x1, %edx
callq 0x7c70
testb $0x1, %al
jne 0x1b83e
jmp 0x1b840
jmp 0x1b85f
leaq 0x21dac(%rip), %rdi     # 0x3d5f3
leaq 0x21c92(%rip), %rsi     # 0x3d4e0
movl $0x21, %edx
leaq 0x21d47(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x1d, %esi
xorl %edx, %edx
callq 0x7c70
xorb $-0x1, %al
testb $0x1, %al
jne 0x1b87a
jmp 0x1b87c
jmp 0x1b89b
leaq 0x21d88(%rip), %rdi     # 0x3d60b
leaq 0x21c56(%rip), %rsi     # 0x3d4e0
movl $0x23, %edx
leaq 0x21d0b(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x25, %esi
movl $0x1, %edx
callq 0x7c70
xorb $-0x1, %al
testb $0x1, %al
jne 0x1b8b9
jmp 0x1b8bb
jmp 0x1b8da
leaq 0x21d63(%rip), %rdi     # 0x3d625
leaq 0x21c17(%rip), %rsi     # 0x3d4e0
movl $0x24, %edx
leaq 0x21ccc(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x26, %esi
movl $0x1, %edx
callq 0x7c70
xorb $-0x1, %al
testb $0x1, %al
jne 0x1b8f8
jmp 0x1b8fa
jmp 0x1b919
leaq 0x21d3d(%rip), %rdi     # 0x3d63e
leaq 0x21bd8(%rip), %rsi     # 0x3d4e0
movl $0x25, %edx
leaq 0x21c8d(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x1f, %esi
movl $0x1, %edx
callq 0x7c70
xorb $-0x1, %al
testb $0x1, %al
jne 0x1b937
jmp 0x1b939
jmp 0x1b958
leaq 0x21d17(%rip), %rdi     # 0x3d657
leaq 0x21b99(%rip), %rsi     # 0x3d4e0
movl $0x26, %edx
leaq 0x21c4e(%rip), %rcx     # 0x3d5a1
callq 0x20c0
leaq -0x1c8(%rbp), %rdi
movl $0x17, %esi
xorl %edx, %edx
callq 0x7c70
xorb $-0x1, %al
testb $0x1, %al
jne 0x1b973
jmp 0x1b975
jmp 0x1b994
leaq 0x21cf4(%rip), %rdi     # 0x3d670
leaq 0x21b5d(%rip), %rsi     # 0x3d4e0
movl $0x27, %edx
leaq 0x21c12(%rip), %rcx     # 0x3d5a1
callq 0x20c0
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
nopl (%rax)