// File: /workspace/github_c_makefile_star2_O3/lucvoo[P]sparse-dev/tokenize.c
// Function: tokenize_stream
static struct token *tokenize_stream(stream_t *stream)
{
	int c = nextchar(stream);
	while (c != EOF) {
		if (!isspace(c)) {
			struct token *token = alloc_token(stream);
			stream->token = token;
			stream->newline = 0;
			stream->whitespace = 0;
			c = get_one_token(c, stream);
			continue;
		}
		stream->whitespace = 1;
		c = nextchar(stream);
	}
	return mark_eof(stream);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rdi, %rbx
callq 0x2ee53
cmpl $-0x1, %eax
je 0x2ecf9
movl %eax, %r12d
callq 0xe300
movq %rax, %r13
movq %rax, 0x8(%rsp)
movq (%r13), %rax
movl %r12d, %r14d
testb $0x20, 0x1(%rax,%r14,2)
jne 0x2e9cd
movq %rbx, %rdi
callq 0x2ee0a
movq %rax, 0x28(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x19896(%rip), %rax     # 0x48220
movzbl 0x1(%r14,%rax), %eax
testb $0x2, %al
jne 0x2e9e1
testb $0x1, %al
jne 0x2e9fb
movq %rbx, %rdi
callq 0x2ee53
cmpl $0x2d, %r12d
jg 0x2ea68
cmpl $0x22, %r12d
je 0x2eb27
cmpl $0x27, %r12d
jne 0x2eb81
movl %eax, %edi
movq %rbx, %rsi
movl $0x6, %edx
jmp 0x2ec43
movl $0x1, 0x1c(%rbx)
movq %rbx, %rdi
callq 0x2ee53
jmp 0x2ec48
movq %rbx, %rdi
callq 0x2ee53
movl %r12d, %edi
movl %eax, %esi
movq %rbx, %rdx
callq 0x2f074
jmp 0x2ec48
movb %r12b, 0x10(%rsp)
movq %rbx, %rdi
callq 0x2ee53
movl %eax, %ebp
incl %eax
leaq 0x1980d(%rip), %rcx     # 0x48220
movzbl (%rax,%rcx), %eax
testb $0x3, %al
je 0x2ea94
movl $0x1, %r15d
movq %r15, %r13
leaq (%r14,%r14,4), %rax
leaq (%r14,%rax,2), %rax
movl %ebp, %r14d
addq %rax, %r14
movb %bpl, 0x10(%rsp,%r15)
incq %r15
movq %rbx, %rdi
callq 0x2ee53
movl %eax, %ebp
incl %eax
leaq 0x197d3(%rip), %rcx     # 0x48220
movzbl (%rax,%rcx), %eax
cmpq $0xfe, %r13
ja 0x2ea61
movl %eax, %ecx
andl $0x3, %ecx
jne 0x2ea21
movq 0x8(%rsp), %r13
jmp 0x2ea9a
cmpl $0x2f, %r12d
je 0x2eb36
cmpl $0x2e, %r12d
jne 0x2eb81
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0x2eb81
movl $0x2e, %edi
movl %eax, %esi
jmp 0x2e9ee
movl $0x1, %r15d
testb $0x40, %al
je 0x2ead0
cmpl $0x1, %r15d
setne %al
cmpb $0x4c, %r12b
setne %cl
orb %al, %cl
jne 0x2ead0
movq %rbx, %rdi
callq 0x2ee53
movl %eax, %edi
movq %rbx, %rsi
cmpl $0x27, %ebp
jne 0x2ec3e
movl $0xb, %edx
jmp 0x2ec43
movl %r14d, %edx
shrl $0xd, %edx
addl %r14d, %edx
andl $0x1fff, %edx           # imm = 0x1FFF
leaq 0x10(%rsp), %rdi
movl %r15d, %esi
callq 0x2e7d4
movq 0x28(%rbx), %rcx
movq (%rcx), %rdx
andq $-0x40, %rdx
orq $0x3, %rdx
movq %rdx, (%rcx)
movq %rax, 0x10(%rcx)
movq 0x28(%rbx), %rax
xorl %edx, %edx
movq %rdx, 0x28(%rbx)
leaq 0x8(%rax), %rcx
movq %rdx, 0x8(%rax)
movq 0x20(%rbx), %rdx
movq %rax, (%rdx)
movq %rcx, 0x20(%rbx)
movl %ebp, %r12d
jmp 0x2ec4b
movl %eax, %edi
movq %rbx, %rsi
movl $0x10, %edx
jmp 0x2ec43
cmpl $0x2a, %eax
je 0x2ec5a
cmpl $0x2f, %eax
jne 0x2eb81
movq 0x28(%rbx), %rax
movl (%rax), %ecx
shrl $0x14, %ecx
andl $0x1, %ecx
orl %ecx, 0x18(%rbx)
movl (%rax), %eax
shrl $0x15, %eax
andl $0x1, %eax
orl %eax, 0x1c(%rbx)
movq $0x0, 0x28(%rbx)
movq %rbx, %rdi
callq 0x2ee53
cmpl $-0x1, %eax
je 0x2ecf9
cmpl $0xa, %eax
jne 0x2eb66
jmp 0x2e9d4
leal 0x1(%rax), %ecx
leaq 0x19695(%rip), %rdx     # 0x48220
testb $0x20, (%rcx,%rdx)
je 0x2ec06
leal (,%r12,8), %ecx
leal (%rcx,%rax,2), %ecx
movl %ecx, %r14d
shrl $0x5, %r14d
addl %ecx, %r14d
andl $0x1f, %r14d
leaq 0x1977f(%rip), %rdx     # 0x48330
movzbl (%rdx,%r14,2), %ecx
cmpl %ecx, %r12d
jne 0x2ec06
movzbl 0x1(%rdx,%r14,2), %ecx
cmpl %ecx, %eax
jne 0x2ec06
leaq 0x197a4(%rip), %rax     # 0x48370
movl (%rax,%r14,4), %r12d
movq %rbx, %rdi
callq 0x2ee53
movl $0x84000400, %ecx       # imm = 0x84000400
btl %r14d, %ecx
jae 0x2ec06
leal -0x112(%r12), %ecx
leaq 0x19a05(%rip), %rdx     # 0x485f7
movsbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
jne 0x2ec06
addl $0x3, %r12d
movq %rbx, %rdi
callq 0x2ee53
movq 0x28(%rbx), %rcx
movq (%rcx), %rdx
andq $-0x40, %rdx
orq $0x12, %rdx
movq %rdx, (%rcx)
movl %r12d, 0x10(%rcx)
movq 0x28(%rbx), %rcx
xorl %esi, %esi
movq %rsi, 0x28(%rbx)
leaq 0x8(%rcx), %rdx
movq %rsi, 0x8(%rcx)
movq 0x20(%rbx), %rsi
movq %rcx, (%rsi)
movq %rdx, 0x20(%rbx)
movl %eax, %r12d
jmp 0x2ec4b
movl $0x11, %edx
callq 0x2f1dd
movl %eax, %r12d
cmpl $-0x1, %r12d
jne 0x2e960
jmp 0x2ecf9
movq 0x28(%rbx), %rax
movl (%rax), %r14d
shrl $0x14, %r14d
andl $0x1, %r14d
orl 0x18(%rbx), %r14d
movl %r14d, 0x18(%rbx)
movl (%rax), %eax
shrl $0x15, %eax
andl $0x1, %eax
orl %eax, 0x1c(%rbx)
movq $0x0, 0x28(%rbx)
movq %rbx, %rdi
callq 0x2ee53
movl %eax, %ebp
cmpl $-0x1, %ebp
je 0x2ecb2
movq %rbx, %rdi
callq 0x2ee53
xorl $0x2a, %ebp
movl %eax, %ecx
xorl $0x2f, %ecx
orl %ebp, %ecx
movl %eax, %ebp
jne 0x2ec8e
movl %r14d, 0x18(%rbx)
jmp 0x2e9d4
movl 0xc(%rbx), %eax
movl 0x14(%rbx), %ecx
shll $0x6, %ecx
movl 0x18(%rbx), %edx
andl $0x1, %edx
shll $0x14, %edx
andl $0xfffc0, %ecx          # imm = 0xFFFC0
orl %edx, %ecx
movl 0x1c(%rbx), %edx
shll $0x16, %eax
andl $0x1, %edx
shll $0x15, %edx
orl %ecx, %edx
orl %eax, %edx
movl $0x7fffffff, %edi       # imm = 0x7FFFFFFF
andl 0x10(%rbx), %edi
shlq $0x20, %rdi
orq %rdx, %rdi
leaq 0x19909(%rip), %rsi     # 0x485fb
xorl %eax, %eax
callq 0x118fc
movq %rbx, %rdi
callq 0x2ee0a
movq (%rax), %rcx
movq %rcx, 0x578d5(%rip)     # 0x865e0
leaq 0x578ce(%rip), %rdx     # 0x865e0
andq $-0x100040, %rcx        # imm = 0xFFEFFFC0
orq $0x100014, %rcx         # imm = 0x100014
movq %rcx, (%rax)
movq %rdx, 0x578be(%rip)     # 0x865e8
orb $0x10, 0x578b1(%rip)    # 0x865e2
movq %rdx, 0x8(%rax)
movq 0x20(%rbx), %rcx
movq %rax, (%rcx)
movq $0x0, 0x20(%rbx)
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq