// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
movl %edi, %ebx
callq 0xba44
movq %rax, %r14
movl 0x129b9(%rip), %eax     # 0x1e6d0
cmpl $-0x67, %eax
je 0xbd44
cmpl $0xfffffed1, %eax       # imm = 0xFFFFFED1
jne 0xbf37
movq 0x1242a(%rip), %rdi     # 0x1e158
callq 0x96a9
testl %eax, %eax
jne 0xbd44
cmpl $-0x67, 0x12992(%rip)   # 0x1e6d0
jne 0xbf37
movq %r14, 0x123c5(%rip)     # 0x1e110
movq 0x12406(%rip), %rdi     # 0x1e158
movq 0x123cf(%rip), %rsi     # 0x1e128
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x123c1(%rip)     # 0x1e128
movq $-0x1, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x123a9(%rip)     # 0x1e128
movq $-0x1, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x12391(%rip)     # 0x1e128
movq 0x123d2(%rip), %rcx     # 0x1e170
movq 0x1281b(%rip), %rdx     # 0x1e5c0
movq (%rdx,%rax,8), %rax
movq (%rcx,%rax,8), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x36e8
movq 0x123b2(%rip), %rcx     # 0x1e170
movq 0x127fb(%rip), %rdx     # 0x1e5c0
movq 0x1235c(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
movq $-0x1, 0x12331(%rip) # 0x1e110
cmpl $-0x67, 0x128ea(%rip)   # 0x1e6d0
jne 0xbe0b
movq 0x128a1(%rip), %rdi     # 0x1e690
movq 0x12332(%rip), %rax     # 0x1e128
movq (%rdx,%rax,8), %rax
movq (%rdx,%rax,8), %rax
movq %rdi, (%rcx,%rax,8)
movq %rdi, 0x1234f(%rip)     # 0x1e158
jmp 0xbe12
movq 0x12346(%rip), %rdi     # 0x1e158
callq 0x96a9
testl %eax, %eax
je 0xbf07
movq 0x12332(%rip), %rax     # 0x1e158
testl %ebx, %ebx
jg 0xbe37
cmpq 0x128c7(%rip), %rax     # 0x1e6f8
je 0xbf07
movq 0x12782(%rip), %rcx     # 0x1e5c0
movq (%rcx,%rax,8), %rdi
shlq $0x3, %rdi
addq 0x1279b(%rip), %rdi     # 0x1e5e8
xorl %esi, %esi
callq 0xbb50
movq 0x122fd(%rip), %rdi     # 0x1e158
movq 0x1230e(%rip), %rax     # 0x1e170
movq 0x122bf(%rip), %rcx     # 0x1e128
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x36e8
movq 0x122f5(%rip), %rcx     # 0x1e170
movq 0x122a6(%rip), %rdx     # 0x1e128
movq %rax, (%rcx,%rdx,8)
callq 0x9ac4
movl %eax, 0x1283f(%rip)     # 0x1e6d0
movq 0x122c0(%rip), %rax     # 0x1e158
movq 0x122d1(%rip), %rcx     # 0x1e170
movq 0x1271a(%rip), %rdx     # 0x1e5c0
movq 0x1227b(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
callq 0xba44
movq 0x122ab(%rip), %rcx     # 0x1e170
movq 0x126f4(%rip), %rdx     # 0x1e5c0
movq 0x12255(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x36e8
movq 0x12284(%rip), %rcx     # 0x1e170
movq 0x126cd(%rip), %rdx     # 0x1e5c0
movq 0x1222e(%rip), %rsi     # 0x1e128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
jmp 0xbddf
leaq 0xb9ca(%rip), %rdi      # 0x178d8
movl $0x1, %esi
callq 0xbb50
movq 0x12251(%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