// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: pat_logop
cell pat_logop(int op, int k) {
	cell	n, a, p, new;

	n = op == TOK_ALSO? pat_infix(k): pat_logop(TOK_ALSO, k);
	if (Token != op)
		return n;
	Tmp = n;
	p = pat(n);
	n = opr(n) == NIL? pat(n): opr(n);
	save(p);
	a = node(n, NIL);
	Tmp = NIL;
	save(a);
	while (Token == op) {
		Token = scan();
		set(cdr(a), node(NIL, NIL));
		a = cdr(a);
		n = op == TOK_ALSO? pat_infix(k):
				pat_logop(TOK_ALSO, k);
		if (symbol_p(pat(n)))
			p = cadr(Stack) = pat(n);
		n = opr(n) == NIL? pat(n): opr(n);
		car(a) = n;
	}
	n = unsave(1);
	if (cdr(n) == NIL) {
		p = unsave(1);
		return node(p, car(n));
	}
	n = node(op==TOK_OR? S_or: S_also, n);
	return node(unsave(1), n);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0xc(%rbp)
movl %esi, -0x10(%rbp)
cmpl $0xffffff38, -0xc(%rbp) # imm = 0xFFFFFF38
jne 0xed85
movl -0x10(%rbp), %edi
callq 0xea40
movq %rax, -0x38(%rbp)
jmp 0xed96
movl -0x10(%rbp), %esi
movl $0xffffff38, %edi       # imm = 0xFFFFFF38
callq 0xed60
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x18(%rbp)
movl 0x1993c(%rip), %eax     # 0x286e0
cmpl -0xc(%rbp), %eax
je 0xedb6
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xf067
movq -0x18(%rbp), %rax
movq %rax, 0x1935f(%rip)     # 0x28120
movq 0x193b8(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
movq 0x197f5(%rip), %rax     # 0x285d0
movq -0x18(%rbp), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0xedfb
movq 0x19393(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
jmp 0xee0e
movq 0x197ce(%rip), %rax     # 0x285d0
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x28(%rbp), %rdi
movq 0x19317(%rip), %rsi     # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0x19309(%rip)     # 0x28138
movq -0x18(%rbp), %rdi
movq $-0x1, %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x20(%rbp)
movq $-0x1, 0x192d0(%rip) # 0x28120
movq -0x20(%rbp), %rdi
movq 0x192dd(%rip), %rsi     # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0x192cf(%rip)     # 0x28138
movl 0x19871(%rip), %eax     # 0x286e0
cmpl -0xc(%rbp), %eax
jne 0xefc9
callq 0xcc90
movl %eax, 0x1985d(%rip)     # 0x286e0
movq $-0x1, %rsi
xorl %edx, %edx
movq %rsi, %rdi
callq 0x3780
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdx
movq 0x1972d(%rip), %rax     # 0x285d0
movq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x1971e(%rip), %rax     # 0x285d0
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
cmpl $0xffffff38, -0xc(%rbp) # imm = 0xFFFFFF38
jne 0xeed5
movl -0x10(%rbp), %edi
callq 0xea40
movq %rax, -0x48(%rbp)
jmp 0xeee6
movl -0x10(%rbp), %esi
movl $0xffffff38, %edi       # imm = 0xFFFFFF38
callq 0xed60
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x1928b(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0xef6f
movq 0x196e9(%rip), %rax     # 0x285f0
movq 0x19272(%rip), %rcx     # 0x28180
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0xef6f
movq 0x19257(%rip), %rax     # 0x28180
movq 0x19250(%rip), %rcx     # 0x28180
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x22, (%rax,%rcx,8)
jne 0xef6f
movq 0x1923a(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x1922b(%rip), %rcx     # 0x28180
movq 0x19674(%rip), %rdx     # 0x285d0
movq 0x191d5(%rip), %rsi     # 0x28138
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
movq %rax, -0x28(%rbp)
movq 0x1965a(%rip), %rax     # 0x285d0
movq -0x18(%rbp), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0xef96
movq 0x191f8(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
jmp 0xefa9
movq 0x19633(%rip), %rax     # 0x285d0
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdx
movq 0x191c4(%rip), %rax     # 0x28180
movq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0xee69
movl $0x1, %edi
callq 0x3950
movq %rax, -0x18(%rbp)
movq 0x195f2(%rip), %rax     # 0x285d0
movq -0x18(%rbp), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0xf017
movl $0x1, %edi
callq 0x3950
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq 0x1917e(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x8(%rbp)
jmp 0xf067
cmpl $0xffffff23, -0xc(%rbp) # imm = 0xFFFFFF23
jne 0xf02d
movq 0x196e9(%rip), %rax     # 0x28710
movq %rax, -0x58(%rbp)
jmp 0xf038
movq 0x196c4(%rip), %rax     # 0x286f8
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x18(%rbp)
movl $0x1, %edi
callq 0x3950
movq %rax, %rdi
movq -0x18(%rbp), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)