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

	n = funapp();
	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)) {
			commit(symbol_name(Attr), 0);
			set(car(Stack), node(Attr, car(Stack)));
			Token = scan();
			caddr(Stack) = Attr;
			set(cadr(Stack), node(funapp(), cadr(Stack)));
			if (Token == TOK_CONS)
				Attr = caddr(Stack) = S_cons;
		}
		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 0xab45
movq %rax, %r14
movl 0x118cf(%rip), %eax     # 0x1c6d0
cmpl $-0x67, %eax
je 0xae2e
cmpl $0xfffffed1, %eax       # imm = 0xFFFFFED1
jne 0xb013
movq 0x11340(%rip), %rdi     # 0x1c158
callq 0x8977
testl %eax, %eax
jne 0xae2e
cmpl $-0x67, 0x118a8(%rip)   # 0x1c6d0
jne 0xb013
movq %r14, 0x112db(%rip)     # 0x1c110
movq 0x1131c(%rip), %rdi     # 0x1c158
movq 0x112e5(%rip), %rsi     # 0x1c128
xorl %edx, %edx
callq 0x3613
movq %rax, 0x112d7(%rip)     # 0x1c128
pushq $-0x1
popq %r15
movq %r15, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x3613
movq %rax, 0x112bf(%rip)     # 0x1c128
movq %r15, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x3613
movq %rax, 0x112ab(%rip)     # 0x1c128
movq 0x112ec(%rip), %rcx     # 0x1c170
movq 0x11735(%rip), %rdx     # 0x1c5c0
movq (%rdx,%rax,8), %rax
movq (%rcx,%rax,8), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x3613
movq 0x112cc(%rip), %rcx     # 0x1c170
movq 0x11715(%rip), %rdx     # 0x1c5c0
movq 0x11276(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
orq $-0x1, 0x1124e(%rip)    # 0x1c110
cmpl $-0x67, 0x11807(%rip)   # 0x1c6d0
jne 0xaeec
movq 0x117be(%rip), %rax     # 0x1c690
movq 0x1124f(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
movq %rax, 0x1126c(%rip)     # 0x1c158
movq 0x11265(%rip), %rdi     # 0x1c158
callq 0x8977
testl %eax, %eax
je 0xafe8
movq 0x11251(%rip), %rax     # 0x1c158
testl %ebx, %ebx
jg 0xaf18
cmpq 0x117e6(%rip), %rax     # 0x1c6f8
je 0xafe8
movq 0x116a1(%rip), %rcx     # 0x1c5c0
movq (%rcx,%rax,8), %rdi
shlq $0x3, %rdi
addq 0x116ba(%rip), %rdi     # 0x1c5e8
xorl %esi, %esi
callq 0xac41
movq 0x1121c(%rip), %rdi     # 0x1c158
movq 0x1122d(%rip), %rax     # 0x1c170
movq 0x111de(%rip), %rcx     # 0x1c128
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x3613
movq 0x11214(%rip), %rcx     # 0x1c170
movq 0x111c5(%rip), %rdx     # 0x1c128
movq %rax, (%rcx,%rdx,8)
callq 0x8d74
movl %eax, 0x1175e(%rip)     # 0x1c6d0
movq 0x111df(%rip), %rax     # 0x1c158
movq 0x111f0(%rip), %rcx     # 0x1c170
movq 0x11639(%rip), %rdx     # 0x1c5c0
movq 0x1119a(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
callq 0xab45
movq 0x111ca(%rip), %rcx     # 0x1c170
movq 0x11613(%rip), %rdx     # 0x1c5c0
movq 0x11174(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x3613
movq 0x111a3(%rip), %rcx     # 0x1c170
movq 0x115ec(%rip), %rdx     # 0x1c5c0
movq 0x1114d(%rip), %rsi     # 0x1c128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
jmp 0xaec2
leaq 0xa8e9(%rip), %rdi      # 0x158d8
pushq $0x1
popq %rbx
movl %ebx, %esi
callq 0xac41
movq 0x11170(%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