// File: /workspace/github_c_makefile_star2_O0/wjmelements[P]evm/tst/vector.c
// Function: main
int main() {
    ints_t naturals;
    ints_init(&naturals, 1);
    for (int i = 0; i < 100; i++) {
        for (int j = 0; j < i; j++) {
            assert(naturals.sints[j] == j);
        }
        ints_append(&naturals, i);
        for (int j = 0; j <= i; j++) {
            assert(naturals.sints[j] == j);
        }
    }
    for (int i = 100; i--> 0;) {
        assert(ints_pop(&naturals) == i);
    }
    string_t alpha;
    string_init(&alpha, 4);
    for (char i = 'a'; i < 'z'; i++) {
        for (char j = 'a'; j < i; j++) {
            assert(alpha.schars[j - 'a'] == j);
        }
        string_append(&alpha, i);
        for (char j = 'a'; j <= i; j++) {
            assert(alpha.schars[j - 'a'] == j);
        }
    }

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl $0x0, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x1390
movl $0x0, -0x24(%rbp)
cmpl $0x64, -0x24(%rbp)
jge 0x1254
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x24(%rbp), %eax
jge 0x11eb
movq -0x18(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x28(%rbp), %eax
jne 0x11bf
jmp 0x11de
leaq 0xe3e(%rip), %rdi       # 0x2004
leaq 0xe4e(%rip), %rsi       # 0x201b
movl $0xe, %edx
leaq 0xe4f(%rip), %rcx       # 0x2028
callq 0x1040
jmp 0x11e0
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x11a5
movl -0x24(%rbp), %esi
leaq -0x20(%rbp), %rdi
callq 0x13e0
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x24(%rbp), %eax
jg 0x1244
movq -0x18(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x2c(%rbp), %eax
jne 0x1218
jmp 0x1237
leaq 0xde5(%rip), %rdi       # 0x2004
leaq 0xdf5(%rip), %rsi       # 0x201b
movl $0x12, %edx
leaq 0xdf6(%rip), %rcx       # 0x2028
callq 0x1040
jmp 0x1239
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x11fe
jmp 0x1246
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x1194
movl $0x64, -0x30(%rbp)
movl -0x30(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x30(%rbp)
cmpl $0x0, %eax
jle 0x129c
leaq -0x20(%rbp), %rdi
callq 0x1490
cmpl -0x30(%rbp), %eax
jne 0x127b
jmp 0x129a
leaq 0xdb1(%rip), %rdi       # 0x2033
leaq 0xd92(%rip), %rsi       # 0x201b
movl $0x16, %edx
leaq 0xd93(%rip), %rcx       # 0x2028
callq 0x1040
jmp 0x125b
leaq -0x48(%rbp), %rdi
movl $0x4, %esi
callq 0x14c0
movb $0x61, -0x49(%rbp)
movsbl -0x49(%rbp), %eax
cmpl $0x7a, %eax
jge 0x1385
movb $0x61, -0x4a(%rbp)
movsbl -0x4a(%rbp), %eax
movsbl -0x49(%rbp), %ecx
cmpl %ecx, %eax
jge 0x1312
movq -0x40(%rbp), %rax
movsbl -0x4a(%rbp), %ecx
subl $0x61, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x4a(%rbp), %ecx
cmpl %ecx, %eax
jne 0x12e7
jmp 0x1306
leaq 0xd5e(%rip), %rdi       # 0x204c
leaq 0xd26(%rip), %rsi       # 0x201b
movl $0x1c, %edx
leaq 0xd27(%rip), %rcx       # 0x2028
callq 0x1040
jmp 0x1308
movb -0x4a(%rbp), %al
addb $0x1, %al
movb %al, -0x4a(%rbp)
jmp 0x12bf
leaq -0x48(%rbp), %rdi
movsbl -0x49(%rbp), %esi
callq 0x1510
movb $0x61, -0x4b(%rbp)
movsbl -0x4b(%rbp), %eax
movsbl -0x49(%rbp), %ecx
cmpl %ecx, %eax
jg 0x1376
movq -0x40(%rbp), %rax
movsbl -0x4b(%rbp), %ecx
subl $0x61, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x4b(%rbp), %ecx
cmpl %ecx, %eax
jne 0x134b
jmp 0x136a
leaq 0xcfa(%rip), %rdi       # 0x204c
leaq 0xcc2(%rip), %rsi       # 0x201b
movl $0x20, %edx
leaq 0xcc3(%rip), %rcx       # 0x2028
callq 0x1040
jmp 0x136c
movb -0x4b(%rbp), %al
addb $0x1, %al
movb %al, -0x4b(%rbp)
jmp 0x1323
jmp 0x1378
movb -0x49(%rbp), %al
addb $0x1, %al
movb %al, -0x49(%rbp)
jmp 0x12ae
xorl %eax, %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)