// File: /workspace/github_c_makefile_star2_O2/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 0x6e1e
leaq 0x13dda(%rip), %rcx     # 0x1aa40
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x144d0(%rip), %rdi     # 0x1b146
pushq $0x1f
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x144bc(%rip), %rsi     # 0x1b166
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 0x144b6(%rip), %rsi     # 0x1b18d
jmp 0x6d41
leaq 0x1452f(%rip), %rdi     # 0x1b20f
pushq $0x1d
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x13fa8(%rip), %rsi     # 0x1acbc
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 0x13f9f(%rip), %rsi     # 0x1ace0
movq %rbx, %rdi
movb $0x3, %al
callq 0x2160
jmp 0x6e1e
leaq 0x144d6(%rip), %rdi     # 0x1b22d
pushq $0x22
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x13f31(%rip), %rsi     # 0x1acbc
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 0x13f28(%rip), %rsi     # 0x1ace0
jmp 0x6df5
leaq 0x143f7(%rip), %rdi     # 0x1b1b8
pushq $0x20
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x3e0(%r14), %rax
imulq $0x38, %r15, %r12
movsd (%rax,%r12), %xmm0
movsd 0x8(%rax,%r12), %xmm1
movsd 0x10(%rax,%r12), %xmm2
leaq 0x143e4(%rip), %rsi     # 0x1b1d9
movq %rbx, %rdi
movb $0x3, %al
callq 0x2160
movq 0x3e0(%r14), %rax
movsd 0x30(%rax,%r12), %xmm0
leaq 0x143ed(%rip), %rsi     # 0x1b201
movq %rbx, %rdi
movb $0x1, %al
callq 0x2160
imulq $0x1f4, %r15, %r15      # imm = 0x1F4
movq 0x3e8(%r14), %rdx
addq %r15, %rdx
leaq 0x1441a(%rip), %rsi     # 0x1b250
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x64, %rdx
leaq 0x14407(%rip), %rsi     # 0x1b25d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0xc8, %rdx
leaq 0x143f4(%rip), %rsi     # 0x1b26d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x12c, %rdx            # imm = 0x12C
leaq 0x143e1(%rip), %rsi     # 0x1b27d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2160
movq 0x3e8(%r14), %rax
leaq (%rax,%r15), %rdx
addq $0x190, %rdx            # imm = 0x190
leaq 0x143ce(%rip), %rsi     # 0x1b28d
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x2160