// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/pkgs/GSV/GSVScanline.cpp
// Function: gaps::LoadColor(int)
static void
LoadColor(int k)
{
#if 1
  // Make array of colors
  static const int ncolors = 72;
  static const RNRgb colors[ncolors] = {
    RNRgb(0.5, 0.2, 0.2), RNRgb(0, 1, 0), RNRgb(0, 0, 1), 
    RNRgb(0.3, 0.6, 0), RNRgb(0, 1, 1), RNRgb(1, 0, 1), 
    RNRgb(1, 0.5, 0), RNRgb(0, 1, 0.5), RNRgb(0.5, 0, 1), 
    RNRgb(0.5, 1, 0), RNRgb(0, 0.5, 1), RNRgb(1, 0, 0.5), 
    RNRgb(0.5, 0, 0), RNRgb(0, 0.5, 0), RNRgb(0, 0, 0.5), 
    RNRgb(0.5, 0.5, 0), RNRgb(0, 0.5, 0.5), RNRgb(0.5, 0, 0.5),
    RNRgb(0.7, 0, 0), RNRgb(0, 0.7, 0), RNRgb(0, 0, 0.7), 
    RNRgb(0.7, 0.7, 0), RNRgb(0, 0.7, 0.7), RNRgb(0.7, 0, 0.7), 
    RNRgb(0.7, 0.3, 0), RNRgb(0, 0.7, 0.3), RNRgb(0.3, 0, 0.7), 
    RNRgb(0.3, 0.7, 0), RNRgb(0, 0.3, 0.7), RNRgb(0.7, 0, 0.3), 
    RNRgb(0.3, 0, 0), RNRgb(0, 0.3, 0), RNRgb(0, 0, 0.3), 
    RNRgb(0.3, 0.3, 0), RNRgb(0, 0.3, 0.3), RNRgb(0.3, 0, 0.3),
    RNRgb(1, 0.3, 0.3), RNRgb(0.3, 1, 0.3), RNRgb(0.3, 0.3, 1), 
    RNRgb(1, 0.0, 0.3), RNRgb(0.3, 1, 1), RNRgb(1, 0.3, 1), 
    RNRgb(1, 0.2, 0.7), RNRgb(0.3, 1, 0.5), RNRgb(0.5, 0.3, 1), 
    RNRgb(0.5, 1, 0.3), RNRgb(0.3, 0.5, 1), RNRgb(1, 0.3, 0.5), 
    RNRgb(0.5, 0.3, 0.3), RNRgb(0.3, 0.5, 0.3), RNRgb(0.3, 0.3, 0.5), 
    RNRgb(0.5, 0.5, 0.3), RNRgb(0.3, 0.5, 0.5), RNRgb(0.5, 0.3, 0.5),
    RNRgb(0.3, 0.5, 0.5), RNRgb(0.5, 0.3, 0.5), RNRgb(0.5, 0.5, 0.3), 
    RNRgb(0.3, 0.3, 0.5), RNRgb(0.5, 0.3, 0.3), RNRgb(0.3, 0.5, 0.3), 
    RNRgb(0.3, 0.8, 0.5), RNRgb(0.5, 0.3, 0.8), RNRgb(0.8, 0.5, 0.3), 
    RNRgb(0.8, 0.3, 0.5), RNRgb(0.5, 0.8, 0.3), RNRgb(0.3, 0.5, 0.8), 
    RNRgb(0.8, 0.5, 0.5), RNRgb(0.5, 0.8, 0.5), RNRgb(0.5, 0.5, 0.8), 
    RNRgb(0.8, 0.8, 0.5), RNRgb(0.5, 0.8, 0.8), RNRgb(0.8, 0.5, 0.8)
  };

  // Return color based on k
  if (k <= 0) RNLoadRgb(colors[0]);
  else RNLoadRgb(colors[1 + (k % (ncolors-1))]);
#else
  // Load identifier color
  if (k < 0) {
    RNLoadRgb(0.5, 0.5, 0.5);
  }
  else {
    unsigned char r = (224 + 67*k) % 256;
    unsigned char g = (32  + 47*k) % 256;
    unsigned char b = (32  + 29*k) % 256;
    RNLoadRgb(r, g, b);
  }
#endif
}

// Assembly:
pushq %rbx
movl %edi, %ebx
movb 0x1860d7(%rip), %al     # 0x1c4e40
testb %al, %al
je 0x3ed99
testl %ebx, %ebx
jle 0x3ed8c
pushq $0x47
popq %rcx
movl %ebx, %eax
xorl %edx, %edx
divl %ecx
incl %edx
imulq $0x18, %rdx, %rax
leaq 0x1859f9(%rip), %rdi    # 0x1c4780
addq %rax, %rdi
jmp 0x3ed93
leaq 0x1859ed(%rip), %rdi    # 0x1c4780
popq %rbx
jmp 0x30e9a
leaq 0x1860a0(%rip), %rdi    # 0x1c4e40
callq 0x281e0
testl %eax, %eax
je 0x3ed6d
leaq 0x1859d0(%rip), %rdi    # 0x1c4780
movsd 0xec280(%rip), %xmm0    # 0x12b038
movsd 0xed4c0(%rip), %xmm1    # 0x12c280
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x1859c9(%rip), %rdi    # 0x1c4798
movsd 0xec299(%rip), %xmm1    # 0x12b070
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x1859c7(%rip), %rdi    # 0x1c47b0
movsd 0xec27f(%rip), %xmm2    # 0x12b070
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x1859c5(%rip), %rdi    # 0x1c47c8
movsd 0xec2a5(%rip), %xmm0    # 0x12b0b0
movsd 0xed475(%rip), %xmm1    # 0x12c288
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x1859be(%rip), %rdi    # 0x1c47e0
movsd 0xec246(%rip), %xmm1    # 0x12b070
xorps %xmm0, %xmm0
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x1859bc(%rip), %rdi    # 0x1c47f8
movsd 0xec22c(%rip), %xmm0    # 0x12b070
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x1859ba(%rip), %rdi    # 0x1c4810
movsd 0xec212(%rip), %xmm0    # 0x12b070
movsd 0xec1d2(%rip), %xmm1    # 0x12b038
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x1859b3(%rip), %rdi    # 0x1c4828
movsd 0xec1f3(%rip), %xmm1    # 0x12b070
movsd 0xec1b3(%rip), %xmm2    # 0x12b038
xorps %xmm0, %xmm0
callq 0xe1b4a
leaq 0x1859ac(%rip), %rdi    # 0x1c4840
movsd 0xec19c(%rip), %xmm0    # 0x12b038
movsd 0xec1cc(%rip), %xmm2    # 0x12b070
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x1859a5(%rip), %rdi    # 0x1c4858
movsd 0xec17d(%rip), %xmm0    # 0x12b038
movsd 0xec1ad(%rip), %xmm1    # 0x12b070
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x18599e(%rip), %rdi    # 0x1c4870
movsd 0xec15e(%rip), %xmm1    # 0x12b038
movsd 0xec18e(%rip), %xmm2    # 0x12b070
xorps %xmm0, %xmm0
callq 0xe1b4a
leaq 0x185997(%rip), %rdi    # 0x1c4888
movsd 0xec177(%rip), %xmm0    # 0x12b070
movsd 0xec137(%rip), %xmm2    # 0x12b038
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x185990(%rip), %rdi    # 0x1c48a0
movsd 0xec120(%rip), %xmm0    # 0x12b038
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x18598e(%rip), %rdi    # 0x1c48b8
movsd 0xec106(%rip), %xmm1    # 0x12b038
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x18598c(%rip), %rdi    # 0x1c48d0
movsd 0xec0ec(%rip), %xmm2    # 0x12b038
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x18598a(%rip), %rdi    # 0x1c48e8
movsd 0xec0d2(%rip), %xmm0    # 0x12b038
xorps %xmm2, %xmm2
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x185988(%rip), %rdi    # 0x1c4900
movsd 0xec0b8(%rip), %xmm1    # 0x12b038
xorps %xmm0, %xmm0
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x185986(%rip), %rdi    # 0x1c4918
movsd 0xec09e(%rip), %xmm0    # 0x12b038
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x185984(%rip), %rdi    # 0x1c4930
movsd 0xec0f4(%rip), %xmm0    # 0x12b0a8
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x185982(%rip), %rdi    # 0x1c4948
movsd 0xec0da(%rip), %xmm1    # 0x12b0a8
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x185980(%rip), %rdi    # 0x1c4960
movsd 0xec0c0(%rip), %xmm2    # 0x12b0a8
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x18597e(%rip), %rdi    # 0x1c4978
movsd 0xec0a6(%rip), %xmm0    # 0x12b0a8
xorps %xmm2, %xmm2
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x18597c(%rip), %rdi    # 0x1c4990
movsd 0xec08c(%rip), %xmm1    # 0x12b0a8
xorps %xmm0, %xmm0
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x18597a(%rip), %rdi    # 0x1c49a8
movsd 0xec072(%rip), %xmm0    # 0x12b0a8
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x185978(%rip), %rdi    # 0x1c49c0
movsd 0xec058(%rip), %xmm0    # 0x12b0a8
movsd 0xec058(%rip), %xmm1    # 0x12b0b0
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x185971(%rip), %rdi    # 0x1c49d8
movsd 0xec039(%rip), %xmm1    # 0x12b0a8
movsd 0xec039(%rip), %xmm2    # 0x12b0b0
xorps %xmm0, %xmm0
callq 0xe1b4a
leaq 0x18596a(%rip), %rdi    # 0x1c49f0
movsd 0xec022(%rip), %xmm0    # 0x12b0b0
movsd 0xec012(%rip), %xmm2    # 0x12b0a8
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x185963(%rip), %rdi    # 0x1c4a08
movsd 0xec003(%rip), %xmm0    # 0x12b0b0
movsd 0xebff3(%rip), %xmm1    # 0x12b0a8
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x18595c(%rip), %rdi    # 0x1c4a20
movsd 0xebfe4(%rip), %xmm1    # 0x12b0b0
movsd 0xebfd4(%rip), %xmm2    # 0x12b0a8
xorps %xmm0, %xmm0
callq 0xe1b4a
leaq 0x185955(%rip), %rdi    # 0x1c4a38
movsd 0xebfbd(%rip), %xmm0    # 0x12b0a8
movsd 0xebfbd(%rip), %xmm2    # 0x12b0b0
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x18594e(%rip), %rdi    # 0x1c4a50
movsd 0xebfa6(%rip), %xmm0    # 0x12b0b0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x18594c(%rip), %rdi    # 0x1c4a68
movsd 0xebf8c(%rip), %xmm1    # 0x12b0b0
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0xe1b4a
leaq 0x18594a(%rip), %rdi    # 0x1c4a80
movsd 0xebf72(%rip), %xmm2    # 0x12b0b0
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x185948(%rip), %rdi    # 0x1c4a98
movsd 0xebf58(%rip), %xmm0    # 0x12b0b0
xorps %xmm2, %xmm2
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x185946(%rip), %rdi    # 0x1c4ab0
movsd 0xebf3e(%rip), %xmm1    # 0x12b0b0
xorps %xmm0, %xmm0
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x185944(%rip), %rdi    # 0x1c4ac8
movsd 0xebf24(%rip), %xmm0    # 0x12b0b0
xorps %xmm1, %xmm1
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x185942(%rip), %rdi    # 0x1c4ae0
movsd 0xebeca(%rip), %xmm0    # 0x12b070
movsd 0xebf02(%rip), %xmm1    # 0x12b0b0
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x18593b(%rip), %rdi    # 0x1c4af8
movsd 0xebeab(%rip), %xmm1    # 0x12b070
movsd 0xebee3(%rip), %xmm0    # 0x12b0b0
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x185934(%rip), %rdi    # 0x1c4b10
movsd 0xebecc(%rip), %xmm0    # 0x12b0b0
movsd 0xebe84(%rip), %xmm2    # 0x12b070
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x18592d(%rip), %rdi    # 0x1c4b28
movsd 0xebe6d(%rip), %xmm0    # 0x12b070
movsd 0xebea5(%rip), %xmm2    # 0x12b0b0
xorps %xmm1, %xmm1
callq 0xe1b4a
leaq 0x185926(%rip), %rdi    # 0x1c4b40
movsd 0xebe8e(%rip), %xmm0    # 0x12b0b0
movsd 0xebe46(%rip), %xmm1    # 0x12b070
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x18591f(%rip), %rdi    # 0x1c4b58
movsd 0xebe6f(%rip), %xmm1    # 0x12b0b0
movsd 0xebe27(%rip), %xmm0    # 0x12b070
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x185918(%rip), %rdi    # 0x1c4b70
movsd 0xebe10(%rip), %xmm0    # 0x12b070
movsd 0xed018(%rip), %xmm1    # 0x12c280
movsd 0xebe38(%rip), %xmm2    # 0x12b0a8
callq 0xe1b4a
leaq 0x18590c(%rip), %rdi    # 0x1c4b88
movsd 0xebe2c(%rip), %xmm0    # 0x12b0b0
movsd 0xebde4(%rip), %xmm1    # 0x12b070
movsd 0xebda4(%rip), %xmm2    # 0x12b038
callq 0xe1b4a
leaq 0x185900(%rip), %rdi    # 0x1c4ba0
movsd 0xebd90(%rip), %xmm0    # 0x12b038
movsd 0xebe00(%rip), %xmm1    # 0x12b0b0
movsd 0xebdb8(%rip), %xmm2    # 0x12b070
callq 0xe1b4a
leaq 0x1858f4(%rip), %rdi    # 0x1c4bb8
movsd 0xebd6c(%rip), %xmm0    # 0x12b038
movsd 0xebd9c(%rip), %xmm1    # 0x12b070
movsd 0xebdd4(%rip), %xmm2    # 0x12b0b0
callq 0xe1b4a
leaq 0x1858e8(%rip), %rdi    # 0x1c4bd0
movsd 0xebdc0(%rip), %xmm0    # 0x12b0b0
movsd 0xebd40(%rip), %xmm1    # 0x12b038
movsd 0xebd70(%rip), %xmm2    # 0x12b070
callq 0xe1b4a
leaq 0x1858dc(%rip), %rdi    # 0x1c4be8
movsd 0xebd5c(%rip), %xmm0    # 0x12b070
movsd 0xebd94(%rip), %xmm1    # 0x12b0b0
movsd 0xebd14(%rip), %xmm2    # 0x12b038
callq 0xe1b4a
leaq 0x1858d0(%rip), %rdi    # 0x1c4c00
movsd 0xebd00(%rip), %xmm0    # 0x12b038
movsd 0xebd70(%rip), %xmm1    # 0x12b0b0
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x1858c9(%rip), %rdi    # 0x1c4c18
movsd 0xebce1(%rip), %xmm1    # 0x12b038
movsd 0xebd51(%rip), %xmm0    # 0x12b0b0
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x1858c2(%rip), %rdi    # 0x1c4c30
movsd 0xebd3a(%rip), %xmm0    # 0x12b0b0
movsd 0xebcba(%rip), %xmm2    # 0x12b038
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x1858bb(%rip), %rdi    # 0x1c4c48
movsd 0xebca3(%rip), %xmm0    # 0x12b038
movsd 0xebd13(%rip), %xmm2    # 0x12b0b0
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x1858b4(%rip), %rdi    # 0x1c4c60
movsd 0xebcfc(%rip), %xmm0    # 0x12b0b0
movsd 0xebc7c(%rip), %xmm1    # 0x12b038
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x1858ad(%rip), %rdi    # 0x1c4c78
movsd 0xebcdd(%rip), %xmm1    # 0x12b0b0
movsd 0xebc5d(%rip), %xmm0    # 0x12b038
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x1858a6(%rip), %rdi    # 0x1c4c90
movsd 0xebcbe(%rip), %xmm0    # 0x12b0b0
movsd 0xebc3e(%rip), %xmm1    # 0x12b038
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x18589f(%rip), %rdi    # 0x1c4ca8
movsd 0xebc9f(%rip), %xmm1    # 0x12b0b0
movsd 0xebc1f(%rip), %xmm0    # 0x12b038
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x185898(%rip), %rdi    # 0x1c4cc0
movsd 0xebc08(%rip), %xmm0    # 0x12b038
movsd 0xebc78(%rip), %xmm2    # 0x12b0b0
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x185891(%rip), %rdi    # 0x1c4cd8
movsd 0xebc61(%rip), %xmm0    # 0x12b0b0
movsd 0xebbe1(%rip), %xmm2    # 0x12b038
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x18588a(%rip), %rdi    # 0x1c4cf0
movsd 0xebbca(%rip), %xmm0    # 0x12b038
movsd 0xebc3a(%rip), %xmm1    # 0x12b0b0
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x185883(%rip), %rdi    # 0x1c4d08
movsd 0xebbab(%rip), %xmm1    # 0x12b038
movsd 0xebc1b(%rip), %xmm0    # 0x12b0b0
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x18587c(%rip), %rdi    # 0x1c4d20
movsd 0xebc04(%rip), %xmm0    # 0x12b0b0
movsd 0xebbe4(%rip), %xmm1    # 0x12b098
movsd 0xebb7c(%rip), %xmm2    # 0x12b038
callq 0xe1b4a
leaq 0x185870(%rip), %rdi    # 0x1c4d38
movsd 0xebb68(%rip), %xmm0    # 0x12b038
movsd 0xebbd8(%rip), %xmm1    # 0x12b0b0
movsd 0xebbb8(%rip), %xmm2    # 0x12b098
callq 0xe1b4a
leaq 0x185864(%rip), %rdi    # 0x1c4d50
movsd 0xebba4(%rip), %xmm0    # 0x12b098
movsd 0xebb3c(%rip), %xmm1    # 0x12b038
movsd 0xebbac(%rip), %xmm2    # 0x12b0b0
callq 0xe1b4a
leaq 0x185858(%rip), %rdi    # 0x1c4d68
movsd 0xebb80(%rip), %xmm0    # 0x12b098
movsd 0xebb90(%rip), %xmm1    # 0x12b0b0
movsd 0xebb10(%rip), %xmm2    # 0x12b038
callq 0xe1b4a
leaq 0x18584c(%rip), %rdi    # 0x1c4d80
movsd 0xebafc(%rip), %xmm0    # 0x12b038
movsd 0xebb54(%rip), %xmm1    # 0x12b098
movsd 0xebb64(%rip), %xmm2    # 0x12b0b0
callq 0xe1b4a
leaq 0x185840(%rip), %rdi    # 0x1c4d98
movsd 0xebb50(%rip), %xmm0    # 0x12b0b0
movsd 0xebad0(%rip), %xmm1    # 0x12b038
movsd 0xebb28(%rip), %xmm2    # 0x12b098
callq 0xe1b4a
leaq 0x185834(%rip), %rdi    # 0x1c4db0
movsd 0xebb14(%rip), %xmm0    # 0x12b098
movsd 0xebaac(%rip), %xmm1    # 0x12b038
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x18582d(%rip), %rdi    # 0x1c4dc8
movsd 0xebaf5(%rip), %xmm1    # 0x12b098
movsd 0xeba8d(%rip), %xmm0    # 0x12b038
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x185826(%rip), %rdi    # 0x1c4de0
movsd 0xeba76(%rip), %xmm0    # 0x12b038
movsd 0xebace(%rip), %xmm2    # 0x12b098
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x18581f(%rip), %rdi    # 0x1c4df8
movsd 0xebab7(%rip), %xmm0    # 0x12b098
movsd 0xeba4f(%rip), %xmm2    # 0x12b038
movaps %xmm0, %xmm1
callq 0xe1b4a
leaq 0x185818(%rip), %rdi    # 0x1c4e10
movsd 0xeba38(%rip), %xmm0    # 0x12b038
movsd 0xeba90(%rip), %xmm1    # 0x12b098
movaps %xmm1, %xmm2
callq 0xe1b4a
leaq 0x185811(%rip), %rdi    # 0x1c4e28
movsd 0xeba19(%rip), %xmm1    # 0x12b038
movsd 0xeba71(%rip), %xmm0    # 0x12b098
movaps %xmm0, %xmm2
callq 0xe1b4a
leaq 0x18580a(%rip), %rdi    # 0x1c4e40
callq 0x275f0
jmp 0x3ed6d
movq %rax, %rbx
leaq 0x1857f6(%rip), %rdi    # 0x1c4e40
callq 0x275d0
movq %rbx, %rdi
callq 0x28170
nop