// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
movl %edi, %ebx
callq 0xaa1f
movq %rax, %r14
movl 0x13812(%rip), %eax     # 0x1e6d0
cmpl $-0x67, %eax
je 0xaeeb
cmpl $0xfffffed1, %eax       # imm = 0xFFFFFED1
jne 0xb0e0
movq 0x13283(%rip), %rdi     # 0x1e158
callq 0x96a9
testl %eax, %eax
jne 0xaeeb
cmpl $-0x67, 0x137eb(%rip)   # 0x1e6d0
jne 0xb0e0
movq %r14, 0x1321e(%rip)     # 0x1e110
movq 0x1325f(%rip), %rdi     # 0x1e158
movq 0x13228(%rip), %rsi     # 0x1e128
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x1321a(%rip)     # 0x1e128
movq $-0x1, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x13202(%rip)     # 0x1e128
movq $-0x1, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x131ea(%rip)     # 0x1e128
movq 0x1322b(%rip), %rcx     # 0x1e170
movq 0x13674(%rip), %rdx     # 0x1e5c0
movq (%rdx,%rax,8), %rax
movq (%rcx,%rax,8), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x36e8
movq 0x1320b(%rip), %rcx     # 0x1e170
movq 0x13654(%rip), %rdx     # 0x1e5c0
movq 0x131b5(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
movq $-0x1, 0x1318a(%rip) # 0x1e110
cmpl $-0x67, 0x13743(%rip)   # 0x1e6d0
jne 0xafb2
movq 0x136fa(%rip), %rdi     # 0x1e690
movq 0x1318b(%rip), %rax     # 0x1e128
movq (%rdx,%rax,8), %rax
movq (%rdx,%rax,8), %rax
movq %rdi, (%rcx,%rax,8)
movq %rdi, 0x131a8(%rip)     # 0x1e158
jmp 0xafb9
movq 0x1319f(%rip), %rdi     # 0x1e158
callq 0x96a9
testl %eax, %eax
je 0xb0b0
movq 0x1318b(%rip), %rax     # 0x1e158
testl %ebx, %ebx
jg 0xafde
cmpq 0x13720(%rip), %rax     # 0x1e6f8
je 0xb0b0
movq 0x135db(%rip), %rcx     # 0x1e5c0
movq (%rcx,%rax,8), %rdi
shlq $0x3, %rdi
addq 0x135f4(%rip), %rdi     # 0x1e5e8
xorl %esi, %esi
callq 0xab99
movq 0x13156(%rip), %rdi     # 0x1e158
movq 0x13167(%rip), %rax     # 0x1e170
movq 0x13118(%rip), %rcx     # 0x1e128
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x36e8
movq 0x1314e(%rip), %rcx     # 0x1e170
movq 0x130ff(%rip), %rdx     # 0x1e128
movq %rax, (%rcx,%rdx,8)
callq 0x9ac4
movl %eax, 0x13698(%rip)     # 0x1e6d0
movq 0x13119(%rip), %rax     # 0x1e158
movq 0x1312a(%rip), %rcx     # 0x1e170
movq 0x13573(%rip), %rdx     # 0x1e5c0
movq 0x130d4(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
movl %ebx, %edi
callq 0xaa1f
movq 0x13102(%rip), %rcx     # 0x1e170
movq 0x1354b(%rip), %rdx     # 0x1e5c0
movq 0x130ac(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x36e8
movq 0x130db(%rip), %rcx     # 0x1e170
movq 0x13524(%rip), %rdx     # 0x1e5c0
movq 0x13085(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
jmp 0xaf86
leaq 0xc821(%rip), %rdi      # 0x178d8
movl $0x1, %esi
callq 0xab99
movq 0x130a8(%rip), %rbx     # 0x1e170
movl $0x2, %edi
callq 0x384f
movq (%rbx,%rax,8), %r14
movl $0x1, %edi
callq 0x384f
movq %r14, %rax
popq %rbx
popq %r14
popq %rbp
retq