// File: /workspace/github_c_makefile_star2_O0/aquaxis[P]synverll/src/parser_ir_proc.c
// Function: clean_proc_tree
int clean_proc_tree()
{
	PROC_TREE *now_proc_tree;
	PROC_TREE *new_proc_tree;

    now_proc_tree = proc_tree_top;
    while(now_proc_tree != NULL){
        new_proc_tree = now_proc_tree->next_ptr;
        if(now_proc_tree->seq_req.state != NULL)		free(now_proc_tree->seq_req.state);
        if(now_proc_tree->seq_req.condision != NULL)	free(now_proc_tree->seq_req.condision);
        if(now_proc_tree->seq_req.body != NULL)			free(now_proc_tree->seq_req.body);
        if(now_proc_tree->seq_wait.state != NULL)		free(now_proc_tree->seq_wait.state);
        if(now_proc_tree->seq_wait.condision != NULL)	free(now_proc_tree->seq_wait.condision);
        if(now_proc_tree->seq_wait.body != NULL)		free(now_proc_tree->seq_wait.body);
        if(now_proc_tree->seq_exec.state != NULL)		free(now_proc_tree->seq_exec.state);
        if(now_proc_tree->seq_exec.condision != NULL)	free(now_proc_tree->seq_exec.condision);
        if(now_proc_tree->seq_exec.body != NULL)		free(now_proc_tree->seq_exec.body);
        free(now_proc_tree);
        now_proc_tree = new_proc_tree;
    }
    proc_tree_top = NULL;

	if(verilog_wire != NULL){
		free(verilog_wire);
		verilog_wire = NULL;
	}
	if(verilog_module != NULL){
		free(verilog_module);
		verilog_module = NULL;
	}
	if(verilog_state != NULL){
		free(verilog_state);
		verilog_state = NULL;
	}

	is_module_gm_if = 0;

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0xe851(%rip), %rax      # 0x18560
movq %rax, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x9e18
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x9d42
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x9d5a
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x9d72
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x40(%rax)
je 0x9d8a
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x48(%rax)
je 0x9da2
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x9dba
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x60(%rax)
je 0x9dd2
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x68(%rax)
je 0x9dea
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rax
cmpq $0x0, 0x70(%rax)
je 0x9e02
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
callq 0x1030
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x9d13
movq $0x0, 0xe73d(%rip) # 0x18560
cmpq $0x0, 0xe73d(%rip)      # 0x18568
je 0x9e44
movq 0xe734(%rip), %rdi      # 0x18568
callq 0x1030
movq $0x0, 0xe724(%rip) # 0x18568
cmpq $0x0, 0xe724(%rip)      # 0x18570
je 0x9e65
movq 0xe71b(%rip), %rdi      # 0x18570
callq 0x1030
movq $0x0, 0xe70b(%rip) # 0x18570
cmpq $0x0, 0xe70b(%rip)      # 0x18578
je 0x9e86
movq 0xe702(%rip), %rdi      # 0x18578
callq 0x1030
movq $0x0, 0xe6f2(%rip) # 0x18578
movl $0x0, 0xe6f0(%rip)      # 0x18580
xorl %eax, %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)