// File: /workspace/github_c_makefile_star2_O3/azhai[P]mlite/mlite.c
// Function: repl
void repl(void) {
	cell	n = NIL; /*LINT*/
	cell	sane_env;

	sane_env = node(NIL, NIL);
	save(sane_env);
	if (!Quiet_mode) {
		signal(SIGINT, keyboard_interrupt);
	}
	Token = TOK_SEMI;
	while (Token != END_OF_FILE) {
		Error_flag = 0;
		Instream = 0;
		Outstream = 1;
		clear_leftover_envs();
		reset_calltrace();
		car(sane_env) = Environment;
		Exnstack = NIL;
		if (!Quiet_mode) {
			pr("> ");
			flush();
		}
		if (Token == TOK_SEMI || Token == UNDEFINED)
			Token = scan();
		Program = prog();
		if (Token != END_OF_FILE && Token != TOK_SEMI) {
			error("syntax error at", Attr);
		}
		if (!Error_flag)
			n = eval(Program);
		if (!Error_flag && n != UNDEFINED) {
			print_form(n);
			pr("\n");
			box_value(S_it) = n;
		}
		if (Error_flag) {
			Environment = car(sane_env);
			recover();
		}
	}
	unsave(1);
	pr("\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq $-0x1, %rbx
xorl %r12d, %r12d
movq $-0x1, %rdi
movq $-0x1, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, %r14
movq 0x9f99(%rip), %rsi      # 0x1e128
movq %rax, %rdi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0x9f88(%rip)      # 0x1e128
cmpl $0x0, 0xa411(%rip)      # 0x1e5b8
jne 0x141ba
leaq -0xb9(%rip), %rsi       # 0x140f7
movl $0x2, %edi
callq 0x3120
movl $0xffffff9b, 0xa50c(%rip) # imm = 0xFFFFFF9B
movl $0xffffff9b, %r13d      # imm = 0xFFFFFF9B
movl %r12d, 0xa3e3(%rip)     # 0x1e5b4
movl %r12d, 0xa4c0(%rip)     # 0x1e698
movl $0x1, 0xa09e(%rip)      # 0x1e280
movq 0xa3d7(%rip), %rax      # 0x1e5c0
movq 0x9f18(%rip), %r15      # 0x1e108
movq (%rax,%r15,8), %rcx
cmpq $-0x1, %rcx
je 0x1420a
movq %rcx, %r15
movq %rcx, 0x9f04(%rip)      # 0x1e108
movq (%rax,%rcx,8), %rcx
jmp 0x141f4
movl $0x320, %edx            # imm = 0x320
leaq 0xa07a(%rip), %rdi      # 0x1e290
movl $0xff, %esi
callq 0x30d0
movq 0x9f49(%rip), %rax      # 0x1e170
movq %r15, (%rax,%r14,8)
movq $-0x1, 0x9f32(%rip) # 0x1e168
cmpl $0x0, 0xa37b(%rip)      # 0x1e5b8
jne 0x14269
leaq 0x2f4c(%rip), %rdi      # 0x17192
callq 0x3964
movslq 0xa02e(%rip), %rax      # 0x1e280
leaq 0x9f27(%rip), %rcx      # 0x1e180
movq (%rcx,%rax,8), %rdi
callq 0x3160
movl 0xa467(%rip), %r13d     # 0x1e6d0
cmpl $-0x5, %r13d
je 0x14275
cmpl $-0x65, %r13d
jne 0x14280
callq 0x9ac4
movl %eax, 0xa450(%rip)      # 0x1e6d0
callq 0xb8b1
movq %rax, 0x9e6c(%rip)      # 0x1e0f8
movl 0xa43e(%rip), %eax      # 0x1e6d0
cmpl $-0x65, %eax
je 0x142af
cmpl $-0x4, %eax
je 0x142af
movq 0x9eb5(%rip), %rsi      # 0x1e158
leaq 0x24e8(%rip), %rdi      # 0x16792
callq 0x33eb
cmpl $0x0, 0xa2fe(%rip)      # 0x1e5b4
jne 0x142c7
movq 0x9e39(%rip), %rdi      # 0x1e0f8
callq 0x11a6a
movq %rax, %rbx
cmpl $0x0, 0xa2e6(%rip)      # 0x1e5b4
sete %al
cmpq $-0x5, %rbx
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x14307
movq %rbx, %rdi
xorl %esi, %esi
callq 0x9124
leaq 0x35e7(%rip), %rdi      # 0x178d7
callq 0x3964
movq 0xa2c4(%rip), %rax      # 0x1e5c0
movq 0xa8ed(%rip), %rcx      # 0x1ebf0
movq %rbx, (%rax,%rcx,8)
cmpl $0x0, 0xa2a6(%rip)      # 0x1e5b4
je 0x14322
movq 0x9e59(%rip), %rax      # 0x1e170
movq (%rax,%r14,8), %rax
movq %rax, 0x9de6(%rip)      # 0x1e108
movl 0xa3a7(%rip), %r13d     # 0x1e6d0
cmpl $-0x4, %r13d
jne 0x141ca
movl $0x1, %edi
callq 0x384f
leaq 0x3593(%rip), %rdi      # 0x178d7
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3964