// File: /workspace/github_c_makefile_star2_O0/georgeweigt[P]eigenmath/eigenmath.c
// Function: get_token_nib
void
get_token_nib(void)
{
	// skip spaces

	while (*scan_str != '\0' && *scan_str != '\n' && *scan_str != '\r' && (*scan_str < 33 || *scan_str > 126))
		scan_str++;

	token_str = scan_str;

	// end of input?

	if (*scan_str == '\0') {
		token = T_END;
		return;
	}

	// newline?

	if (*scan_str == '\n' || *scan_str == '\r') {
		scan_str++;
		token = T_NEWLINE;
		return;
	}

	// comment?

	if (*scan_str == '#' || (scan_str[0] == '-' && scan_str[1] == '-')) {
		while (*scan_str && *scan_str != '\n' && *scan_str != '\r')
			scan_str++;
		if (*scan_str)
			scan_str++;
		token = T_NEWLINE;
		return;
	}

	// number?

	if (isdigit(*scan_str) || *scan_str == '.') {
		while (isdigit(*scan_str))
			scan_str++;
		if (*scan_str == '.') {
			scan_str++;
			while (isdigit(*scan_str))
				scan_str++;
			if (token_str + 1 == scan_str)
				scan_error("expected decimal digit"); // only a decimal point
			token = T_DOUBLE;
		} else
			token = T_INTEGER;
		update_token_buf(token_str, scan_str);
		return;
	}

	// symbol?

	if (isalpha(*scan_str)) {
		while (isalnum(*scan_str))
			scan_str++;
		if (*scan_str == '(')
			token = T_FUNCTION;
		else
			token = T_SYMBOL;
		update_token_buf(token_str, scan_str);
		return;
	}

	// string?

	if (*scan_str == '"') {
		scan_str++;
		while (*scan_str && *scan_str != '"' && *scan_str != '\n' && *scan_str != '\r')
			scan_str++;
		if (*scan_str != '"')
			scan_error("runaway string");
		scan_str++;
		token = T_STRING;
		update_token_buf(token_str + 1, scan_str - 1); // don't include quote chars
		return;
	}

	// relational operator?

	if (*scan_str == '=' && scan_str[1] == '=') {
		scan_str += 2;
		token = T_EQ;
		return;
	}

	if (*scan_str == '<' && scan_str[1] == '=') {
		scan_str += 2;
		token = T_LTEQ;
		return;
	}

	if (*scan_str == '>' && scan_str[1] == '=') {
		scan_str += 2;
		token = T_GTEQ;
		return;
	}

	// single char token

	token = *scan_str++;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
jmp 0x4404a
movq 0xeb897(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x1(%rbp)
je 0x440b3
movq 0xeb883(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0xa, %ecx
movb %al, -0x1(%rbp)
je 0x440b3
movq 0xeb86f(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0xd, %ecx
movb %al, -0x1(%rbp)
je 0x440b3
movq 0xeb85b(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x21, %ecx
movb %al, -0x2(%rbp)
jl 0x440ad
movq 0xeb847(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x7e, %eax
setg %al
movb %al, -0x2(%rbp)
movb -0x2(%rbp), %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
testb $0x1, %al
jne 0x440bc
jmp 0x440d3
movq 0xeb825(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb81a(%rip)     # 0x12f8e8
jmp 0x4404a
movq 0xeb80e(%rip), %rax     # 0x12f8e8
movq %rax, 0xeb81f(%rip)     # 0x12f900
movq 0xeb800(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x440ff
movl $0x3f3, 0xeb7fa(%rip)   # imm = 0x3F3
jmp 0x44567
movq 0xeb7e2(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0xa, %eax
je 0x4411d
movq 0xeb7d3(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0xd, %eax
jne 0x4413e
movq 0xeb7c4(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb7b9(%rip)     # 0x12f8e8
movl $0x3ee, 0xeb7bb(%rip)   # imm = 0x3EE
jmp 0x44567
movq 0xeb7a3(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x23, %eax
je 0x44174
movq 0xeb794(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x441fb
movq 0xeb781(%rip), %rax     # 0x12f8e8
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
jne 0x441fb
jmp 0x44176
movq 0xeb76b(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x3(%rbp)
je 0x441b1
movq 0xeb757(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0xa, %ecx
movb %al, -0x3(%rbp)
je 0x441b1
movq 0xeb743(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0xd, %eax
setne %al
movb %al, -0x3(%rbp)
movb -0x3(%rbp), %al
testb $0x1, %al
jne 0x441ba
jmp 0x441ce
movq 0xeb727(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb71c(%rip)     # 0x12f8e8
jmp 0x44176
movq 0xeb713(%rip), %rax     # 0x12f8e8
cmpb $0x0, (%rax)
je 0x441ec
movq 0xeb707(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb6fc(%rip)     # 0x12f8e8
movl $0x3ee, 0xeb6fe(%rip)   # imm = 0x3EE
jmp 0x44567
callq 0x7390
movq (%rax), %rax
movq 0xeb6de(%rip), %rcx     # 0x12f8e8
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
jne 0x44231
movq 0xeb6c3(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0x44310
jmp 0x44233
callq 0x7390
movq (%rax), %rax
movq 0xeb6a6(%rip), %rcx     # 0x12f8e8
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x4426a
movq 0xeb68b(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb680(%rip)     # 0x12f8e8
jmp 0x44233
movq 0xeb677(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0x442ee
movq 0xeb668(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb65d(%rip)     # 0x12f8e8
callq 0x7390
movq (%rax), %rax
movq 0xeb64e(%rip), %rcx     # 0x12f8e8
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x442c2
movq 0xeb633(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb628(%rip)     # 0x12f8e8
jmp 0x4428b
movq 0xeb637(%rip), %rax     # 0x12f900
addq $0x1, %rax
cmpq 0xeb614(%rip), %rax     # 0x12f8e8
jne 0x442e2
leaq 0x5bee(%rip), %rdi      # 0x49ecb
callq 0x42e70
movl $0x3ea, 0xeb608(%rip)   # imm = 0x3EA
jmp 0x442f8
movl $0x3e9, 0xeb5fc(%rip)   # imm = 0x3E9
movq 0xeb601(%rip), %rdi     # 0x12f900
movq 0xeb5e2(%rip), %rsi     # 0x12f8e8
callq 0x44570
jmp 0x44567
callq 0x7390
movq (%rax), %rax
movq 0xeb5c9(%rip), %rcx     # 0x12f8e8
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x443a7
jmp 0x44335
callq 0x7390
movq (%rax), %rax
movq 0xeb5a4(%rip), %rcx     # 0x12f8e8
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x4436a
movq 0xeb58b(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb580(%rip)     # 0x12f8e8
jmp 0x44335
movq 0xeb577(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0x44385
movl $0x3ec, 0xeb571(%rip)   # imm = 0x3EC
jmp 0x4438f
movl $0x3eb, 0xeb565(%rip)   # imm = 0x3EB
movq 0xeb56a(%rip), %rdi     # 0x12f900
movq 0xeb54b(%rip), %rsi     # 0x12f8e8
callq 0x44570
jmp 0x44567
movq 0xeb53a(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0x4448f
movq 0xeb527(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb51c(%rip)     # 0x12f8e8
movq 0xeb515(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x4(%rbp)
je 0x4441b
movq 0xeb501(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x22, %ecx
movb %al, -0x4(%rbp)
je 0x4441b
movq 0xeb4ed(%rip), %rax     # 0x12f8e8
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0xa, %ecx
movb %al, -0x4(%rbp)
je 0x4441b
movq 0xeb4d9(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0xd, %eax
setne %al
movb %al, -0x4(%rbp)
movb -0x4(%rbp), %al
testb $0x1, %al
jne 0x44424
jmp 0x44438
movq 0xeb4bd(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb4b2(%rip)     # 0x12f8e8
jmp 0x443cc
movq 0xeb4a9(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x22, %eax
je 0x44453
leaq 0x5a94(%rip), %rdi      # 0x49ee2
callq 0x42e70
movq 0xeb48e(%rip), %rax     # 0x12f8e8
addq $0x1, %rax
movq %rax, 0xeb483(%rip)     # 0x12f8e8
movl $0x3ef, 0xeb485(%rip)   # imm = 0x3EF
movq 0xeb48a(%rip), %rdi     # 0x12f900
addq $0x1, %rdi
movq 0xeb467(%rip), %rsi     # 0x12f8e8
addq $-0x1, %rsi
callq 0x44570
jmp 0x44567
movq 0xeb452(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x444cf
movq 0xeb443(%rip), %rax     # 0x12f8e8
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0x444cf
movq 0xeb433(%rip), %rax     # 0x12f8e8
addq $0x2, %rax
movq %rax, 0xeb428(%rip)     # 0x12f8e8
movl $0x3f2, 0xeb42a(%rip)   # imm = 0x3F2
jmp 0x44567
movq 0xeb412(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x3c, %eax
jne 0x4450c
movq 0xeb403(%rip), %rax     # 0x12f8e8
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0x4450c
movq 0xeb3f3(%rip), %rax     # 0x12f8e8
addq $0x2, %rax
movq %rax, 0xeb3e8(%rip)     # 0x12f8e8
movl $0x3f1, 0xeb3ea(%rip)   # imm = 0x3F1
jmp 0x44567
movq 0xeb3d5(%rip), %rax     # 0x12f8e8
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x44549
movq 0xeb3c6(%rip), %rax     # 0x12f8e8
movsbl 0x1(%rax), %eax
cmpl $0x3d, %eax
jne 0x44549
movq 0xeb3b6(%rip), %rax     # 0x12f8e8
addq $0x2, %rax
movq %rax, 0xeb3ab(%rip)     # 0x12f8e8
movl $0x3f0, 0xeb3ad(%rip)   # imm = 0x3F0
jmp 0x44567
movq 0xeb398(%rip), %rax     # 0x12f8e8
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xeb38a(%rip)     # 0x12f8e8
movsbl (%rax), %eax
movl %eax, 0xeb38d(%rip)     # 0x12f8f4
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)