// File: tomfunkhouser[P]gaps/pkgs/fglut/freeglut_geometry.c
// Function: glutSolidOctahedron
void FGAPIENTRY glutSolidOctahedron( void )
{
  FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSolidOctahedron" );

#define RADIUS    1.0f
  glBegin( GL_TRIANGLES );
    glNormal3d( 0.577350269189, 0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
    glNormal3d( 0.577350269189, 0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS ); glVertex3d( 0.0, RADIUS, 0.0 );
    glNormal3d( 0.577350269189,-0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS ); glVertex3d( 0.0,-RADIUS, 0.0 );
    glNormal3d( 0.577350269189,-0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
    glNormal3d(-0.577350269189, 0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS ); glVertex3d( 0.0, RADIUS, 0.0 );
    glNormal3d(-0.577350269189, 0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
    glNormal3d(-0.577350269189,-0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
    glNormal3d(-0.577350269189,-0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS ); glVertex3d( 0.0,-RADIUS, 0.0 );
  glEnd();
#undef RADIUS
}

// Assembly:
pushq %rax
leaq 0x6f508(%rip), %rax     # 0x1fa390
cmpb $0x0, 0x1c(%rax)
jne 0x18aea3
leaq 0x12a3d(%rip), %rdi     # 0x19d8d2
leaq 0x243cd(%rip), %rsi     # 0x1af269
movb $0x0, %al
callq 0x17de70
movl $0x4, %edi
callq 0x221b0
movsd 0x246db(%rip), %xmm2    # 0x1af590
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x22330
movsd 0x3148(%rip), %xmm0     # 0x18e010
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x3132(%rip), %xmm1     # 0x18e010
movaps %xmm2, %xmm0
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x311f(%rip), %xmm2     # 0x18e010
movaps %xmm1, %xmm0
callq 0x23020
movsd 0x2468f(%rip), %xmm1    # 0x1af590
movsd 0x2467f(%rip), %xmm2    # 0x1af588
movaps %xmm1, %xmm0
callq 0x22330
movsd 0x30f7(%rip), %xmm0     # 0x18e010
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x3681(%rip), %xmm2     # 0x18e5b0
movaps %xmm1, %xmm0
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x30ce(%rip), %xmm1     # 0x18e010
movaps %xmm2, %xmm0
callq 0x23020
movsd 0x2463e(%rip), %xmm2    # 0x1af590
movsd 0x2462e(%rip), %xmm1    # 0x1af588
movaps %xmm2, %xmm0
callq 0x22330
movsd 0x30a6(%rip), %xmm0     # 0x18e010
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x3090(%rip), %xmm2     # 0x18e010
movaps %xmm1, %xmm0
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x361d(%rip), %xmm1     # 0x18e5b0
movaps %xmm2, %xmm0
callq 0x23020
movsd 0x245ed(%rip), %xmm0    # 0x1af590
movsd 0x245dd(%rip), %xmm2    # 0x1af588
movaps %xmm2, %xmm1
callq 0x22330
movsd 0x3055(%rip), %xmm0     # 0x18e010
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x35df(%rip), %xmm1     # 0x18e5b0
movaps %xmm2, %xmm0
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x35cc(%rip), %xmm2     # 0x18e5b0
movaps %xmm1, %xmm0
callq 0x23020
movsd 0x24594(%rip), %xmm0    # 0x1af588
movsd 0x24594(%rip), %xmm2    # 0x1af590
movaps %xmm2, %xmm1
callq 0x22330
movsd 0x35a4(%rip), %xmm0     # 0x18e5b0
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x2fee(%rip), %xmm2     # 0x18e010
movaps %xmm1, %xmm0
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x2fdb(%rip), %xmm1     # 0x18e010
movaps %xmm2, %xmm0
callq 0x23020
movsd 0x24543(%rip), %xmm2    # 0x1af588
movsd 0x24543(%rip), %xmm1    # 0x1af590
movaps %xmm2, %xmm0
callq 0x22330
movsd 0x3553(%rip), %xmm0     # 0x18e5b0
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x2f9d(%rip), %xmm1     # 0x18e010
movaps %xmm2, %xmm0
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x352a(%rip), %xmm2     # 0x18e5b0
movaps %xmm1, %xmm0
callq 0x23020
movsd 0x244f2(%rip), %xmm1    # 0x1af588
movsd 0x244f2(%rip), %xmm2    # 0x1af590
movaps %xmm1, %xmm0
callq 0x22330
movsd 0x3502(%rip), %xmm0     # 0x18e5b0
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x34ec(%rip), %xmm1     # 0x18e5b0
movaps %xmm2, %xmm0
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x2f39(%rip), %xmm2     # 0x18e010
movaps %xmm1, %xmm0
callq 0x23020
movsd 0x244a1(%rip), %xmm2    # 0x1af588
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x22330
movsd 0x34b6(%rip), %xmm0     # 0x18e5b0
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm1, %xmm1
movsd 0x34a0(%rip), %xmm2     # 0x18e5b0
movaps %xmm1, %xmm0
callq 0x23020
xorps %xmm2, %xmm2
movsd 0x348d(%rip), %xmm1     # 0x18e5b0
movaps %xmm2, %xmm0
callq 0x23020
callq 0x22de0
popq %rax
retq
nopw %cs:(%rax,%rax)