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

  /* Magic Numbers:  It is possible to create a dodecahedron by attaching two pentagons to each face of
   * of a cube.  The coordinates of the points are:
   *   (+-x,0, z); (+-1, 1, 1); (0, z, x )
   * where x = (-1 + sqrt(5))/2, z = (1 + sqrt(5))/2  or
   *       x = 0.61803398875 and z = 1.61803398875.
   */
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.0,  0.525731112119,  0.850650808354 ) ; glVertex3d (  0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( -0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d (  0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.0,  0.525731112119, -0.850650808354 ) ; glVertex3d (  0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d (  0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.0, -0.525731112119,  0.850650808354 ) ; glVertex3d (  0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d (  0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.0, -0.525731112119, -0.850650808354 ) ; glVertex3d (  0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d (  0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
  glEnd () ;

  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.850650808354,  0.0,  0.525731112119 ) ; glVertex3d (  0.61803398875,  0.0,  1.61803398875 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d (  1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d (  1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d ( -0.850650808354,  0.0,  0.525731112119 ) ; glVertex3d ( -0.61803398875,  0.0,  1.61803398875 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.850650808354,  0.0, -0.525731112119 ) ; glVertex3d (  0.61803398875,  0.0, -1.61803398875 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d (  1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d (  1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d ( -0.850650808354,  0.0, -0.525731112119 ) ; glVertex3d ( -0.61803398875,  0.0, -1.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
  glEnd () ;

  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.525731112119,  0.850650808354,  0.0 ) ; glVertex3d (  1.61803398875,  0.61803398875,  0.0 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d ( 0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d (  0.525731112119, -0.850650808354,  0.0 ) ; glVertex3d (  1.61803398875, -0.61803398875,  0.0 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d ( 0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d ( -0.525731112119,  0.850650808354,  0.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875,  0.0 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( 0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d ( 0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
  glEnd () ;
  glBegin ( GL_LINE_LOOP ) ;
  glNormal3d ( -0.525731112119, -0.850650808354,  0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875,  0.0 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
  glEnd () ;
}

// Assembly:
pushq %rax
leaq 0x706c8(%rip), %rax     # 0x1fa390
cmpb $0x0, 0x1c(%rax)
jne 0x189ce3
leaq 0x13bfd(%rip), %rdi     # 0x19d8d2
leaq 0x25530(%rip), %rsi     # 0x1af20c
movb $0x0, %al
callq 0x17de70
movl $0x2, %edi
callq 0x221b0
xorps %xmm0, %xmm0
movsd 0x25888(%rip), %xmm1    # 0x1af580
movsd 0x25878(%rip), %xmm2    # 0x1af578
callq 0x22330
xorps %xmm0, %xmm0
movsd 0x25860(%rip), %xmm1    # 0x1af570
movsd 0x25838(%rip), %xmm2    # 0x1af550
callq 0x23020
movsd 0x488b(%rip), %xmm0     # 0x18e5b0
movsd 0x42e3(%rip), %xmm2     # 0x18e010
movaps %xmm2, %xmm1
callq 0x23020
movsd 0x2581b(%rip), %xmm0    # 0x1af558
xorps %xmm1, %xmm1
movsd 0x25828(%rip), %xmm2    # 0x1af570
callq 0x23020
movsd 0x257fb(%rip), %xmm0    # 0x1af550
xorps %xmm1, %xmm1
movsd 0x25810(%rip), %xmm2    # 0x1af570
callq 0x23020
movsd 0x42a3(%rip), %xmm2     # 0x18e010
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
xorps %xmm0, %xmm0
movsd 0x257ee(%rip), %xmm1    # 0x1af580
movsd 0x257ce(%rip), %xmm2    # 0x1af568
callq 0x22330
xorps %xmm0, %xmm0
movsd 0x257c6(%rip), %xmm1    # 0x1af570
movsd 0x257a6(%rip), %xmm2    # 0x1af558
callq 0x23020
movsd 0x4251(%rip), %xmm1     # 0x18e010
movsd 0x47e9(%rip), %xmm2     # 0x18e5b0
movaps %xmm1, %xmm0
callq 0x23020
movsd 0x25779(%rip), %xmm0    # 0x1af550
xorps %xmm1, %xmm1
movsd 0x25766(%rip), %xmm2    # 0x1af548
callq 0x23020
movsd 0x25769(%rip), %xmm0    # 0x1af558
xorps %xmm1, %xmm1
movsd 0x2574e(%rip), %xmm2    # 0x1af548
callq 0x23020
movsd 0x47a9(%rip), %xmm2     # 0x18e5b0
movsd 0x4201(%rip), %xmm1     # 0x18e010
movaps %xmm2, %xmm0
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
xorps %xmm0, %xmm0
movsd 0x2572f(%rip), %xmm1    # 0x1af560
movsd 0x2573f(%rip), %xmm2    # 0x1af578
callq 0x22330
xorps %xmm0, %xmm0
movsd 0x256ff(%rip), %xmm1    # 0x1af548
movsd 0x256ff(%rip), %xmm2    # 0x1af550
callq 0x23020
movsd 0x41b2(%rip), %xmm2     # 0x18e010
movsd 0x474a(%rip), %xmm1     # 0x18e5b0
movaps %xmm2, %xmm0
callq 0x23020
movsd 0x256da(%rip), %xmm0    # 0x1af550
xorps %xmm1, %xmm1
movsd 0x256ef(%rip), %xmm2    # 0x1af570
callq 0x23020
movsd 0x256ca(%rip), %xmm0    # 0x1af558
xorps %xmm1, %xmm1
movsd 0x256d7(%rip), %xmm2    # 0x1af570
callq 0x23020
movsd 0x470a(%rip), %xmm1     # 0x18e5b0
movsd 0x4162(%rip), %xmm2     # 0x18e010
movaps %xmm1, %xmm0
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
xorps %xmm0, %xmm0
movsd 0x25690(%rip), %xmm1    # 0x1af560
movsd 0x25690(%rip), %xmm2    # 0x1af568
callq 0x22330
xorps %xmm0, %xmm0
movsd 0x25660(%rip), %xmm1    # 0x1af548
movsd 0x25668(%rip), %xmm2    # 0x1af558
callq 0x23020
movsd 0x46b3(%rip), %xmm2     # 0x18e5b0
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x23020
movsd 0x25648(%rip), %xmm0    # 0x1af558
xorps %xmm1, %xmm1
movsd 0x2562d(%rip), %xmm2    # 0x1af548
callq 0x23020
movsd 0x25628(%rip), %xmm0    # 0x1af550
xorps %xmm1, %xmm1
movsd 0x25615(%rip), %xmm2    # 0x1af548
callq 0x23020
movsd 0x40d0(%rip), %xmm0     # 0x18e010
movsd 0x4668(%rip), %xmm2     # 0x18e5b0
movaps %xmm2, %xmm1
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x25611(%rip), %xmm0    # 0x1af578
xorps %xmm1, %xmm1
movsd 0x2560e(%rip), %xmm2    # 0x1af580
callq 0x22330
movsd 0x255d1(%rip), %xmm0    # 0x1af550
xorps %xmm1, %xmm1
movsd 0x255e6(%rip), %xmm2    # 0x1af570
callq 0x23020
movsd 0x4079(%rip), %xmm2     # 0x18e010
movsd 0x4611(%rip), %xmm1     # 0x18e5b0
movaps %xmm2, %xmm0
callq 0x23020
movsd 0x255c1(%rip), %xmm0    # 0x1af570
movsd 0x255a1(%rip), %xmm1    # 0x1af558
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x255a9(%rip), %xmm0    # 0x1af570
movsd 0x25581(%rip), %xmm1    # 0x1af550
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x4031(%rip), %xmm2     # 0x18e010
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x25567(%rip), %xmm0    # 0x1af568
xorps %xmm1, %xmm1
movsd 0x25574(%rip), %xmm2    # 0x1af580
callq 0x22330
movsd 0x2553f(%rip), %xmm0    # 0x1af558
xorps %xmm1, %xmm1
movsd 0x2554c(%rip), %xmm2    # 0x1af570
callq 0x23020
movsd 0x457f(%rip), %xmm0     # 0x18e5b0
movsd 0x3fd7(%rip), %xmm2     # 0x18e010
movaps %xmm2, %xmm1
callq 0x23020
movsd 0x254ff(%rip), %xmm0    # 0x1af548
movsd 0x254ff(%rip), %xmm1    # 0x1af550
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x254e7(%rip), %xmm0    # 0x1af548
movsd 0x254ef(%rip), %xmm1    # 0x1af558
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x4537(%rip), %xmm1     # 0x18e5b0
movsd 0x3f8f(%rip), %xmm2     # 0x18e010
movaps %xmm1, %xmm0
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x254d8(%rip), %xmm0    # 0x1af578
xorps %xmm1, %xmm1
movsd 0x254b5(%rip), %xmm2    # 0x1af560
callq 0x22330
movsd 0x25498(%rip), %xmm0    # 0x1af550
xorps %xmm1, %xmm1
movsd 0x25485(%rip), %xmm2    # 0x1af548
callq 0x23020
movsd 0x3f40(%rip), %xmm1     # 0x18e010
movsd 0x44d8(%rip), %xmm2     # 0x18e5b0
movaps %xmm1, %xmm0
callq 0x23020
movsd 0x25488(%rip), %xmm0    # 0x1af570
movsd 0x25460(%rip), %xmm1    # 0x1af550
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x25470(%rip), %xmm0    # 0x1af570
movsd 0x25450(%rip), %xmm1    # 0x1af558
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x3ef8(%rip), %xmm0     # 0x18e010
movsd 0x4490(%rip), %xmm2     # 0x18e5b0
movaps %xmm2, %xmm1
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x25429(%rip), %xmm0    # 0x1af568
xorps %xmm1, %xmm1
movsd 0x25416(%rip), %xmm2    # 0x1af560
callq 0x22330
movsd 0x25401(%rip), %xmm0    # 0x1af558
xorps %xmm1, %xmm1
movsd 0x253e6(%rip), %xmm2    # 0x1af548
callq 0x23020
movsd 0x4441(%rip), %xmm2     # 0x18e5b0
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x23020
movsd 0x253c6(%rip), %xmm0    # 0x1af548
movsd 0x253ce(%rip), %xmm1    # 0x1af558
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x253ae(%rip), %xmm0    # 0x1af548
movsd 0x253ae(%rip), %xmm1    # 0x1af550
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x43fe(%rip), %xmm2     # 0x18e5b0
movsd 0x3e56(%rip), %xmm1     # 0x18e010
movaps %xmm2, %xmm0
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x253a7(%rip), %xmm0    # 0x1af580
movsd 0x25397(%rip), %xmm1    # 0x1af578
xorps %xmm2, %xmm2
callq 0x22330
movsd 0x2537f(%rip), %xmm0    # 0x1af570
movsd 0x25357(%rip), %xmm1    # 0x1af550
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x3e07(%rip), %xmm1     # 0x18e010
movsd 0x439f(%rip), %xmm2     # 0x18e5b0
movaps %xmm1, %xmm0
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x2534c(%rip), %xmm1    # 0x1af570
movsd 0x2532c(%rip), %xmm2    # 0x1af558
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x25334(%rip), %xmm1    # 0x1af570
movsd 0x2530c(%rip), %xmm2    # 0x1af550
callq 0x23020
movsd 0x3dbf(%rip), %xmm2     # 0x18e010
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x2530d(%rip), %xmm0    # 0x1af580
movsd 0x252ed(%rip), %xmm1    # 0x1af568
xorps %xmm2, %xmm2
callq 0x22330
movsd 0x252e5(%rip), %xmm0    # 0x1af570
movsd 0x252c5(%rip), %xmm1    # 0x1af558
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x3d6d(%rip), %xmm2     # 0x18e010
movsd 0x4305(%rip), %xmm1     # 0x18e5b0
movaps %xmm2, %xmm0
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x2528a(%rip), %xmm1    # 0x1af548
movsd 0x2528a(%rip), %xmm2    # 0x1af550
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x25272(%rip), %xmm1    # 0x1af548
movsd 0x2527a(%rip), %xmm2    # 0x1af558
callq 0x23020
movsd 0x3d25(%rip), %xmm0     # 0x18e010
movsd 0x42bd(%rip), %xmm2     # 0x18e5b0
movaps %xmm2, %xmm1
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x2524e(%rip), %xmm0    # 0x1af560
movsd 0x2525e(%rip), %xmm1    # 0x1af578
xorps %xmm2, %xmm2
callq 0x22330
movsd 0x2521e(%rip), %xmm0    # 0x1af548
movsd 0x2521e(%rip), %xmm1    # 0x1af550
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x426e(%rip), %xmm0     # 0x18e5b0
movsd 0x3cc6(%rip), %xmm2     # 0x18e010
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x25213(%rip), %xmm1    # 0x1af570
movsd 0x251eb(%rip), %xmm2    # 0x1af550
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x251fb(%rip), %xmm1    # 0x1af570
movsd 0x251db(%rip), %xmm2    # 0x1af558
callq 0x23020
movsd 0x4226(%rip), %xmm2     # 0x18e5b0
movsd 0x3c7e(%rip), %xmm1     # 0x18e010
movaps %xmm2, %xmm0
callq 0x23020
callq 0x22de0
movl $0x2, %edi
callq 0x221b0
movsd 0x251af(%rip), %xmm0    # 0x1af560
movsd 0x251af(%rip), %xmm1    # 0x1af568
xorps %xmm2, %xmm2
callq 0x22330
movsd 0x2517f(%rip), %xmm0    # 0x1af548
movsd 0x25187(%rip), %xmm1    # 0x1af558
xorps %xmm2, %xmm2
callq 0x23020
movsd 0x41cf(%rip), %xmm2     # 0x18e5b0
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x25151(%rip), %xmm1    # 0x1af548
movsd 0x25159(%rip), %xmm2    # 0x1af558
callq 0x23020
xorps %xmm0, %xmm0
movsd 0x25139(%rip), %xmm1    # 0x1af548
movsd 0x25139(%rip), %xmm2    # 0x1af550
callq 0x23020
movsd 0x418c(%rip), %xmm1     # 0x18e5b0
movsd 0x3be4(%rip), %xmm2     # 0x18e010
movaps %xmm1, %xmm0
callq 0x23020
callq 0x22de0
popq %rax
retq
nopl (%rax,%rax)