// File: /workspace/github_c_makefile_star2_O0/mohuangrui[P]ArtraCFD/fluid_dynamics.c
// Function: EvolveFluidDynamics
void EvolveFluidDynamics(const Real dt, Space *space, const Model *model)
{
    if (0 != model->sState) {
        DiscretizeTime(0.5 * dt, PHI, space, model);
    }
    switch (model->multidim) {
        case OPTSPLIT:
            switch (space->part.collapse) {
                case COLLAPSEN:
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    DiscretizeTime(0.5 * dt, X, space, model);
                    DiscretizeTime(0.5 * dt, X, space, model);
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    break;
                case COLLAPSEX:
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    break;
                case COLLAPSEY:
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    DiscretizeTime(0.5 * dt, X, space, model);
                    DiscretizeTime(0.5 * dt, X, space, model);
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    break;
                case COLLAPSEZ:
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    DiscretizeTime(0.5 * dt, X, space, model);
                    DiscretizeTime(0.5 * dt, X, space, model);
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    break;
                case COLLAPSEXY:
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    DiscretizeTime(0.5 * dt, Z, space, model);
                    break;
                case COLLAPSEXZ:
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    DiscretizeTime(0.5 * dt, Y, space, model);
                    break;
                case COLLAPSEYZ:
                    DiscretizeTime(0.5 * dt, X, space, model);
                    DiscretizeTime(0.5 * dt, X, space, model);
                    break;
                default:
                    break;
            }
            break;
        case OPTBYOPT:
            DiscretizeTime(0.5 * dt, DIMS, space, model);
            DiscretizeTime(0.5 * dt, DIMS, space, model);
            break;
        default:
            break;
    }
    if (0 != model->sState) {
        DiscretizeTime(0.5 * dt, PHI, space, model);
    }
    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movsd %xmm0, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rcx
xorl %eax, %eax
cmpl 0x2c(%rcx), %eax
je 0x17cff
movsd 0xfa20(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x4, %edi
callq 0x180b0
movq -0x18(%rbp), %rax
movl 0x10(%rax), %eax
movl %eax, -0x1c(%rbp)
testl %eax, %eax
je 0x17d20
jmp 0x17d0f
movl -0x1c(%rbp), %eax
subl $0x1, %eax
je 0x18037
jmp 0x18077
movq -0x10(%rbp), %rax
movl 0x50(%rax), %eax
movq %rax, -0x28(%rbp)
subq $0x8, %rax
ja 0x18033
movq -0x28(%rbp), %rax
leaq 0x111d0(%rip), %rcx     # 0x28f10
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0xf9b7(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
movsd 0xf998(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
movsd 0xf979(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
movsd 0xf95d(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
movsd 0xf941(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
movsd 0xf922(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
jmp 0x18035
movsd 0xf8fe(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
movsd 0xf8df(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
movsd 0xf8c0(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
movsd 0xf8a1(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
jmp 0x18035
movsd 0xf87d(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
movsd 0xf85e(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
movsd 0xf842(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
movsd 0xf826(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
jmp 0x18035
movsd 0xf802(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
movsd 0xf7e3(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
movsd 0xf7c7(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
movsd 0xf7ab(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
jmp 0x18035
movsd 0xf787(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
movsd 0xf768(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x2, %edi
callq 0x180b0
jmp 0x18035
movsd 0xf747(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
movsd 0xf728(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %edi
callq 0x180b0
jmp 0x18035
movsd 0xf707(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
movsd 0xf6eb(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %edi, %edi
callq 0x180b0
jmp 0x18035
jmp 0x18035
jmp 0x18079
movsd 0xf6c9(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x3, %edi
callq 0x180b0
movsd 0xf6aa(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x3, %edi
callq 0x180b0
jmp 0x18079
jmp 0x18079
movq -0x18(%rbp), %rcx
xorl %eax, %eax
cmpl 0x2c(%rcx), %eax
je 0x180a3
movsd 0xf67c(%rip), %xmm0     # 0x27708
mulsd -0x8(%rbp), %xmm0
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x4, %edi
callq 0x180b0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)