// File: /workspace/github_c_makefile_star2_O2/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, 0x95c6(%rip)      # 0x222c0
jne 0x18e44
callq 0x17660
movq %rax, %rbx
movq %rax, 0x95b1(%rip)      # 0x222c0
movq 0x947a(%rip), %rdi      # 0x22190
movl 0x959c(%rip), %esi      # 0x222b8
leaq -0x64d(%rip), %rdx      # 0x186d6
callq 0x186a5
movq %rbx, %rdi
movq %rax, %rsi
callq 0x17742
movq 0x9586(%rip), %rbx      # 0x222c0
movq 0x9457(%rip), %rdi      # 0x22198
movl 0x9459(%rip), %esi      # 0x221a0
leaq -0x5b2(%rip), %rdx      # 0x1879c
callq 0x186a5
movq %rbx, %rdi
movq %rax, %rsi
callq 0x17742
movq 0x955b(%rip), %rbx      # 0x222c0
movq 0x943c(%rip), %rdi      # 0x221a8
movl 0x943e(%rip), %esi      # 0x221b0
leaq -0x50b(%rip), %rdx      # 0x1886e
callq 0x186a5
movq %rbx, %rdi
movq %rax, %rsi
callq 0x17742
movq 0x9530(%rip), %rbx      # 0x222c0
movq 0x9421(%rip), %rdi      # 0x221b8
movl 0x9423(%rip), %esi      # 0x221c0
leaq -0x452(%rip), %rdx      # 0x18952
callq 0x186a5
movq %rbx, %rdi
movq %rax, %rsi
callq 0x17742
movq 0x9505(%rip), %rbx      # 0x222c0
movq 0x9406(%rip), %rdi      # 0x221c8
movl 0x9408(%rip), %esi      # 0x221d0
leaq -0x399(%rip), %rdx      # 0x18a36
callq 0x186a5
movq %rbx, %rdi
movq %rax, %rsi
callq 0x17742
movq 0x94da(%rip), %rbx      # 0x222c0
movq 0x93eb(%rip), %rdi      # 0x221d8
movl 0x93ed(%rip), %esi      # 0x221e0
leaq -0x2f0(%rip), %rdx      # 0x18b0a
callq 0x186a5
movq %rbx, %rdi
movq %rax, %rsi
callq 0x17742
movq 0x94af(%rip), %rbx      # 0x222c0
movq 0x93d0(%rip), %rdi      # 0x221e8
movl 0x93d2(%rip), %esi      # 0x221f0
leaq -0x220(%rip), %rdx      # 0x18c05
callq 0x186a5
movq %rbx, %rdi
movq %rax, %rsi
addq $0x1f40, %rsp           # imm = 0x1F40
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x17742
leaq 0x11b9(%rip), %rdi      # 0x1a004
leaq 0x2d5f(%rip), %rsi      # 0x1bbb1
leaq 0x30f8(%rip), %rcx      # 0x1bf51
xorl %r12d, %r12d
movl $0x93, %edx
xorl %eax, %eax
callq 0x6100
leaq 0x11bd(%rip), %rbx      # 0x1a02c
leaq 0x30f4(%rip), %rsi      # 0x1bf6a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x6100
leaq -0x1f60(%rbp), %r15
movq %r15, %rdi
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x60e0
movl %eax, %r14d
movq %r15, %rdi
movl %eax, %esi
callq 0x60b0
movq %rax, %r15
leaq 0x136b(%rip), %rdi      # 0x1a216
callq 0x6070
testl %r14d, %r14d
cmovlel %r12d, %r14d
xorl %r12d, %r12d
cmpq %r12, %r14
je 0x18ed2
movq (%r15,%r12,8), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x6100
incq %r12
jmp 0x18eba
pushq $0x1
popq %rdi
callq 0x61a0