// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: infix_decl
cell infix_decl(int fix) {
	cell	mode;
	int	p, a;

	Token = scan();
	for (;;) {
		if (Token != TOK_ID)
			return error("identifier expected in fix def",
					NOEXPR);
		save(Attr);
		Token = scan();
		if (fix == NONE) {
			if (symbol_p(car(Stack)))
				delfixity(car(Stack));
		}
		else {
			delfixity(car(Stack));
			if (	Attr == S_less ||
				Attr == S_greater ||
				Attr == S_equal
			) {
				mode = Attr;
				Token = scan();
			}
			else {
				unsave(1);
				return error(
					"fix def expected one of {<,=,>}",
					NOEXPR);
			}
			if (Token == TOK_CONS) {
				Attr = S_cons;
			}
			else if (Token != TOK_ID) {
				unsave(1);
				return error(
				 "reference identifier expected in fix def",
					NOEXPR);
			}
			if (	symbol_p(Attr) &&
				!find_binop(symbol_name(Attr), &p, &a)
			) {
				unsave(1);
				return error(
				 "invalid reference identifier in fix def",
					Attr);
			}
			else {
				if (symbol_p(car(Stack)))
					setfixity(car(Stack),
						symbol_name(Attr),
						fix,
						mode);
			}
			Token = scan();
		}
		unsave(1);
		if (Token != TOK_COMMA)
			break;
		Token = scan();
	}
	return UNIT;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0xc(%rbp)
callq 0xcc90
movl %eax, 0x1692a(%rip)     # 0x286e0
cmpl $0xfffffed1, 0x16920(%rip) # imm = 0xFFFFFED1
je 0x11dde
leaq 0xece3(%rip), %rdi      # 0x20aac
movq $-0x8, %rsi
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x120c0
movq 0x16383(%rip), %rdi     # 0x28168
movq 0x1634c(%rip), %rsi     # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0x1633e(%rip)     # 0x28138
callq 0xcc90
movl %eax, 0x168db(%rip)     # 0x286e0
cmpl $0x0, -0xc(%rbp)
jne 0x11e81
movq 0x1636e(%rip), %rax     # 0x28180
movq 0x1631f(%rip), %rcx     # 0x28138
cmpq $0x0, (%rax,%rcx,8)
jl 0x11e7c
movq 0x167c9(%rip), %rax     # 0x285f0
movq 0x16352(%rip), %rcx     # 0x28180
movq 0x16303(%rip), %rdx     # 0x28138
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x11e7c
movq 0x16334(%rip), %rax     # 0x28180
movq 0x1632d(%rip), %rcx     # 0x28180
movq 0x162de(%rip), %rdx     # 0x28138
movq (%rcx,%rdx,8), %rcx
cmpq $-0x22, (%rax,%rcx,8)
jne 0x11e7c
movq 0x16314(%rip), %rax     # 0x28180
movq 0x162c5(%rip), %rcx     # 0x28138
movq (%rax,%rcx,8), %rdi
callq 0x11ab0
jmp 0x12093
movq 0x162f8(%rip), %rax     # 0x28180
movq 0x162a9(%rip), %rcx     # 0x28138
movq (%rax,%rcx,8), %rdi
callq 0x11ab0
movq 0x162c9(%rip), %rax     # 0x28168
cmpq 0x168e2(%rip), %rax     # 0x28788
je 0x11ec8
movq 0x162b9(%rip), %rax     # 0x28168
cmpq 0x168da(%rip), %rax     # 0x28790
je 0x11ec8
movq 0x162a9(%rip), %rax     # 0x28168
cmpq 0x16842(%rip), %rax     # 0x28708
jne 0x11ee0
movq 0x16299(%rip), %rax     # 0x28168
movq %rax, -0x18(%rbp)
callq 0xcc90
movl %eax, 0x16802(%rip)     # 0x286e0
jmp 0x11f06
movl $0x1, %edi
callq 0x3950
leaq 0xeb91(%rip), %rdi      # 0x20a82
movq $-0x8, %rsi
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x120c0
cmpl $-0x67, 0x167d3(%rip)   # 0x286e0
jne 0x11f1f
movq 0x1678a(%rip), %rax     # 0x286a0
movq %rax, 0x1624b(%rip)     # 0x28168
jmp 0x11f53
cmpl $0xfffffed1, 0x167b7(%rip) # imm = 0xFFFFFED1
je 0x11f51
movl $0x1, %edi
callq 0x3950
leaq 0xeb66(%rip), %rdi      # 0x20aa2
movq $-0x8, %rsi
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x120c0
jmp 0x11f53
cmpq $0x0, 0x1620d(%rip)     # 0x28168
jl 0x11fe8
movq 0x16688(%rip), %rax     # 0x285f0
movq 0x161f9(%rip), %rcx     # 0x28168
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x11fe8
movq 0x161fe(%rip), %rax     # 0x28180
movq 0x161df(%rip), %rcx     # 0x28168
cmpq $-0x22, (%rax,%rcx,8)
jne 0x11fe8
movq 0x16661(%rip), %rdi     # 0x285f8
movq 0x16632(%rip), %rax     # 0x285d0
movq 0x161c3(%rip), %rcx     # 0x28168
movq (%rax,%rcx,8), %rax
shlq $0x3, %rax
addq %rax, %rdi
leaq -0x1c(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0xc550
cmpl $0x0, %eax
jne 0x11fe8
movl $0x1, %edi
callq 0x3950
movq 0x16195(%rip), %rsi     # 0x28168
leaq 0xeaf1(%rip), %rdi      # 0x20acb
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x120c0
movq 0x16191(%rip), %rax     # 0x28180
movq 0x16142(%rip), %rcx     # 0x28138
cmpq $0x0, (%rax,%rcx,8)
jl 0x12086
movq 0x165e8(%rip), %rax     # 0x285f0
movq 0x16171(%rip), %rcx     # 0x28180
movq 0x16122(%rip), %rdx     # 0x28138
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x12086
movq 0x16153(%rip), %rax     # 0x28180
movq 0x1614c(%rip), %rcx     # 0x28180
movq 0x160fd(%rip), %rdx     # 0x28138
movq (%rcx,%rdx,8), %rcx
cmpq $-0x22, (%rax,%rcx,8)
jne 0x12086
movq 0x16133(%rip), %rax     # 0x28180
movq 0x160e4(%rip), %rcx     # 0x28138
movq (%rax,%rcx,8), %rdi
movq 0x16599(%rip), %rsi     # 0x285f8
movq 0x1656a(%rip), %rax     # 0x285d0
movq 0x160fb(%rip), %rcx     # 0x28168
movq (%rax,%rcx,8), %rax
shlq $0x3, %rax
addq %rax, %rsi
movl -0xc(%rbp), %edx
movq -0x18(%rbp), %rax
movl %eax, %ecx
callq 0x11b80
jmp 0x12088
callq 0xcc90
movl %eax, 0x1664d(%rip)     # 0x286e0
movl $0x1, %edi
callq 0x3950
cmpl $-0x64, 0x1663c(%rip)   # 0x286e0
je 0x120a8
jmp 0x120b8
callq 0xcc90
movl %eax, 0x1662d(%rip)     # 0x286e0
jmp 0x11db6
movq $-0x6, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)