// File: /workspace/github_c_makefile_star2_O2/alexj136[P]minijit/src/typecheck.c
// Function: TypeErrorVector_insert
DEFINE_VECTORABLE(TypeError)

TypeError *TypeError_init(TypeErrorInfo info, int name, Type *found,
        Type *expected, int line_no, int char_no) {

    TypeError *error = challoc(sizeof(TypeError));
    error->info      = info;
    error->name      = name;
    error->found     = found;
    error->expected  = expected;
    error->line_no   = line_no;
    error->char_no   = char_no;
    return error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1f40, %rsp           # imm = 0x1F40
testq %rdi, %rdi
je 0x117f4
movq %rdx, %r15
movl %esi, %r14d
movq %rdi, %rbx
movl %esi, %r12d
testl %r14d, %r14d
js 0x116d4
movq %rbx, %rdi
callq 0x111e9
cmpl %r12d, %eax
jl 0x11764
movl (%rbx), %eax
cmpq %rax, %r12
je 0x116ba
movq 0x8(%rbx), %rax
movq (%rax,%r12,8), %rcx
movq %r15, (%rax,%r12,8)
incq %r12
movq %rcx, %r15
jmp 0x11689
movq %rbx, %rdi
movq %r15, %rsi
addq $0x1f40, %rsp           # imm = 0x1F40
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x11297
leaq 0x8929(%rip), %rdi      # 0x1a004
leaq 0x9b46(%rip), %rsi      # 0x1b228
leaq 0x9c34(%rip), %rcx      # 0x1b31d
xorl %r12d, %r12d
pushq $0x4f
popq %rdx
xorl %eax, %eax
callq 0x6100
leaq 0x892f(%rip), %rbx      # 0x1a02c
leaq 0x89dc(%rip), %rsi      # 0x1a0e0
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 0x8add(%rip), %rdi      # 0x1a216
callq 0x6070
testl %r14d, %r14d
cmovlel %r12d, %r14d
xorl %r12d, %r12d
cmpq %r12, %r14
je 0x11880
movq (%r15,%r12,8), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x6100
incq %r12
jmp 0x11748
leaq 0x8899(%rip), %rdi      # 0x1a004
leaq 0x9ab6(%rip), %rsi      # 0x1b228
leaq 0x9ba4(%rip), %rcx      # 0x1b31d
xorl %r12d, %r12d
pushq $0x4f
popq %rdx
xorl %eax, %eax
callq 0x6100
leaq 0x889f(%rip), %rbx      # 0x1a02c
leaq 0x895c(%rip), %rsi      # 0x1a0f0
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 0x8a4d(%rip), %rdi      # 0x1a216
callq 0x6070
testl %r14d, %r14d
cmovlel %r12d, %r14d
xorl %r12d, %r12d
cmpq %r12, %r14
je 0x11880
movq (%r15,%r12,8), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x6100
incq %r12
jmp 0x117d8
leaq 0x8809(%rip), %rdi      # 0x1a004
leaq 0x9a26(%rip), %rsi      # 0x1b228
leaq 0x9b14(%rip), %rcx      # 0x1b31d
xorl %r12d, %r12d
pushq $0x4f
popq %rdx
xorl %eax, %eax
callq 0x6100
leaq 0x880f(%rip), %rbx      # 0x1a02c
leaq 0x8876(%rip), %rsi      # 0x1a09a
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 0x89bd(%rip), %rdi      # 0x1a216
callq 0x6070
testl %r14d, %r14d
cmovlel %r12d, %r14d
xorl %r12d, %r12d
cmpq %r12, %r14
je 0x11880
movq (%r15,%r12,8), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x6100
incq %r12
jmp 0x11868
pushq $0x1
popq %rdi
callq 0x61a0