// File: /workspace/github_c_makefile_star2_O3/mohuangrui[P]ArtraCFD/ensight_writer.c
// Function: WriteStructuredDataEnsight
void WriteStructuredDataEnsight(const Time *time, const Space *space, const Model *model)
{
    EnSet enSet = { /* initialize environment */
        .rname = "field",
        .bname = {'\0'},
        .fname = {'\0'},
        .str = {'\0'},
        .fmt = "%s%05d",
        .gtag = {'\0'},
        .vtag = "*****",
        .dtype = "block",
        .part = {PIO, PIO + 1},
        .scaN = 7,
        .sca = {"rho", "u", "v", "w", "p", "T", "did"},
        .vecN = 1,
        .vec = {"Vel"},
    };
    snprintf(enSet.bname, sizeof(EnStr), enSet.fmt, enSet.rname, time->dataC);
    if (0 == time->stepC) { /* initialization step */
        InitializeTransientCaseFile(&enSet);
        WriteGeometryFile(space, &enSet);
    }
    WriteCaseFile(time, &enSet);
    WriteStructuredData(space, model, &enSet);
    return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x358, %rsp            # imm = 0x358
movq %rdx, 0x38(%rsp)
movq %rsi, %rbx
movq %rdi, %r12
leaq 0xe6cd(%rip), %rsi      # 0x1d4cc
leaq 0x58(%rsp), %r14
movl $0x300, %edx            # imm = 0x300
movq %r14, %rdi
callq 0x2170
leaq 0xa8(%rsp), %rdi
leaq 0x198(%rsp), %rdx
movl 0x38(%r12), %r8d
movl $0x50, %esi
movq %r14, %rcx
xorl %eax, %eax
callq 0x20b0
cmpl $0x0, 0x8(%r12)
movq %rbx, 0x30(%rsp)
jne 0xf184
movq %r12, 0x50(%rsp)
leaq 0x58(%rsp), %r14
movq %r14, %rdi
callq 0xf6b8
leaq 0xf8(%rsp), %r15
leaq 0xe637(%rip), %rdx      # 0x1d49e
movl $0x50, %esi
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x20b0
leaq 0xf27b(%rip), %rsi      # 0x1e0fb
movq %r15, %rdi
callq 0x9026
movq %rax, %rbx
leaq 0x148(%rsp), %r14
leaq 0xee65(%rip), %rsi      # 0x1dcff
movl $0x50, %edx
movq %r14, %rdi
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
leaq 0xee8d(%rip), %rsi      # 0x1dd50
movl $0x50, %edx
movq %r14, %rdi
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
leaq 0xeeb5(%rip), %rsi      # 0x1dda1
movl $0x50, %edx
movq %r14, %rdi
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
leaq 0xeedd(%rip), %rsi      # 0x1ddf2
movl $0x50, %edx
movq %r14, %rdi
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
leaq 0xef05(%rip), %rsi      # 0x1de43
movl $0x50, %edx
movq %r14, %rdi
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
movslq 0x190(%r14), %r15
movl $0x1, 0x44(%rsp)
cmpl 0x194(%r14), %r15d
jge 0xf172
movq 0x30(%rsp), %rax
leaq 0x90(%rax), %rcx
movq %rcx, 0x20(%rsp)
addq $0x3f0, %rax            # imm = 0x3F0
movq %rax, 0x48(%rsp)
movq %rbx, 0x18(%rsp)
movl $0x50, %edx
leaq 0x148(%rsp), %r14
movq %r14, %rdi
leaq 0xeee0(%rip), %rsi      # 0x1de94
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
movl $0x4, %esi
movl $0x1, %edx
leaq 0x44(%rsp), %rdi
movq %rbx, %rcx
callq 0x2200
movl $0x50, %esi
movq %r14, %rdi
leaq 0xf10a(%rip), %rdx      # 0x1e0fe
movl %r15d, %ecx
xorl %eax, %eax
callq 0x20b0
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
movl $0x50, %edx
movq %r14, %rdi
leaq 0x288(%rsp), %rsi
callq 0x2040
movl $0x50, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2200
movq %r15, 0x28(%rsp)
leaq (%r15,%r15,2), %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %r12
movl 0x4(%r12), %eax
subl (%r12), %eax
movl %eax, 0xc(%rsp)
movl 0xc(%r12), %eax
subl 0x8(%r12), %eax
movl %eax, 0x10(%rsp)
movl 0x14(%r12), %eax
subl 0x10(%r12), %eax
movl %eax, 0x14(%rsp)
movl $0x4, %esi
movl $0x3, %edx
leaq 0xc(%rsp), %rdi
movq %rbx, %rcx
callq 0x2200
movl 0x14(%r12), %eax
xorl %ebx, %ebx
movl 0x10(%r12), %r14d
cmpl %eax, %r14d
jge 0xf143
movq %rbx, %r15
shlq $0x4, %r15
addq 0x48(%rsp), %r15
movl 0xc(%r12), %ecx
movl 0x8(%r12), %ebp
cmpl %ecx, %ebp
jge 0xf137
movl 0x4(%r12), %eax
movl (%r12), %r13d
cmpl %eax, %r13d
jge 0xf12c
movl %r13d, 0xc(%rsp)
movl %ebp, 0x10(%rsp)
movl %r14d, 0x14(%rsp)
movl 0xc(%rsp,%rbx,4), %edi
movsd (%r15), %xmm0
movq 0x30(%rsp), %rax
movsd 0x58(%rax,%rbx,8), %xmm1
movl 0x40(%rax,%rbx,4), %esi
callq 0x7db8
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x8(%rsp)
movl $0x4, %esi
movl $0x1, %edx
leaq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rcx
callq 0x2200
incl %r13d
movl 0x4(%r12), %eax
cmpl %eax, %r13d
jl 0xf0cc
movl 0xc(%r12), %ecx
incl %ebp
cmpl %ecx, %ebp
jl 0xf0c3
movl 0x14(%r12), %eax
incl %r14d
cmpl %eax, %r14d
jl 0xf0b5
incq %rbx
cmpq $0x3, %rbx
jne 0xf096
incl 0x44(%rsp)
movq 0x28(%rsp), %r15
incq %r15
movslq 0x2dc(%rsp), %rax
cmpq %rax, %r15
movq 0x18(%rsp), %rbx
jl 0xef9d
movq %rbx, %rdi
callq 0x2080
movq 0x30(%rsp), %rbx
movq 0x50(%rsp), %r12
leaq 0x58(%rsp), %r15
movq %r12, %rdi
movq %r15, %rsi
callq 0xf8e4
movl $0x0, 0xc(%rsp)
movq (%rbx), %rax
movq %rax, 0x48(%rsp)
cmpl $0x0, 0x288(%r15)
jle 0xf445
movq %rbx, %r14
leaq 0x90(%rbx), %rax
movq %rax, 0x20(%rsp)
xorl %ebp, %ebp
leaq (,%rbp,4), %rax
addq %rbp, %rax
leaq 0xf8(%rsp), %rbx
leaq 0x1ec(%rbx,%rax,2), %r8
movl $0x50, %esi
movq %rbx, %rdi
leaq 0xe29f(%rip), %rdx      # 0x1d48c
leaq 0xa8(%rsp), %rcx
xorl %eax, %eax
callq 0x20b0
movq %rbx, %rdi
leaq 0xeef5(%rip), %rsi      # 0x1e0fb
callq 0x9026
movq %rax, %r15
movl $0x50, %edx
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0xea89(%rip), %rsi      # 0x1dcae
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, 0x18(%rsp)
movq %r15, %rcx
callq 0x2200
movslq 0x2d8(%rsp), %r12
movl $0x1, 0x8(%rsp)
cmpl 0x2dc(%rsp), %r12d
jge 0xf427
movl $0x50, %edx
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0xec1b(%rip), %rsi      # 0x1de94
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq 0x18(%rsp), %r15
movq %r15, %rcx
callq 0x2200
movl $0x4, %esi
movl $0x1, %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rcx
callq 0x2200
movl $0x50, %edx
movq %rbx, %rdi
leaq 0x288(%rsp), %rsi
callq 0x2040
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rcx
callq 0x2200
movq %r12, 0x28(%rsp)
leaq (%r12,%r12,2), %rax
movq 0x20(%rsp), %rcx
movl 0x10(%rcx,%rax,8), %r12d
movl 0x14(%rcx,%rax,8), %ecx
cmpl %ecx, %r12d
jge 0xf40a
movq 0x20(%rsp), %rdx
leaq (%rdx,%rax,8), %rbx
movl 0xc(%rbx), %eax
movl 0x8(%rbx), %r13d
cmpl %eax, %r13d
jge 0xf3fe
movl 0x4(%rbx), %ecx
movl (%rbx), %r15d
cmpl %ecx, %r15d
jge 0xf3ef
movl 0x34(%r14), %r8d
movl 0x38(%r14), %ecx
movl %r12d, %edi
movl %r13d, %esi
movl %r15d, %edx
callq 0x7d53
cmpl $0x6, %ebp
ja 0xf3b9
cltq
movq %rax, %rcx
shlq $0x7, %rcx
leaq (%rcx,%rax,8), %rcx
movq 0x48(%rsp), %rdx
leaq (%rdx,%rcx), %rax
leaq (%rdx,%rcx), %rdi
addq $0x10, %rdi
movl %ebp, %ecx
leaq 0xe14d(%rip), %rdx      # 0x1d4b0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
xorps %xmm0, %xmm0
cvtsd2ss (%rdi), %xmm0
jmp 0xf3b3
movq 0x38(%rsp), %rax
movsd 0x40(%rax), %xmm0
callq 0x7b9e
jmp 0xf3af
movsd 0x20(%rax), %xmm0
jmp 0xf399
movsd 0x28(%rax), %xmm0
jmp 0xf399
movsd 0x18(%rax), %xmm0
divsd 0x10(%rax), %xmm0
jmp 0xf3af
movq 0x38(%rsp), %rax
movsd 0x50(%rax), %xmm0
callq 0x7c92
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xc(%rsp)
movl $0x4, %esi
movl $0x1, %edx
leaq 0xc(%rsp), %rdi
movq 0x18(%rsp), %rcx
callq 0x2200
incl %r15d
movl 0x4(%rbx), %ecx
cmpl %ecx, %r15d
jl 0xf321
jmp 0xf3ec
xorps %xmm0, %xmm0
cvtsi2ssl (%rax), %xmm0
jmp 0xf3b3
movl 0xc(%rbx), %eax
incl %r13d
cmpl %eax, %r13d
jl 0xf315
movl 0x14(%rbx), %ecx
incl %r12d
cmpl %ecx, %r12d
jl 0xf305
incl 0x8(%rsp)
movq 0x28(%rsp), %r12
incq %r12
movslq 0x2dc(%rsp), %rax
cmpq %rax, %r12
jl 0xf262
movq 0x18(%rsp), %rdi
callq 0x2080
incq %rbp
movslq 0x2e0(%rsp), %rax
cmpq %rax, %rbp
jl 0xf1c3
cmpl $0x0, 0x348(%rsp)
jle 0xf6a6
movq 0x30(%rsp), %rax
addq $0x90, %rax
movq %rax, 0x20(%rsp)
xorl %ecx, %ecx
movq %rcx, 0x50(%rsp)
leaq (%rcx,%rcx,4), %rax
leaq 0xf8(%rsp), %rbx
leaq (%rbx,%rax,2), %r8
addq $0x254, %r8             # imm = 0x254
movl $0x50, %esi
movq %rbx, %rdi
leaq 0xdffc(%rip), %rdx      # 0x1d48c
leaq 0xa8(%rsp), %rcx
xorl %eax, %eax
callq 0x20b0
movq %rbx, %rdi
leaq 0xec52(%rip), %rsi      # 0x1e0fb
callq 0x9026
movq %rax, %r14
movl $0x50, %edx
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0xe795(%rip), %rsi      # 0x1dc5d
callq 0x2170
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movslq 0x2d8(%rsp), %r15
movl $0x1, 0x8(%rsp)
cmpl 0x2dc(%rsp), %r15d
movq %r14, 0x38(%rsp)
jge 0xf685
movl $0x50, %edx
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0xe978(%rip), %rsi      # 0x1de94
callq 0x2170
movl $0x1, %r12d
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movl $0x4, %esi
movl $0x1, %edx
leaq 0x8(%rsp), %rdi
movq %r14, %rcx
callq 0x2200
movl $0x50, %edx
movq %rbx, %rdi
leaq 0x288(%rsp), %rsi
callq 0x2040
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movq %r15, 0x28(%rsp)
leaq (%r15,%r15,2), %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %r14
movl 0x14(%r14), %ecx
movq %r12, 0x18(%rsp)
movl 0x10(%r14), %ebp
cmpl %ecx, %ebp
jge 0xf651
movl 0xc(%r14), %eax
movl 0x8(%r14), %r13d
cmpl %eax, %r13d
jge 0xf647
movl 0x4(%r14), %ecx
movl (%r14), %r15d
cmpl %ecx, %r15d
movq 0x30(%rsp), %r12
movq 0x48(%rsp), %rbx
jge 0xf637
movl 0x34(%r12), %r8d
movl 0x38(%r12), %ecx
movl %ebp, %edi
movl %r13d, %esi
movl %r15d, %edx
callq 0x7d53
cltq
movq %rax, %rcx
shlq $0x7, %rcx
leaq (%rcx,%rax,8), %rax
leaq (%rbx,%rax), %rcx
movq 0x18(%rsp), %rdx
movsd 0x10(%rcx,%rdx,8), %xmm0
divsd 0x10(%rbx,%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xc(%rsp)
movl $0x4, %esi
movl $0x1, %edx
leaq 0xc(%rsp), %rdi
movq 0x38(%rsp), %rcx
callq 0x2200
incl %r15d
movl 0x4(%r14), %ecx
cmpl %ecx, %r15d
jl 0xf5cb
movl 0xc(%r14), %eax
incl %r13d
cmpl %eax, %r13d
jl 0xf5b9
movl 0x14(%r14), %ecx
incl %ebp
cmpl %ecx, %ebp
jl 0xf5a8
movq 0x18(%rsp), %r12
incq %r12
cmpq $0x4, %r12
jne 0xf593
incl 0x8(%rsp)
movq 0x28(%rsp), %r15
incq %r15
movslq 0x2dc(%rsp), %rax
cmpq %rax, %r15
movq 0x38(%rsp), %r14
jl 0xf505
movq %r14, %rdi
callq 0x2080
movq 0x50(%rsp), %rcx
incq %rcx
movslq 0x348(%rsp), %rax
cmpq %rax, %rcx
jl 0xf465
addq $0x358, %rsp            # imm = 0x358
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq