// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/pkgs/fglut/freeglut_geometry.c
// Function: glutSolidCube
void FGAPIENTRY glutSolidCube( GLdouble dSize )
{
    double size = dSize * 0.5;

    FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSolidCube" );

#   define V(a,b,c) glVertex3d( a size, b size, c size );
#   define N(a,b,c) glNormal3d( a, b, c );

    /* PWO: Again, I dared to convert the code to use macros... */
    glBegin( GL_QUADS );
        N( 1.0, 0.0, 0.0); V(+,-,+); V(+,-,-); V(+,+,-); V(+,+,+);
        N( 0.0, 1.0, 0.0); V(+,+,+); V(+,+,-); V(-,+,-); V(-,+,+);
        N( 0.0, 0.0, 1.0); V(+,+,+); V(-,+,+); V(-,-,+); V(+,-,+);
        N(-1.0, 0.0, 0.0); V(-,-,+); V(-,+,+); V(-,+,-); V(-,-,-);
        N( 0.0,-1.0, 0.0); V(-,-,+); V(-,-,-); V(+,-,-); V(+,-,+);
        N( 0.0, 0.0,-1.0); V(-,-,-); V(-,+,-); V(+,+,-); V(+,-,-);
    glEnd();

#   undef V
#   undef N
}

// Assembly:
subq $0x28, %rsp
mulsd 0x4719(%rip), %xmm0     # 0xc5040
movapd %xmm0, (%rsp)
leaq 0x728ad(%rip), %rax     # 0x1331e0
cmpb $0x0, 0x1c(%rax)
jne 0xc094e
leaq 0x13926(%rip), %rdi     # 0xd4266
leaq 0x252f6(%rip), %rsi     # 0xe5c3d
xorl %eax, %eax
callq 0xbad73
pushq $0x7
popq %rdi
callq 0x21190
movsd 0x46ba(%rip), %xmm0     # 0xc5018
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x21300
movaps 0x4bc0(%rip), %xmm1     # 0xc5530
movaps (%rsp), %xmm0
xorps %xmm0, %xmm1
movaps %xmm1, 0x10(%rsp)
movaps %xmm0, %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps 0x10(%rsp), %xmm1
movaps %xmm1, %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps %xmm0, %xmm1
movaps 0x10(%rsp), %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
movsd 0x4655(%rip), %xmm1     # 0xc5018
callq 0x21300
movaps (%rsp), %xmm0
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps %xmm0, %xmm1
movaps 0x10(%rsp), %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps (%rsp), %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps (%rsp), %xmm1
movaps %xmm1, %xmm2
callq 0x21e80
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
movsd 0x4600(%rip), %xmm2     # 0xc5018
callq 0x21300
movaps (%rsp), %xmm0
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps (%rsp), %xmm1
movaps %xmm1, %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps %xmm0, %xmm1
movaps (%rsp), %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps 0x10(%rsp), %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movsd 0x4a69(%rip), %xmm0     # 0xc54d0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x21300
movaps 0x10(%rsp), %xmm0
movaps %xmm0, %xmm1
movaps (%rsp), %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps (%rsp), %xmm1
movaps %xmm1, %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps (%rsp), %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
movsd 0x4a0d(%rip), %xmm1     # 0xc54d0
callq 0x21300
movaps 0x10(%rsp), %xmm0
movaps %xmm0, %xmm1
movaps (%rsp), %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps 0x10(%rsp), %xmm1
movaps %xmm1, %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps 0x10(%rsp), %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
movsd 0x49b7(%rip), %xmm2     # 0xc54d0
callq 0x21300
movaps 0x10(%rsp), %xmm0
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movaps 0x10(%rsp), %xmm0
movaps (%rsp), %xmm1
movaps %xmm0, %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps %xmm0, %xmm1
movaps 0x10(%rsp), %xmm2
callq 0x21e80
movaps (%rsp), %xmm0
movaps 0x10(%rsp), %xmm1
movaps %xmm1, %xmm2
callq 0x21e80
addq $0x28, %rsp
jmp 0x21c60