// File: /workspace/github_c_makefile_star2_O0/Oric4ever[P]lcc65/6502/build/../src/lex.c
// Function: fcon
static Symbol fcon() {
	char *s = token;
	int n = 0;

	while (s < (char *)cp)
		n += *s++ - '0';
	if (*cp == '.')
		for (cp++; map[*cp]&DIGIT; cp++)
			n += *cp - '0';
	if (*cp == 'e' || *cp == 'E') {
		if (*++cp == '-' || *cp == '+')
			cp++;
		if (map[*cp]&DIGIT)
			do cp++; while (map[*cp]&DIGIT);
		else
			error("invalid floating constant\n");
	}
	if (n == 0)
		tval.u.c.v.d = 0.0;
	else {
		char c = *cp;
		*cp = 0;
		errno = 0;
		tval.u.c.v.d = strtod(token, (char **)0);
		if (errno == ERANGE)
			warning("overflow in floating constant `%s'\n", token);
		*cp = c;
	}
	if (*cp == 'f' || *cp == 'F') {
		char c = *++cp;
		*cp = 0;
		if (tval.u.c.v.d > FLT_MAX)
			warning("overflow in floating constant `%s'\n", token);
		tval.type = floattype;
		tval.u.c.v.f = tval.u.c.v.d;
		*cp = c;
	} else if (*cp == 'l' || *cp == 'L') {
		cp++;
		tval.type = longdouble;
	} else
		tval.type = doubletype;
	return &tval;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x269f9(%rip), %rax     # 0x3dae8
movq %rax, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
leaq 0x25993(%rip), %rcx     # 0x3ca98
cmpq (%rcx), %rax
jae 0x17127
movq -0x8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x8(%rbp)
movsbl (%rax), %eax
subl $0x30, %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x170fa
leaq 0x2596a(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x2e, %eax
jne 0x171a5
leaq 0x25958(%rip), %rax     # 0x3ca98
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x2594a(%rip), %rax     # 0x3ca98
movq %rcx, (%rax)
leaq 0x25940(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x228a9(%rip), %rax     # 0x39a10
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x171a3
leaq 0x2591e(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
subl $0x30, %eax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
leaq 0x25908(%rip), %rax     # 0x3ca98
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x258fa(%rip), %rax     # 0x3ca98
movq %rcx, (%rax)
jmp 0x17151
jmp 0x171a5
leaq 0x258ec(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x65, %eax
je 0x171cd
leaq 0x258da(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x45, %eax
jne 0x1728b
leaq 0x258c4(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movq %rax, %rdx
addq $0x1, %rdx
leaq 0x258b3(%rip), %rcx     # 0x3ca98
movq %rdx, (%rcx)
movzbl 0x1(%rax), %eax
cmpl $0x2d, %eax
je 0x17203
leaq 0x258a0(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x2b, %eax
jne 0x1721b
leaq 0x2588e(%rip), %rax     # 0x3ca98
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x25880(%rip), %rax     # 0x3ca98
movq %rcx, (%rax)
leaq 0x25876(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x227df(%rip), %rax     # 0x39a10
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1727b
jmp 0x1723f
leaq 0x25852(%rip), %rax     # 0x3ca98
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x25844(%rip), %rax     # 0x3ca98
movq %rcx, (%rax)
leaq 0x2583a(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x227a3(%rip), %rax     # 0x39a10
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x1723f
jmp 0x17289
leaq 0x19906(%rip), %rdi     # 0x30b88
movb $0x0, %al
callq 0xd530
jmp 0x1728b
cmpl $0x0, -0xc(%rbp)
jne 0x1729e
xorps %xmm0, %xmm0
movsd %xmm0, 0x268a4(%rip)    # 0x3db40
jmp 0x1730b
leaq 0x257f3(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movb (%rax), %al
movb %al, -0xd(%rbp)
leaq 0x257e4(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movb $0x0, (%rax)
callq 0x3030
movl $0x0, (%rax)
movq 0x2681c(%rip), %rdi     # 0x3dae8
xorl %eax, %eax
movl %eax, %esi
callq 0x3070
movsd %xmm0, 0x26863(%rip)    # 0x3db40
callq 0x3030
cmpl $0x22, (%rax)
jne 0x172fc
movq 0x267fa(%rip), %rsi     # 0x3dae8
leaq 0x198ae(%rip), %rdi     # 0x30ba3
movb $0x0, %al
callq 0xdba0
movb -0xd(%rbp), %cl
leaq 0x25792(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movb %cl, (%rax)
leaq 0x25786(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x66, %eax
je 0x17333
leaq 0x25774(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x46, %eax
jne 0x173be
leaq 0x2575e(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movq %rax, %rdx
addq $0x1, %rdx
leaq 0x2574d(%rip), %rcx     # 0x3ca98
movq %rdx, (%rcx)
movb 0x1(%rax), %al
movb %al, -0xe(%rbp)
leaq 0x2573d(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movb $0x0, (%rax)
movsd 0x267d7(%rip), %xmm0    # 0x3db40
movsd 0x19687(%rip), %xmm1    # 0x309f8
ucomisd %xmm1, %xmm0
jbe 0x1738c
movq 0x2676a(%rip), %rsi     # 0x3dae8
leaq 0x1981e(%rip), %rdi     # 0x30ba3
movb $0x0, %al
callq 0xdba0
leaq 0x2ce5d(%rip), %rax     # 0x441f0
movq (%rax), %rax
movq %rax, 0x2677b(%rip)     # 0x3db18
movsd 0x2679b(%rip), %xmm0    # 0x3db40
movsd %xmm0, 0x26793(%rip)    # 0x3db40
movb -0xe(%rbp), %cl
leaq 0x256e1(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movb %cl, (%rax)
jmp 0x17420
leaq 0x256d3(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x6c, %eax
je 0x173e2
leaq 0x256c1(%rip), %rax     # 0x3ca98
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x4c, %eax
jne 0x1740d
leaq 0x256af(%rip), %rax     # 0x3ca98
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x256a1(%rip), %rax     # 0x3ca98
movq %rcx, (%rax)
leaq 0x2cdff(%rip), %rax     # 0x44200
movq (%rax), %rax
movq %rax, 0x2670d(%rip)     # 0x3db18
jmp 0x1741e
leaq 0x2cdd4(%rip), %rax     # 0x441e8
movq (%rax), %rax
movq %rax, 0x266fa(%rip)     # 0x3db18
jmp 0x17420
leaq 0x266d1(%rip), %rax     # 0x3daf8
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)