// File: /workspace/github_c_makefile_star2_O1/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 0x7688
leaq 0x15690(%rip), %rcx     # 0x1cb50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x15d86(%rip), %rdi     # 0x1d256
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 0x15d6e(%rip), %rsi     # 0x1d276
movq %rbx, %rdi
movb $0x3, %al
callq 0x2150
movq 0x3e0(%r14), %rax
movsd 0x18(%rax,%r12), %xmm0
movsd 0x20(%rax,%r12), %xmm1
movsd 0x28(%rax,%r12), %xmm2
leaq 0x15d68(%rip), %rsi     # 0x1d29d
jmp 0x75a3
leaq 0x15de1(%rip), %rdi     # 0x1d31f
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 0x15856(%rip), %rsi     # 0x1cdcc
movq %rbx, %rdi
movb $0x3, %al
callq 0x2150
movq 0x3e0(%r14), %rax
movsd 0x18(%rax,%r12), %xmm0
movsd 0x20(%rax,%r12), %xmm1
movsd 0x28(%rax,%r12), %xmm2
leaq 0x1584d(%rip), %rsi     # 0x1cdf0
movq %rbx, %rdi
movb $0x3, %al
callq 0x2150
jmp 0x7688
leaq 0x15d84(%rip), %rdi     # 0x1d33d
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 0x157db(%rip), %rsi     # 0x1cdcc
movq %rbx, %rdi
movb $0x3, %al
callq 0x2150
movq 0x3e0(%r14), %rax
movsd 0x18(%rax,%r12), %xmm0
movsd 0x20(%rax,%r12), %xmm1
movsd 0x28(%rax,%r12), %xmm2
leaq 0x157d2(%rip), %rsi     # 0x1cdf0
jmp 0x765f
leaq 0x15ca1(%rip), %rdi     # 0x1d2c8
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 0x15c8a(%rip), %rsi     # 0x1d2e9
movq %rbx, %rdi
movb $0x3, %al
callq 0x2150
movq 0x3e0(%r14), %rax
movsd 0x30(%rax,%r12), %xmm0
leaq 0x15c93(%rip), %rsi     # 0x1d311
movq %rbx, %rdi
movb $0x1, %al
callq 0x2150
imulq $0x1f4, %r15, %r15      # imm = 0x1F4
movq 0x3e8(%r14), %rdx
addq %r15, %rdx
leaq 0x15cc0(%rip), %rsi     # 0x1d360
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2150
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x64, %rdx
leaq 0x15cad(%rip), %rsi     # 0x1d36d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2150
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0xc8, %rdx
leaq 0x15c9a(%rip), %rsi     # 0x1d37d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2150
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x12c, %rdx            # imm = 0x12C
leaq 0x15c87(%rip), %rsi     # 0x1d38d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2150
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x190, %rdx            # imm = 0x190
leaq 0x15c74(%rip), %rsi     # 0x1d39d
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x2150