// File: /workspace/github_c_makefile_star2_O1/masyagin1998[P]GCI/src/parser/ast.c
// Function: dump_if_stmt_ast_to_file_inner
static void dump_if_stmt_ast_to_file_inner(FILE*f, const struct IF_STMT_AST*ast, size_t spaces_num)
{
    PUT_SPACES(); fprintf(f, "<if_stmt line=\"%zu\" pos=\"%zu\">\n", ast->line, ast->pos);
    INC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "<condition>\n");
    INC_SPACES_NUM();
    dump_logical_or_expr_ast_to_file_inner(f, ast->condition, spaces_num);
    DEC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "</condition>\n");

    PUT_SPACES(); fprintf(f, "<if_body>\n");
    INC_SPACES_NUM();
    dump_body_ast_to_file_inner(f, ast->if_body, spaces_num);
    DEC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "</if_body>\n");

    if (ast->else_body != NULL) {
        PUT_SPACES(); fprintf(f, "<else_body>\n");
        INC_SPACES_NUM();
        dump_body_ast_to_file_inner(f, ast->else_body, spaces_num);
        DEC_SPACES_NUM();
        PUT_SPACES(); fprintf(f, "</else_body>\n");
    }

    DEC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "</if_stmt>\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x6ca1(%rip), %r13      # 0xfa46
leaq 0x645d(%rip), %r14      # 0xf209
movq %r13, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
movq 0x18(%r15), %rdx
movq 0x20(%r15), %rcx
leaq 0x6e77(%rip), %rsi      # 0xfc3f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1100
leal 0x2(%r12), %ebp
movq %rbx, %rdi
movq %r13, %rsi
movl %ebp, %edx
movq %r14, %rcx
movq %r14, %r13
xorl %eax, %eax
callq 0x1100
leaq 0x6e6c(%rip), %rdi      # 0xfc5f
movl $0xc, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
movq %r12, (%rsp)
addq $0x4, %r12
movq (%r15), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0x9d17
movq %rbx, %rdi
leaq 0x6c21(%rip), %rsi      # 0xfa46
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x6e34(%rip), %rdi      # 0xfc6c
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
movq %rbx, %rdi
leaq 0x6bf2(%rip), %rsi      # 0xfa46
movq %rsi, %r14
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x6e10(%rip), %rdi      # 0xfc7a
movl $0xa, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
movq 0x8(%r15), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0x861b
movq %rbx, %rdi
movq %r14, %rsi
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x6de1(%rip), %rdi      # 0xfc85
movl $0xb, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
cmpq $0x0, 0x10(%r15)
je 0x8f30
leaq 0x6b82(%rip), %r13      # 0xfa46
leaq 0x633e(%rip), %r14      # 0xf209
movq %rbx, %rdi
movq %r13, %rsi
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x6dad(%rip), %rdi      # 0xfc91
movl $0xc, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
movq 0x10(%r15), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0x861b
movq %rbx, %rdi
movq %r13, %rsi
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x6d80(%rip), %rdi      # 0xfc9e
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
leaq 0x6b0f(%rip), %rsi      # 0xfa46
leaq 0x62cb(%rip), %rcx      # 0xf209
movq %rbx, %rdi
movq (%rsp), %rdx
xorl %eax, %eax
callq 0x1100
leaq 0x6d59(%rip), %rdi      # 0xfcac
movl $0xb, %esi
movl $0x1, %edx
movq %rbx, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1190