// File: /workspace/github_c_makefile_star2_O3/alexj136[P]minijit/src/testing_programs.c
// Function: prepare_testing_programs
void prepare_testing_programs() {
    // Quit if the test_program_vector has already been prepared
    if(test_program_vector) { ERROR("Testing programs already prepared"); }
    test_program_vector = TestProgramVector_init();
    TestProgramVector_append(test_program_vector,
            TestProgram_init(tp0_str, tp0_arity, &tp0_main));
    TestProgramVector_append(test_program_vector,
            TestProgram_init(tp1_str, tp1_arity, &tp1_main));
    TestProgramVector_append(test_program_vector,
            TestProgram_init(tp2_str, tp2_arity, &tp2_main));
    TestProgramVector_append(test_program_vector,
            TestProgram_init(tp3_str, tp3_arity, &tp3_main));
    TestProgramVector_append(test_program_vector,
            TestProgram_init(tp4_str, tp4_arity, &tp4_main));
    TestProgramVector_append(test_program_vector,
            TestProgram_init(tp5_str, tp5_arity, &tp5_main));
    TestProgramVector_append(test_program_vector,
            TestProgram_init(tp6_str, tp6_arity, &tp6_main));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1f40, %rsp           # imm = 0x1F40
cmpq $0x0, 0x948d(%rip)      # 0x232c0
jne 0x1a014
movl $0x10, %edi
callq 0x62ec
movq %rax, %rbx
movabsq $0xa00000000, %rax      # imm = 0xA00000000
movq %rax, (%rbx)
movl $0x50, %edi
callq 0x62ec
movq %rax, 0x8(%rbx)
movq %rbx, 0x9458(%rip)      # 0x232c0
movq 0x9321(%rip), %r14      # 0x23190
movl 0x9442(%rip), %r15d     # 0x232b8
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x6a3(%rip), %rcx      # 0x197eb
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1879e
movq 0x941c(%rip), %rbx      # 0x232c0
movq 0x92ed(%rip), %r14      # 0x23198
movl 0x92ee(%rip), %r15d     # 0x231a0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x613(%rip), %rcx      # 0x198b7
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1879e
movq 0x93e0(%rip), %rbx      # 0x232c0
movq 0x92c1(%rip), %r14      # 0x231a8
movl 0x92c2(%rip), %r15d     # 0x231b0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x579(%rip), %rcx      # 0x1998d
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1879e
movq 0x93a4(%rip), %rbx      # 0x232c0
movq 0x9295(%rip), %r14      # 0x231b8
movl 0x9296(%rip), %r15d     # 0x231c0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x4cb(%rip), %rcx      # 0x19a77
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1879e
movq 0x9368(%rip), %rbx      # 0x232c0
movq 0x9269(%rip), %r14      # 0x231c8
movl 0x926a(%rip), %r15d     # 0x231d0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x41d(%rip), %rcx      # 0x19b61
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1879e
movq 0x932c(%rip), %rbx      # 0x232c0
movq 0x923d(%rip), %r14      # 0x231d8
movl 0x923e(%rip), %r15d     # 0x231e0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x381(%rip), %rcx      # 0x19c39
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1879e
movq 0x92f0(%rip), %rbx      # 0x232c0
movq 0x9211(%rip), %r14      # 0x231e8
movl 0x9212(%rip), %r15d     # 0x231f0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x2ba(%rip), %rcx      # 0x19d3c
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
addq $0x1f40, %rsp           # imm = 0x1F40
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x1879e
leaq 0xfe9(%rip), %rdi       # 0x1b004
leaq 0x2b4f(%rip), %rsi      # 0x1cb71
leaq 0x2ee8(%rip), %rcx      # 0x1cf11
movl $0x93, %edx
xorl %eax, %eax
callq 0x6100
leaq 0xff0(%rip), %rdi       # 0x1b02c
leaq 0x2ee7(%rip), %rsi      # 0x1cf2a
xorl %eax, %eax
callq 0x6100
leaq -0x1f60(%rbp), %rbx
movq %rbx, %rdi
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x60e0
movl %eax, %r14d
movq %rbx, %rdi
movl %eax, %esi
callq 0x60b0
movq %rax, %rbx
leaq 0x11a1(%rip), %rdi      # 0x1b216
callq 0x6070
testl %r14d, %r14d
jle 0x1a0a2
movl %r14d, %r15d
leaq 0xfa3(%rip), %r14       # 0x1b02c
xorl %r12d, %r12d
movq (%rbx,%r12,8), %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0x6100
incq %r12
cmpq %r12, %r15
jne 0x1a08c
movl $0x1, %edi
callq 0x61a0