// File: /workspace/github_c_makefile_star2_O1/sharmaeklavya2[P]cerplag/ast.c
// Function: get_ast_node
pAstNode get_ast_node(astn_t node_type) {
    pAstNode p = NULL;
    switch(node_type) {
#define X(a, b) case ASTN_##a: p = malloc(sizeof(a##Node)); \
    memset(p, 0, sizeof(a##Node)); p->base.node_type = node_type; \
    ast_mem_allocd += sizeof(a##Node); break;
#include "data/ast_nodes.xmac"
#undef X
        default:
            complain_ast_node_type(__func__, node_type);
    }
    ast_node_count++;
    return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, %esi
cmpl $0x13, %edi
ja 0x7d24
movl %esi, %eax
leaq 0x7084(%rip), %rcx      # 0xeb3c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x50, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
jmp 0x7e7a
movl $0x48, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movq $0x0, 0x40(%rax)
movl $0x10, (%rax)
jmp 0x7e4b
movl $0x48, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movq $0x0, 0x40(%rax)
movl $0xe, (%rax)
jmp 0x7e4b
movl $0x50, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movl $0xb, (%rax)
jmp 0x7e7a
movl $0x40, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movl $0x4, (%rax)
jmp 0x7db7
movl $0x58, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movq $0x0, 0x50(%rax)
movl $0xc, (%rax)
jmp 0x7d18
movl $0x68, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x50(%rax)
movq $0x0, 0x60(%rax)
movl $0x9, (%rax)
addl $0x68, 0x131aa(%rip)    # 0x1adac
jmp 0x7e81
movl $0x48, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movq $0x0, 0x40(%rax)
movl $0x2, (%rax)
jmp 0x7e4b
movl $0x48, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movq $0x0, 0x40(%rax)
movl $0xf, (%rax)
jmp 0x7e4b
movl $0x40, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movl $0x3, (%rax)
jmp 0x7db7
movl $0x48, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movq $0x0, 0x40(%rax)
movl $0x7, (%rax)
jmp 0x7e4b
movl $0x48, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movq $0x0, 0x40(%rax)
movl $0x1, (%rax)
jmp 0x7e4b
movl $0x58, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movq $0x0, 0x50(%rax)
movl $0x11, (%rax)
addl $0x58, 0x1308d(%rip)    # 0x1adac
jmp 0x7e81
leaq 0x706e(%rip), %rdi      # 0xed99
callq 0x7a58
xorl %eax, %eax
jmp 0x7e81
movl $0x40, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movl $0x5, (%rax)
jmp 0x7db7
movl $0x70, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x50(%rax)
movups %xmm0, 0x60(%rax)
movl $0xd, (%rax)
addl $0x70, 0x1301c(%rip)    # 0x1adac
jmp 0x7e81
movl $0x40, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movl $0x6, (%rax)
addl $0x40, 0x12fee(%rip)    # 0x1adac
jmp 0x7e81
movl $0x60, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x50(%rax)
movl $0x12, (%rax)
addl $0x60, 0x12fb8(%rip)    # 0x1adac
jmp 0x7e81
movl $0x50, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movl $0xa, (%rax)
jmp 0x7e7a
movl $0x48, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movq $0x0, 0x40(%rax)
movl $0x8, (%rax)
addl $0x48, 0x12f5a(%rip)    # 0x1adac
jmp 0x7e81
movl $0x50, %edi
callq 0x3150
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x40(%rax)
movl $0x13, (%rax)
addl $0x50, 0x12f2b(%rip)    # 0x1adac
incl 0x12f21(%rip)           # 0x1ada8
popq %rbp
retq