// File: /workspace/github_c_makefile_star2_O1/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, 0x9470(%rip)      # 0x232c0
jne 0x1a031
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, 0x943b(%rip)      # 0x232c0
movq 0x9304(%rip), %r14      # 0x23190
movl 0x9425(%rip), %r15d     # 0x232b8
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x6a3(%rip), %rcx      # 0x19808
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x187d2
movq 0x93ff(%rip), %rbx      # 0x232c0
movq 0x92d0(%rip), %r14      # 0x23198
movl 0x92d1(%rip), %r15d     # 0x231a0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x613(%rip), %rcx      # 0x198d4
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x187d2
movq 0x93c3(%rip), %rbx      # 0x232c0
movq 0x92a4(%rip), %r14      # 0x231a8
movl 0x92a5(%rip), %r15d     # 0x231b0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x579(%rip), %rcx      # 0x199aa
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x187d2
movq 0x9387(%rip), %rbx      # 0x232c0
movq 0x9278(%rip), %r14      # 0x231b8
movl 0x9279(%rip), %r15d     # 0x231c0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x4cb(%rip), %rcx      # 0x19a94
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x187d2
movq 0x934b(%rip), %rbx      # 0x232c0
movq 0x924c(%rip), %r14      # 0x231c8
movl 0x924d(%rip), %r15d     # 0x231d0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x41d(%rip), %rcx      # 0x19b7e
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x187d2
movq 0x930f(%rip), %rbx      # 0x232c0
movq 0x9220(%rip), %r14      # 0x231d8
movl 0x9221(%rip), %r15d     # 0x231e0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x381(%rip), %rcx      # 0x19c56
movq %rcx, 0x10(%rax)
movq %rbx, %rdi
movq %rax, %rsi
callq 0x187d2
movq 0x92d3(%rip), %rbx      # 0x232c0
movq 0x91f4(%rip), %r14      # 0x231e8
movl 0x91f5(%rip), %r15d     # 0x231f0
movl $0x18, %edi
callq 0x62ec
movq %r14, (%rax)
movl %r15d, 0x8(%rax)
leaq -0x2ba(%rip), %rcx      # 0x19d59
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 0x187d2
leaq 0xfcc(%rip), %rdi       # 0x1b004
leaq 0x2b42(%rip), %rsi      # 0x1cb81
leaq 0x2edb(%rip), %rcx      # 0x1cf21
movl $0x93, %edx
xorl %eax, %eax
callq 0x6100
leaq 0xfd3(%rip), %rdi       # 0x1b02c
leaq 0x2eda(%rip), %rsi      # 0x1cf3a
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 0x1184(%rip), %rdi      # 0x1b216
callq 0x6070
testl %r14d, %r14d
jle 0x1a0bf
movl %r14d, %r15d
leaq 0xf86(%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 0x1a0a9
movl $0x1, %edi
callq 0x61a0