// File: /workspace/github_c_makefile_star2_O0/theovosse[P]llgen/llgen.c
// Function: printTokenSet
static void printTokenSet(FILE *f, TREE tokenSet) {
	TREE node;
	int lastBoundary = 0;
	unsigned long int cValue = 0;
	TREE tokens = NULL;

	for (node = GetFirstNode(tokenSet); node != NULL; node = GetNextNode(node)) {
		Name name = (Name) GetKey(node);
		long int tokenIndex = name->index;
		if (tokenIndex == -1) tokenIndex = 0;
		InsertNodeSingle(&tokens, (void *) tokenIndex, NULL, IntCmp);
	}
	node = GetFirstNode(tokens);
	while (lastBoundary <= nodeNumber) {
		if (node != NULL) {
			int tokenIndex = (int) GetKey(node);
			while (tokenIndex >= lastBoundary + nrBitsInElement) {
				fprintf(f, "0x%0*lX", (nrBitsInElement + 3) / 4, cValue);
				cValue = 0;
				lastBoundary += nrBitsInElement;
				if (lastBoundary <= nodeNumber) {
					fputs(", ", f);
				}
			}
			cValue |= 1 << (tokenIndex - lastBoundary);
			node = GetNextNode(node);
		} else {
			fprintf(f, "0x%0*lX", (nrBitsInElement + 3) / 4, cValue);
			cValue = 0;
			lastBoundary += nrBitsInElement;
			if (lastBoundary <= nodeNumber) {
				fputs(", ", f);
			}
		}
	}
	fprintf(f, "%s%s /*", targetLanguage->endOfArrayLiteral, targetLanguage->terminateDeclaration);
	for (node = GetFirstNode(tokenSet); node != NULL; node = GetNextNode(node)) {
		Name name = (Name) GetKey(node);
		fprintf(f, " %s", name->name);
	}
	fputs(" */\n", f);
	KillTree(tokens, NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movq $0x0, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10330
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x85da
movq -0x18(%rbp), %rdi
callq 0x10400
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $-0x1, -0x40(%rbp)
jne 0x85b3
movq $0x0, -0x40(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
leaq 0x1ca(%rip), %rcx       # 0x8790
callq 0xfc60
movq -0x18(%rbp), %rdi
callq 0x10430
movq %rax, -0x18(%rbp)
jmp 0x8584
movq -0x30(%rbp), %rdi
callq 0x10330
movq %rax, -0x18(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0x18768(%rip), %eax     # 0x20d58
jg 0x86fc
cmpq $0x0, -0x18(%rbp)
je 0x869d
movq -0x18(%rbp), %rdi
callq 0x10400
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movl -0x1c(%rbp), %ecx
addl 0x17b47(%rip), %ecx     # 0x20160
cmpl %ecx, %eax
jl 0x8677
movq -0x8(%rbp), %rdi
movl 0x17b39(%rip), %eax     # 0x20160
addl $0x3, %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edx
movq -0x28(%rbp), %rcx
leaq 0x10f37(%rip), %rsi     # 0x19576
movb $0x0, %al
callq 0x3140
movq $0x0, -0x28(%rbp)
movl 0x17b0c(%rip), %eax     # 0x20160
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0x186f5(%rip), %eax     # 0x20d58
jg 0x8675
movq -0x8(%rbp), %rsi
leaq 0x10f03(%rip), %rdi     # 0x19573
callq 0x3100
jmp 0x860d
movl -0x44(%rbp), %ecx
subl -0x1c(%rbp), %ecx
movl $0x1, %eax
shll %cl, %eax
cltq
orq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x10430
movq %rax, -0x18(%rbp)
jmp 0x86f7
movq -0x8(%rbp), %rdi
movl 0x17ab9(%rip), %eax     # 0x20160
addl $0x3, %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edx
movq -0x28(%rbp), %rcx
leaq 0x10eb7(%rip), %rsi     # 0x19576
movb $0x0, %al
callq 0x3140
movq $0x0, -0x28(%rbp)
movl 0x17a8c(%rip), %eax     # 0x20160
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0x18675(%rip), %eax     # 0x20d58
jg 0x86f5
movq -0x8(%rbp), %rsi
leaq 0x10e83(%rip), %rdi     # 0x19573
callq 0x3100
jmp 0x86f7
jmp 0x85e7
movq -0x8(%rbp), %rdi
movq 0x17a69(%rip), %rax     # 0x20170
movq 0x70(%rax), %rdx
movq 0x17a5e(%rip), %rax     # 0x20170
movq 0x78(%rax), %rcx
leaq 0x10e92(%rip), %rsi     # 0x195af
movb $0x0, %al
callq 0x3140
movq -0x10(%rbp), %rdi
callq 0x10330
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x876d
movq -0x18(%rbp), %rdi
callq 0x10400
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
movq -0x50(%rbp), %rax
movq (%rax), %rdx
leaq 0x1301d(%rip), %rsi     # 0x1b774
movb $0x0, %al
callq 0x3140
movq -0x18(%rbp), %rdi
callq 0x10430
movq %rax, -0x18(%rbp)
jmp 0x8731
movq -0x8(%rbp), %rsi
leaq 0x1124a(%rip), %rdi     # 0x199c2
callq 0x3100
movq -0x30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x106c0
addq $0x50, %rsp
popq %rbp
retq