// File: /workspace/github_c_makefile_star2_O1/Tarsnap[P]libcperciva/tests/elasticarray/main.c
// Function: selftest
static int
selftest(void)
{

	/* Elasticarray with simple integers. */
	if (test_intlist())
		goto err0;

	/* Elasticarray with dynamically-allocated structures. */
	if (test_dynlist())
		goto err0;

	/* Elasticarray with pointers. */
	if (test_pointerlist())
		goto err0;

	/* Elasticarray with size 0. */
	if (test_emptylist())
		goto err0;

	/* Success! */
	return (0);

err0:
	/* Failure! */
	return (-1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl $0x4, %esi
xorl %edi, %edi
callq 0x1f80
testq %rax, %rax
je 0x1c37
movq %rax, %rbx
xorl %r15d, %r15d
movq %rsp, %r14
movl %r15d, (%rsp)
movl $0x1, %edx
movl $0x4, %ecx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x20f8
testl %eax, %eax
jne 0x1c2f
incq %r15
cmpq $0x1, %r15
je 0x18b5
movl $0x4, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
je 0x192f
leaq 0x1712(%rip), %r14      # 0x300a
xorl %r15d, %r15d
movl $0x4, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2231
movl (%rax), %esi
movl %esi, (%rsp)
movq %r14, %rdi
xorl %eax, %eax
callq 0x10d0
incq %r15
movl $0x4, %esi
movq %rbx, %rdi
callq 0x20ef
cmpq %rax, %r15
jb 0x18fb
movq %rbx, %rdi
callq 0x2031
movl $0x8, %esi
xorl %edi, %edi
callq 0x1f80
testq %rax, %rax
je 0x1c37
movq %rax, %rbx
xorl %r15d, %r15d
movq %rsp, %r14
movl $0x4, %edi
callq 0x1150
movq %rax, (%rsp)
testq %rax, %rax
je 0x1bed
movl %r15d, (%rax)
movl $0x1, %edx
movl $0x8, %ecx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x20f8
testl %eax, %eax
jne 0x1be4
incq %r15
cmpq $0x1, %r15
je 0x1955
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
je 0x19e9
leaq 0x1665(%rip), %r14      # 0x3013
xorl %r15d, %r15d
movl $0x8, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2231
movq (%rax), %rax
movq %rax, (%rsp)
movl (%rax), %esi
movq %r14, %rdi
xorl %eax, %eax
callq 0x10d0
incq %r15
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
cmpq %rax, %r15
jb 0x19b1
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
je 0x1a2b
xorl %r14d, %r14d
movl $0x8, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2231
movq (%rax), %rdi
callq 0x1030
incq %r14
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
cmpq %rax, %r14
jb 0x19fe
movq %rbx, %rdi
callq 0x2031
movl $0x8, %esi
xorl %edi, %edi
callq 0x1f80
testq %rax, %rax
je 0x1c37
movq %rax, %rbx
xorl %r12d, %r12d
movq %rsp, %r14
movl $0x8, %edi
callq 0x1150
movq %rax, (%rsp)
testq %rax, %rax
je 0x1c5d
movq %rax, %r15
movl $0x4, %edi
callq 0x1150
movq %rax, (%r15)
testq %rax, %rax
je 0x1c54
movl %r12d, (%rax)
movl $0x1, %edx
movl $0x8, %ecx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x20f8
testl %eax, %eax
jne 0x1c48
incq %r12
cmpq $0x1, %r12
je 0x1a51
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
je 0x1b01
leaq 0x1559(%rip), %r14      # 0x301c
xorl %r15d, %r15d
movl $0x8, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2231
movq (%rax), %rax
movq %rax, (%rsp)
movq (%rax), %rax
movl (%rax), %esi
movq %r14, %rdi
xorl %eax, %eax
callq 0x10d0
incq %r15
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
cmpq %rax, %r15
jb 0x1ac6
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
je 0x1b51
xorl %r14d, %r14d
movl $0x8, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2231
movq %rax, %r15
movq (%rax), %rax
movq (%rax), %rdi
callq 0x1030
movq (%r15), %rdi
callq 0x1030
incq %r14
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
cmpq %rax, %r14
jb 0x1b16
movq %rbx, %rdi
callq 0x2031
movl $0x4, %esi
xorl %edi, %edi
callq 0x1f80
testq %rax, %rax
je 0x1c37
movq %rax, %rbx
movl $0x4, %esi
movq %rax, %rdi
callq 0x20ef
testq %rax, %rax
jne 0x1c2f
movl $0x4, %edx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x1ffd
testl %eax, %eax
jne 0x1c2f
movl $0x4, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
jne 0x1c2f
movq %rsp, %rsi
movl $0x4, %ecx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x20f8
testl %eax, %eax
jne 0x1c2f
movl $0x4, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
jne 0x1c2f
movq %rbx, %rdi
callq 0x2031
xorl %eax, %eax
jmp 0x1c3c
movq (%rsp), %rdi
callq 0x1030
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
je 0x1c2f
xorl %r14d, %r14d
movl $0x8, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2231
movq (%rax), %rdi
callq 0x1030
incq %r14
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
cmpq %rax, %r14
jb 0x1c02
movq %rbx, %rdi
callq 0x2031
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x1030
movq (%rsp), %rdi
callq 0x1030
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
testq %rax, %rax
je 0x1c2f
xorl %r14d, %r14d
movl $0x8, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2231
movq %rax, %r15
movq (%rax), %rax
movq (%rax), %rdi
callq 0x1030
movq (%r15), %rdi
callq 0x1030
incq %r14
movl $0x8, %esi
movq %rbx, %rdi
callq 0x20ef
cmpq %rax, %r14
jb 0x1c72
jmp 0x1c2f