// File: /workspace/github_c_makefile_star2_O3/mohuangrui[P]ArtraCFD/case_loader.c
// Function: WriteInitializerData
static void WriteInitializerData(FILE *fp, const Space *space, const int n)
{
    const Partition *const part = &(space->part);
    switch (part->typeIC[n]) {
        case ICGLOBAL:
            break;
        case ICPLANE:
            fprintf(fp, "regional initialization: plane\n");
            fprintf(fp, "plane point x, y, z: %.6g, %.6g, %.6g\n",
                    part->posIC[n][0], part->posIC[n][1], part->posIC[n][2]);
            fprintf(fp, "plane normal nx, ny, nz: %.6g, %.6g, %.6g\n",
                    part->posIC[n][3], part->posIC[n][4], part->posIC[n][5]);
            break;
        case ICSPHERE:
            fprintf(fp, "regional initialization: sphere\n");
            fprintf(fp, "center point x, y, z: %.6g, %.6g, %.6g\n",
                    part->posIC[n][0], part->posIC[n][1], part->posIC[n][2]);
            fprintf(fp, "radius: %.6g\n", part->posIC[n][6]);
            break;
        case ICBOX:
            fprintf(fp, "regional initialization: box\n");
            fprintf(fp, "xmin, ymin, zmin: %.6g, %.6g, %.6g\n",
                    part->posIC[n][0], part->posIC[n][1], part->posIC[n][2]);
            fprintf(fp, "xmax, ymax, zmax: %.6g, %.6g, %.6g\n",
                    part->posIC[n][3], part->posIC[n][4], part->posIC[n][5]);
            break;
        case ICCYLINDER:
            fprintf(fp, "regional initialization: cylinder\n");
            fprintf(fp, "xmin, ymin, zmin: %.6g, %.6g, %.6g\n",
                    part->posIC[n][0], part->posIC[n][1], part->posIC[n][2]);
            fprintf(fp, "xmax, ymax, zmax: %.6g, %.6g, %.6g\n",
                    part->posIC[n][3], part->posIC[n][4], part->posIC[n][5]);
            fprintf(fp, "radius: %.6g\n", part->posIC[n][6]);
            break;
        default:
            break;
    }
    fprintf(fp, "density: %s\n", part->varIC[n][0]);
    fprintf(fp, "x velocity: %s\n", part->varIC[n][1]);
    fprintf(fp, "y velocity: %s\n", part->varIC[n][2]);
    fprintf(fp, "z velocity: %s\n", part->varIC[n][3]);
    fprintf(fp, "pressure: %s\n", part->varIC[n][4]);
    return;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x3d8(%rsi), %rax
movslq %edx, %r15
movl (%rax,%r15,4), %eax
decl %eax
cmpl $0x3, %eax
ja 0x7574
leaq 0x147a4(%rip), %rcx     # 0x1bb50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x14e9a(%rip), %rdi     # 0x1c256
movl $0x1f, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2200
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x14e82(%rip), %rsi     # 0x1c276
movq %rbx, %rdi
movb $0x3, %al
callq 0x2160
movq 0x3e0(%r14), %rax
movsd 0x18(%rax,%r12), %xmm0
movsd 0x20(%rax,%r12), %xmm1
movsd 0x28(%rax,%r12), %xmm2
leaq 0x14e7c(%rip), %rsi     # 0x1c29d
jmp 0x748f
leaq 0x14ef5(%rip), %rdi     # 0x1c31f
movl $0x1d, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2200
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x1496a(%rip), %rsi     # 0x1bdcc
movq %rbx, %rdi
movb $0x3, %al
callq 0x2160
movq 0x3e0(%r14), %rax
movsd 0x18(%rax,%r12), %xmm0
movsd 0x20(%rax,%r12), %xmm1
movsd 0x28(%rax,%r12), %xmm2
leaq 0x14961(%rip), %rsi     # 0x1bdf0
movq %rbx, %rdi
movb $0x3, %al
callq 0x2160
jmp 0x7574
leaq 0x14e98(%rip), %rdi     # 0x1c33d
movl $0x22, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2200
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x148ef(%rip), %rsi     # 0x1bdcc
movq %rbx, %rdi
movb $0x3, %al
callq 0x2160
movq 0x3e0(%r14), %rax
movsd 0x18(%rax,%r12), %xmm0
movsd 0x20(%rax,%r12), %xmm1
movsd 0x28(%rax,%r12), %xmm2
leaq 0x148e6(%rip), %rsi     # 0x1bdf0
jmp 0x754b
leaq 0x14db5(%rip), %rdi     # 0x1c2c8
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2200
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x14d9e(%rip), %rsi     # 0x1c2e9
movq %rbx, %rdi
movb $0x3, %al
callq 0x2160
movq 0x3e0(%r14), %rax
movsd 0x30(%rax,%r12), %xmm0
leaq 0x14da7(%rip), %rsi     # 0x1c311
movq %rbx, %rdi
movb $0x1, %al
callq 0x2160
imulq $0x1f4, %r15, %r15      # imm = 0x1F4
movq 0x3e8(%r14), %rdx
addq %r15, %rdx
leaq 0x14dd4(%rip), %rsi     # 0x1c360
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x64, %rdx
leaq 0x14dc1(%rip), %rsi     # 0x1c36d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0xc8, %rdx
leaq 0x14dae(%rip), %rsi     # 0x1c37d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x12c, %rdx            # imm = 0x12C
leaq 0x14d9b(%rip), %rsi     # 0x1c38d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x190, %rdx            # imm = 0x190
leaq 0x14d88(%rip), %rsi     # 0x1c39d
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x2160