// File: tomfunkhouser[P]gaps/pkgs/fglut/freeglut_geometry.c
// Function: glutWireIcosahedron
void FGAPIENTRY glutWireIcosahedron( void )
{
  int i ;

  FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutWireIcosahedron" );

  for ( i = 0; i < 20; i++ )
  {
    double normal[3] ;
    normal[0] = ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) - ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) ;
    normal[1] = ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) - ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) ;
    normal[2] = ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) - ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) ;
    glBegin ( GL_LINE_LOOP ) ;
      glNormal3dv ( normal ) ;
      glVertex3dv ( icos_r[icos_v[i][0]] ) ;
      glVertex3dv ( icos_r[icos_v[i][1]] ) ;
      glVertex3dv ( icos_r[icos_v[i][2]] ) ;
    glEnd () ;
  }
}

// Assembly:
subq $0x28, %rsp
leaq 0x6ed65(%rip), %rax     # 0x1fa390
cmpb $0x0, 0x1c(%rax)
jne 0x18b646
leaq 0x1229a(%rip), %rdi     # 0x19d8d2
leaq 0x23c67(%rip), %rsi     # 0x1af2a6
movb $0x0, %al
callq 0x17de70
movl $0x0, 0x24(%rsp)
cmpl $0x14, 0x24(%rsp)
jge 0x18bb53
movslq 0x24(%rsp), %rcx
leaq 0x6f0eb(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rcx
leaq 0x6efb9(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
movslq 0x24(%rsp), %rcx
leaq 0x6f0c1(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ef90(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x8(%rax), %xmm0
movslq 0x24(%rsp), %rcx
leaq 0x6f098(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rcx
leaq 0x6ef66(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0x6f06e(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ef3d(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x10(%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0x6f045(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rcx
leaq 0x6ef13(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movslq 0x24(%rsp), %rcx
leaq 0x6f01b(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6eeea(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x10(%rax), %xmm1
movslq 0x24(%rsp), %rcx
leaq 0x6eff2(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rcx
leaq 0x6eec0(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm3
movslq 0x24(%rsp), %rcx
leaq 0x6efc8(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ee97(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x8(%rax), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rsp)
movslq 0x24(%rsp), %rcx
leaq 0x6ef77(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rcx
leaq 0x6ee45(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
movslq 0x24(%rsp), %rcx
leaq 0x6ef4d(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ee1c(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x10(%rax), %xmm0
movslq 0x24(%rsp), %rcx
leaq 0x6ef24(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rcx
leaq 0x6edf2(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0x6eefb(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6edca(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd (%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0x6eed3(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rcx
leaq 0x6eda1(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movslq 0x24(%rsp), %rcx
leaq 0x6eeaa(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ed79(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd (%rax), %xmm1
movslq 0x24(%rsp), %rcx
leaq 0x6ee82(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rcx
leaq 0x6ed50(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm3
movslq 0x24(%rsp), %rcx
leaq 0x6ee58(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ed27(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x10(%rax), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rsp)
movslq 0x24(%rsp), %rcx
leaq 0x6ee06(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rcx
leaq 0x6ecd4(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
movslq 0x24(%rsp), %rcx
leaq 0x6eddd(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ecac(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd (%rax), %xmm0
movslq 0x24(%rsp), %rcx
leaq 0x6edb5(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rcx
leaq 0x6ec83(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0x6ed8b(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ec5a(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x8(%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0x6ed62(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rcx
leaq 0x6ec30(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
movslq 0x24(%rsp), %rcx
leaq 0x6ed38(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ec07(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd 0x8(%rax), %xmm1
movslq 0x24(%rsp), %rcx
leaq 0x6ed0f(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rcx
leaq 0x6ebdd(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm3
movslq 0x24(%rsp), %rcx
leaq 0x6ece6(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x6ebb5(%rip), %rax     # 0x1fa630
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
subsd (%rax), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movl $0x2, %edi
callq 0x221b0
movq %rsp, %rdi
callq 0x22fb0
movslq 0x24(%rsp), %rcx
leaq 0x6ec83(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rax
leaq 0x6eb52(%rip), %rdi     # 0x1fa630
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0x221d0
movslq 0x24(%rsp), %rcx
leaq 0x6ec5a(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rax
leaq 0x6eb28(%rip), %rdi     # 0x1fa630
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0x221d0
movslq 0x24(%rsp), %rcx
leaq 0x6ec30(%rip), %rax     # 0x1fa750
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movslq 0x8(%rax), %rax
leaq 0x6eafe(%rip), %rdi     # 0x1fa630
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0x221d0
callq 0x22de0
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0x18b64e
addq $0x28, %rsp
retq
nopl (%rax,%rax)