// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: real_less_p
int real_less_p(cell a, cell b) {
	cell	ma, mb;
	int	ka, kb, neg;
	int	dpa, dpb;

	if (integer_p(a) && integer_p(b))
		return bignum_less_p(a, b);
	if (integer_p(a))
		a = bignum_to_real(a);
	if (integer_p(b)) {
		save(a);
		b = bignum_to_real(b);
		unsave(1);
	}
	if (x_real_negative_p(a) && !x_real_negative_p(b)) return 1;
	if (x_real_negative_p(b) && !x_real_negative_p(a)) return 0;
	if (x_real_zero_p(a) && x_real_positive_p(b)) return 1;
	if (x_real_zero_p(b) && x_real_positive_p(a)) return 0;
	neg = x_real_negative_p(a);
	dpa = count_digits(x_real_mantissa(a)) + x_real_exponent(a);
	dpb = count_digits(x_real_mantissa(b)) + x_real_exponent(b);
	if (dpa < dpb) return neg? 0: 1;
	if (dpa > dpb) return neg? 1: 0;
	Tmp = b;
	save(a);
	save(b);
	Tmp = NIL;
	autoscale(&a, &b);
	unsave(2);
	if (a == NIL) return neg? 1: 0;
	if (b == NIL) return neg? 0: 1;
	ma = x_real_mantissa(a);
	mb = x_real_mantissa(b);
	ka = length(ma);
	kb = length(mb);
	if (ka < kb) return 1;
	if (ka > kb) return 0;
	while (ma != NIL) {
		if (car(ma) < car(mb)) return neg? 0: 1;
		if (car(ma) > car(mb)) return neg? 1: 0;
		ma = cdr(ma);
		mb = cdr(mb);
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jl 0x7a35
movq 0x20c22(%rip), %rax     # 0x285f0
movq -0x10(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x7a35
movq 0x2079b(%rip), %rax     # 0x28180
movq -0x10(%rbp), %rcx
cmpq $-0x18, (%rax,%rcx,8)
jne 0x7a35
cmpq $0x0, -0x18(%rbp)
jl 0x7a35
movq 0x20bf2(%rip), %rax     # 0x285f0
movq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x7a35
movq 0x2076b(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
cmpq $-0x18, (%rax,%rcx,8)
jne 0x7a35
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4f50
movl %eax, -0x4(%rbp)
jmp 0x8291
cmpq $0x0, -0x10(%rbp)
jl 0x7a72
movq 0x20bad(%rip), %rax     # 0x285f0
movq -0x10(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x7a72
movq 0x20726(%rip), %rax     # 0x28180
movq -0x10(%rbp), %rcx
cmpq $-0x18, (%rax,%rcx,8)
jne 0x7a72
movq -0x10(%rbp), %rdi
callq 0x6870
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x18(%rbp)
jl 0x7ad2
movq 0x20b70(%rip), %rax     # 0x285f0
movq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x7ad2
movq 0x206e9(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
cmpq $-0x18, (%rax,%rcx,8)
jne 0x7ad2
movq -0x10(%rbp), %rdi
movq 0x2068b(%rip), %rsi     # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0x2067d(%rip)     # 0x28138
movq -0x18(%rbp), %rdi
callq 0x6870
movq %rax, -0x18(%rbp)
movl $0x1, %edi
callq 0x3950
movq 0x206a7(%rip), %rax     # 0x28180
movq 0x20af0(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7bfa
movq 0x2067f(%rip), %rax     # 0x28180
movq 0x20ac8(%rip), %rcx     # 0x285d0
movq 0x20ac1(%rip), %rdx     # 0x285d0
movq 0x20aba(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7b64
movq 0x20a9c(%rip), %rax     # 0x285d0
movq 0x20a95(%rip), %rcx     # 0x285d0
movq 0x20a8e(%rip), %rdx     # 0x285d0
movq 0x20a87(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
je 0x7bfa
movq 0x20615(%rip), %rax     # 0x28180
movq 0x20a5e(%rip), %rcx     # 0x285d0
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7bee
movq 0x205f1(%rip), %rax     # 0x28180
movq 0x20a3a(%rip), %rcx     # 0x285d0
movq 0x20a33(%rip), %rdx     # 0x285d0
movq 0x20a2c(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7bfa
movq 0x20a0e(%rip), %rax     # 0x285d0
movq 0x20a07(%rip), %rcx     # 0x285d0
movq 0x20a00(%rip), %rdx     # 0x285d0
movq 0x209f9(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0x7bfa
movl $0x1, -0x4(%rbp)
jmp 0x8291
movq 0x2057f(%rip), %rax     # 0x28180
movq 0x209c8(%rip), %rcx     # 0x285d0
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7d22
movq 0x20557(%rip), %rax     # 0x28180
movq 0x209a0(%rip), %rcx     # 0x285d0
movq 0x20999(%rip), %rdx     # 0x285d0
movq 0x20992(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7c8c
movq 0x20974(%rip), %rax     # 0x285d0
movq 0x2096d(%rip), %rcx     # 0x285d0
movq 0x20966(%rip), %rdx     # 0x285d0
movq 0x2095f(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
je 0x7d22
movq 0x204ed(%rip), %rax     # 0x28180
movq 0x20936(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7d16
movq 0x204c9(%rip), %rax     # 0x28180
movq 0x20912(%rip), %rcx     # 0x285d0
movq 0x2090b(%rip), %rdx     # 0x285d0
movq 0x20904(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7d22
movq 0x208e6(%rip), %rax     # 0x285d0
movq 0x208df(%rip), %rcx     # 0x285d0
movq 0x208d8(%rip), %rdx     # 0x285d0
movq 0x208d1(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0x7d22
movl $0x0, -0x4(%rbp)
jmp 0x8291
movq 0x20457(%rip), %rax     # 0x28180
movq 0x208a0(%rip), %rcx     # 0x285d0
movq 0x20899(%rip), %rdx     # 0x285d0
movq 0x20892(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7e26
movq 0x20870(%rip), %rax     # 0x285d0
movq 0x20869(%rip), %rcx     # 0x285d0
movq 0x20862(%rip), %rdx     # 0x285d0
movq 0x2085b(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0x7e26
movq 0x203e9(%rip), %rax     # 0x28180
movq 0x20832(%rip), %rcx     # 0x285d0
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
andq $0x1, %rax
cmpq $0x0, %rax
jne 0x7e26
movq 0x203c5(%rip), %rax     # 0x28180
movq 0x2080e(%rip), %rcx     # 0x285d0
movq 0x20807(%rip), %rdx     # 0x285d0
movq 0x20800(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7e1a
movq 0x207e2(%rip), %rax     # 0x285d0
movq 0x207db(%rip), %rcx     # 0x285d0
movq 0x207d4(%rip), %rdx     # 0x285d0
movq 0x207cd(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
je 0x7e26
movl $0x1, -0x4(%rbp)
jmp 0x8291
movq 0x20353(%rip), %rax     # 0x28180
movq 0x2079c(%rip), %rcx     # 0x285d0
movq 0x20795(%rip), %rdx     # 0x285d0
movq 0x2078e(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7f2a
movq 0x2076c(%rip), %rax     # 0x285d0
movq 0x20765(%rip), %rcx     # 0x285d0
movq 0x2075e(%rip), %rdx     # 0x285d0
movq 0x20757(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0x7f2a
movq 0x202e5(%rip), %rax     # 0x28180
movq 0x2072e(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
andq $0x1, %rax
cmpq $0x0, %rax
jne 0x7f2a
movq 0x202c1(%rip), %rax     # 0x28180
movq 0x2070a(%rip), %rcx     # 0x285d0
movq 0x20703(%rip), %rdx     # 0x285d0
movq 0x206fc(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x7f1e
movq 0x206de(%rip), %rax     # 0x285d0
movq 0x206d7(%rip), %rcx     # 0x285d0
movq 0x206d0(%rip), %rdx     # 0x285d0
movq 0x206c9(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
je 0x7f2a
movl $0x0, -0x4(%rbp)
jmp 0x8291
movq 0x2024f(%rip), %rax     # 0x28180
movq 0x20698(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rcx
andq $0x1, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x3d(%rbp)
je 0x7fca
movq 0x20226(%rip), %rcx     # 0x28180
movq 0x2066f(%rip), %rax     # 0x285d0
movq 0x20668(%rip), %rdx     # 0x285d0
movq 0x20661(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rax,%rdx,8), %rdx
xorl %eax, %eax
cmpq $0x0, (%rcx,%rdx,8)
movb %al, -0x3e(%rbp)
jne 0x7fc2
movq 0x2063e(%rip), %rax     # 0x285d0
movq 0x20637(%rip), %rcx     # 0x285d0
movq 0x20630(%rip), %rdx     # 0x285d0
movq 0x20629(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
sete %al
movb %al, -0x3e(%rbp)
movb -0x3e(%rbp), %al
xorb $-0x1, %al
movb %al, -0x3d(%rbp)
movb -0x3d(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x34(%rbp)
movq 0x205f4(%rip), %rax     # 0x285d0
movq 0x205ed(%rip), %rcx     # 0x285d0
movq 0x205e6(%rip), %rdx     # 0x285d0
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x63b0
movq 0x2017a(%rip), %rcx     # 0x28180
movq 0x205c3(%rip), %rdx     # 0x285d0
movq 0x205bc(%rip), %rsi     # 0x285d0
movq -0x10(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
addq (%rcx,%rdx,8), %rax
movl %eax, -0x38(%rbp)
movq 0x205a2(%rip), %rax     # 0x285d0
movq 0x2059b(%rip), %rcx     # 0x285d0
movq 0x20594(%rip), %rdx     # 0x285d0
movq -0x18(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x63b0
movq 0x20128(%rip), %rcx     # 0x28180
movq 0x20571(%rip), %rdx     # 0x285d0
movq 0x2056a(%rip), %rsi     # 0x285d0
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
addq (%rcx,%rdx,8), %rax
movl %eax, -0x3c(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x3c(%rbp), %eax
jge 0x8099
movl -0x34(%rbp), %edx
movl $0x1, %eax
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x8291
movl -0x38(%rbp), %eax
cmpl -0x3c(%rbp), %eax
jle 0x80b9
movl -0x34(%rbp), %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x8291
movq -0x18(%rbp), %rax
movq %rax, 0x2005c(%rip)     # 0x28120
movq -0x10(%rbp), %rdi
movq 0x20069(%rip), %rsi     # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0x2005b(%rip)     # 0x28138
movq -0x18(%rbp), %rdi
movq 0x20050(%rip), %rsi     # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0x20042(%rip)     # 0x28138
movq $-0x1, 0x2001f(%rip) # 0x28120
leaq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x7250
movl $0x2, %edi
callq 0x3950
cmpq $-0x1, -0x10(%rbp)
jne 0x8137
movl -0x34(%rbp), %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x8291
cmpq $-0x1, -0x18(%rbp)
jne 0x8156
movl -0x34(%rbp), %edx
movl $0x1, %eax
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x8291
movq 0x20473(%rip), %rax     # 0x285d0
movq 0x2046c(%rip), %rcx     # 0x285d0
movq 0x20465(%rip), %rdx     # 0x285d0
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
movq 0x2044a(%rip), %rax     # 0x285d0
movq 0x20443(%rip), %rcx     # 0x285d0
movq 0x2043c(%rip), %rdx     # 0x285d0
movq -0x18(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5160
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rdi
callq 0x5160
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x30(%rbp), %eax
jge 0x81d4
movl $0x1, -0x4(%rbp)
jmp 0x8291
movl -0x2c(%rbp), %eax
cmpl -0x30(%rbp), %eax
jle 0x81e8
movl $0x0, -0x4(%rbp)
jmp 0x8291
jmp 0x81ea
cmpq $-0x1, -0x20(%rbp)
je 0x828a
movq 0x1ff84(%rip), %rax     # 0x28180
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x1ff75(%rip), %rcx     # 0x28180
movq -0x28(%rbp), %rdx
cmpq (%rcx,%rdx,8), %rax
jge 0x822a
movl -0x34(%rbp), %edx
movl $0x1, %eax
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x8291
movq 0x1ff4f(%rip), %rax     # 0x28180
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x1ff40(%rip), %rcx     # 0x28180
movq -0x28(%rbp), %rdx
cmpq (%rcx,%rdx,8), %rax
jle 0x825f
movl -0x34(%rbp), %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x8291
movq 0x2036a(%rip), %rax     # 0x285d0
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
movq 0x20357(%rip), %rax     # 0x285d0
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
jmp 0x81ea
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)