// File: /workspace/github_c_makefile_star2_O3/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 0x7044(%rip), %r13      # 0xfa52
leaq 0x67f1(%rip), %r14      # 0xf206
movq %r13, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
movq 0x18(%r15), %rdx
movq 0x20(%r15), %rcx
leaq 0x721a(%rip), %rsi      # 0xfc4b
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 0x720f(%rip), %rdi      # 0xfc6b
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 0x996b
movq %rbx, %rdi
leaq 0x6fc4(%rip), %rsi      # 0xfa52
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x71d7(%rip), %rdi      # 0xfc78
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
movq %rbx, %rdi
leaq 0x6f95(%rip), %rsi      # 0xfa52
movq %rsi, %r14
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x71b3(%rip), %rdi      # 0xfc86
movl $0xa, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
movq 0x8(%r15), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0x828c
movq %rbx, %rdi
movq %r14, %rsi
movl %ebp, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x7184(%rip), %rdi      # 0xfc91
movl $0xb, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
cmpq $0x0, 0x10(%r15)
je 0x8b99
leaq 0x6f25(%rip), %r13      # 0xfa52
leaq 0x66d2(%rip), %r14      # 0xf206
movq %rbx, %rdi
movq %r13, %rsi
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x7150(%rip), %rdi      # 0xfc9d
movl $0xc, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
movq 0x10(%r15), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0x828c
movq %rbx, %rdi
movq %r13, %rsi
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x1100
leaq 0x7123(%rip), %rdi      # 0xfcaa
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1190
leaq 0x6eb2(%rip), %rsi      # 0xfa52
leaq 0x665f(%rip), %rcx      # 0xf206
movq %rbx, %rdi
movq (%rsp), %rdx
xorl %eax, %eax
callq 0x1100
leaq 0x70fc(%rip), %rdi      # 0xfcb8
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