// File: /workspace/github_c_makefile_star2_O2/azhai[P]mlite/mlite.c
// Function: pat_infix
cell pat_infix(int k) {
	cell	ops, args, new;
	cell	n;

	n = pat_funapp(k);
	if ((Token == TOK_ID && is_binop(Attr)) || Token == TOK_CONS) {
		Tmp = n;
		save(Attr);
		args = NIL;
		save(args);
		ops = NIL;
		save(ops);
		set(cadr(Stack), node(n, cadr(Stack)));
		Tmp = NIL;
		if (Token == TOK_CONS)
			Attr = caddr(Stack) = S_cons;
		while (is_binop(Attr) && (Attr != S_equal || k > 0)) {
			pat_commit(symbol_name(Attr), 0);
			set(car(Stack), node(Attr, car(Stack)));
			Token = scan();
			caddr(Stack) = Attr;
			set(cadr(Stack), node(pat_funapp(k), cadr(Stack)));
			if (Token == TOK_CONS)
				Attr = caddr(Stack) = S_cons;
		}
		pat_commit("", 1);
		n = car(unsave(2));
		unsave(1);
		return n;
	}
	else {
		return n;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edi, %ebx
callq 0x9bbc
movq %rax, %r14
movl 0x12697(%rip), %eax     # 0x1c6d0
cmpl $-0x67, %eax
je 0xa066
cmpl $0xfffffed1, %eax       # imm = 0xFFFFFED1
jne 0xa24d
movq 0x12108(%rip), %rdi     # 0x1c158
callq 0x8977
testl %eax, %eax
jne 0xa066
cmpl $-0x67, 0x12670(%rip)   # 0x1c6d0
jne 0xa24d
movq %r14, 0x120a3(%rip)     # 0x1c110
movq 0x120e4(%rip), %rdi     # 0x1c158
movq 0x120ad(%rip), %rsi     # 0x1c128
xorl %edx, %edx
callq 0x3613
movq %rax, 0x1209f(%rip)     # 0x1c128
pushq $-0x1
popq %r15
movq %r15, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x3613
movq %rax, 0x12087(%rip)     # 0x1c128
movq %r15, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x3613
movq %rax, 0x12073(%rip)     # 0x1c128
movq 0x120b4(%rip), %rcx     # 0x1c170
movq 0x124fd(%rip), %rdx     # 0x1c5c0
movq (%rdx,%rax,8), %rax
movq (%rcx,%rax,8), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x3613
movq 0x12094(%rip), %rcx     # 0x1c170
movq 0x124dd(%rip), %rdx     # 0x1c5c0
movq 0x1203e(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
orq $-0x1, 0x12016(%rip)    # 0x1c110
cmpl $-0x67, 0x125cf(%rip)   # 0x1c6d0
jne 0xa124
movq 0x12586(%rip), %rax     # 0x1c690
movq 0x12017(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
movq %rax, 0x12034(%rip)     # 0x1c158
movq 0x1202d(%rip), %rdi     # 0x1c158
callq 0x8977
testl %eax, %eax
je 0xa222
movq 0x12019(%rip), %rax     # 0x1c158
testl %ebx, %ebx
jg 0xa150
cmpq 0x125ae(%rip), %rax     # 0x1c6f8
je 0xa222
movq 0x12469(%rip), %rcx     # 0x1c5c0
movq (%rcx,%rax,8), %rdi
shlq $0x3, %rdi
addq 0x12482(%rip), %rdi     # 0x1c5e8
xorl %esi, %esi
callq 0x9d28
movq 0x11fe4(%rip), %rdi     # 0x1c158
movq 0x11ff5(%rip), %rax     # 0x1c170
movq 0x11fa6(%rip), %rcx     # 0x1c128
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x3613
movq 0x11fdc(%rip), %rcx     # 0x1c170
movq 0x11f8d(%rip), %rdx     # 0x1c128
movq %rax, (%rcx,%rdx,8)
callq 0x8d74
movl %eax, 0x12526(%rip)     # 0x1c6d0
movq 0x11fa7(%rip), %rax     # 0x1c158
movq 0x11fb8(%rip), %rcx     # 0x1c170
movq 0x12401(%rip), %rdx     # 0x1c5c0
movq 0x11f62(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
movl %ebx, %edi
callq 0x9bbc
movq 0x11f90(%rip), %rcx     # 0x1c170
movq 0x123d9(%rip), %rdx     # 0x1c5c0
movq 0x11f3a(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3613
movq 0x11f69(%rip), %rcx     # 0x1c170
movq 0x123b2(%rip), %rdx     # 0x1c5c0
movq 0x11f13(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
jmp 0xa0fa
leaq 0xb6af(%rip), %rdi      # 0x158d8
pushq $0x1
popq %rbx
movl %ebx, %esi
callq 0x9d28
movq 0x11f36(%rip), %r14     # 0x1c170
pushq $0x2
popq %rdi
callq 0x3775
movq (%r14,%rax,8), %r14
movl %ebx, %edi
callq 0x3775
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq