LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: funstm
static js_Ast *funstm(js_State *J, int line)
{
	js_Ast *a, *b, *c;
	a = identifier(J);
	jsP_expect(J, '(');
	b = parameters(J);
	jsP_expect(J, ')');
	c = funbody(J);
	/* rewrite function statement as "var X = function X() {}" */
	return STM1(VAR, LIST(EXP2(VAR, a, EXP3(FUN, a, b, c))));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x28850
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x28, 0x74(%rax)
jne 0x2948a
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x294cd
jmp 0x29492
xorl %eax, %eax
testb $0x1, %al
jne 0x294cd
jmp 0x29492
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x30(%rbp)
movl $0x28, %edi
callq 0xddf0
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rdx
movq %rax, %rcx
leaq 0x13df2(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rdi
callq 0x12230
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x29, 0x74(%rax)
jne 0x294f5
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x29538
jmp 0x294fd
xorl %eax, %eax
testb $0x1, %al
jne 0x29538
jmp 0x294fd
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x40(%rbp)
movl $0x29, %edi
callq 0xddf0
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rdx
movq %rax, %rcx
leaq 0x13d87(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rdi
callq 0x289d0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x6c(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %r8
movq -0x28(%rbp), %r9
movl $0x11, %esi
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x12310
movq -0x78(%rbp), %rdi
movl -0x6c(%rbp), %edx
movq -0x68(%rbp), %rcx
movq %rax, %r8
movl $0x46, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq -0x60(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq -0x58(%rbp), %rdi
movl -0x4c(%rbp), %edx
movq %rax, %rcx
movl $0x49, %esi
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: statementlist
static js_Ast *statementlist(js_State *J)
{
	js_Ast *head, *tail;
	if (J->lookahead == '}' || J->lookahead == TK_CASE || J->lookahead == TK_DEFAULT)
		return NULL;
	head = tail = LIST(statement(J));
	while (J->lookahead != '}' && J->lookahead != TK_CASE && J->lookahead != TK_DEFAULT)
		tail = tail->b = LIST(statement(J));
	return jsP_list(head);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x7d, 0x74(%rax)
je 0x29640
movq -0x10(%rbp), %rax
cmpl $0x11d, 0x74(%rax)      # imm = 0x11D
je 0x29640
movq -0x10(%rbp), %rax
cmpl $0x121, 0x74(%rax)      # imm = 0x121
jne 0x2964d
movq $0x0, -0x8(%rbp)
jmp 0x2970d
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x279b0
movq -0x28(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rcx
xorl %eax, %eax
cmpl $0x7d, 0x74(%rcx)
movb %al, -0x29(%rbp)
je 0x296b8
movq -0x10(%rbp), %rcx
xorl %eax, %eax
cmpl $0x11d, 0x74(%rcx)      # imm = 0x11D
movb %al, -0x29(%rbp)
je 0x296b8
movq -0x10(%rbp), %rax
cmpl $0x121, 0x74(%rax)      # imm = 0x121
setne %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
testb $0x1, %al
jne 0x296c1
jmp 0x29700
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x279b0
movq -0x38(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq -0x20(%rbp), %rcx
movq %rax, 0x18(%rcx)
movq %rax, -0x20(%rbp)
jmp 0x29686
movq -0x18(%rbp), %rdi
callq 0x27840
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: vardec
static js_Ast *vardec(js_State *J, int notin)
{
	js_Ast *a = identifier(J);
	int line = J->lexline;
	if (jsP_accept(J, '='))
		return EXP2(VAR, a, assignment(J, notin));
	return EXP1(VAR, a);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x28850
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x3d, 0x74(%rax)
jne 0x29761
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x29769
jmp 0x297b6
xorl %eax, %eax
testb $0x1, %al
jne 0x29769
jmp 0x297b6
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x297f0
movq -0x40(%rbp), %rdi
movl -0x34(%rbp), %edx
movq -0x30(%rbp), %rcx
movq %rax, %r8
movl $0x46, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x297df
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x20(%rbp), %rcx
movl $0x46, %esi
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: conditional
static js_Ast *conditional(js_State *J, int notin)
{
	js_Ast *a = logor(J, notin);
	int line = J->lexline;
	if (jsP_accept(J, '?')) {
		js_Ast *b, *c;
		INCREC();
		b = assignment(J, 0);
		jsP_expect(J, ':');
		c = assignment(J, notin);
		DECREC();
		return EXP3(COND, a, b, c);
	}
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x29fe0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x3f, 0x74(%rax)
jne 0x29ed7
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x29ee2
jmp 0x29fbf
xorl %eax, %eax
testb $0x1, %al
jne 0x29ee2
jmp 0x29fbf
movq -0x10(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x29f08
movq -0x10(%rbp), %rdi
leaq 0x1343f(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x297f0
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x3a, 0x74(%rax)
jne 0x29f32
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x29f75
jmp 0x29f3a
xorl %eax, %eax
testb $0x1, %al
jne 0x29f75
jmp 0x29f3a
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x40(%rbp)
movl $0x3a, %edi
callq 0xddf0
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rdx
movq %rax, %rcx
leaq 0x1334a(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x297f0
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x70(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x70(%rax)
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
movl $0x38, %esi
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x29fc7
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: logor
static js_Ast *logor(js_State *J, int notin)
{
	js_Ast *a = logand(J, notin);
	int line = J->lexline;
	if (jsP_accept(J, TK_OR)) {
		INCREC();
		a = EXP2(LOGOR, a, logor(J, notin));
		DECREC();
	}
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a0c0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x10e, 0x74(%rax)      # imm = 0x10E
jne 0x2a02a
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2a032
jmp 0x2a0b0
xorl %eax, %eax
testb $0x1, %al
jne 0x2a032
jmp 0x2a0b0
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2a058
movq -0x8(%rbp), %rdi
leaq 0x132ef(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x29fe0
movq -0x38(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x28(%rbp), %rcx
movq %rax, %r8
movl $0x37, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x70(%rax)
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: logand
static js_Ast *logand(js_State *J, int notin)
{
	js_Ast *a = bitor(J, notin);
	int line = J->lexline;
	if (jsP_accept(J, TK_AND)) {
		INCREC();
		a = EXP2(LOGAND, a, logand(J, notin));
		DECREC();
	}
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a1a0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x10d, 0x74(%rax)      # imm = 0x10D
jne 0x2a10a
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2a112
jmp 0x2a190
xorl %eax, %eax
testb $0x1, %al
jne 0x2a112
jmp 0x2a190
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2a138
movq -0x8(%rbp), %rdi
leaq 0x1320f(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a0c0
movq -0x38(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x28(%rbp), %rcx
movq %rax, %r8
movl $0x36, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x70(%rax)
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: bitor
static js_Ast *bitor(js_State *J, int notin)
{
	js_Ast *a = bitxor(J, notin);
	SAVEREC();
	int line = J->lexline;
	while (jsP_accept(J, '|')) {
		INCREC();
		a = EXP2(BITOR, a, bitxor(J, notin));
		line = J->lexline;
	}
	POPREC();
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a2a0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x7c, 0x74(%rax)
jne 0x2a1f0
movq -0x8(%rbp), %rdi
callq 0x11c60
movl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x2a1f7
xorl %eax, %eax
movl %eax, -0x24(%rbp)
jmp 0x2a1f7
movl -0x24(%rbp), %eax
cmpl $0x0, %eax
je 0x2a283
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2a229
movq -0x8(%rbp), %rdi
leaq 0x1311e(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a2a0
movq -0x40(%rbp), %rdi
movl -0x34(%rbp), %edx
movq -0x30(%rbp), %rcx
movq %rax, %r8
movl $0x35, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0x2a1d3
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x70(%rax)
movq -0x18(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: bitxor
static js_Ast *bitxor(js_State *J, int notin)
{
	js_Ast *a = bitand(J, notin);
	SAVEREC();
	int line = J->lexline;
	while (jsP_accept(J, '^')) {
		INCREC();
		a = EXP2(BITXOR, a, bitand(J, notin));
		line = J->lexline;
	}
	POPREC();
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a3a0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x5e, 0x74(%rax)
jne 0x2a2f0
movq -0x8(%rbp), %rdi
callq 0x11c60
movl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x2a2f7
xorl %eax, %eax
movl %eax, -0x24(%rbp)
jmp 0x2a2f7
movl -0x24(%rbp), %eax
cmpl $0x0, %eax
je 0x2a383
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2a329
movq -0x8(%rbp), %rdi
leaq 0x1301e(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a3a0
movq -0x40(%rbp), %rdi
movl -0x34(%rbp), %edx
movq -0x30(%rbp), %rcx
movq %rax, %r8
movl $0x34, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0x2a2d3
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x70(%rax)
movq -0x18(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: bitand
static js_Ast *bitand(js_State *J, int notin)
{
	js_Ast *a = equality(J, notin);
	SAVEREC();
	int line = J->lexline;
	while (jsP_accept(J, '&')) {
		INCREC();
		a = EXP2(BITAND, a, equality(J, notin));
		line = J->lexline;
	}
	POPREC();
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a4a0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x26, 0x74(%rax)
jne 0x2a3f0
movq -0x8(%rbp), %rdi
callq 0x11c60
movl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x2a3f7
xorl %eax, %eax
movl %eax, -0x24(%rbp)
jmp 0x2a3f7
movl -0x24(%rbp), %eax
cmpl $0x0, %eax
je 0x2a483
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2a429
movq -0x8(%rbp), %rdi
leaq 0x12f1e(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x2a4a0
movq -0x40(%rbp), %rdi
movl -0x34(%rbp), %edx
movq -0x30(%rbp), %rcx
movq %rax, %r8
movl $0x33, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0x2a3d3
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x70(%rax)
movq -0x18(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: shift
static js_Ast *shift(js_State *J)
{
	js_Ast *a = additive(J);
	int line;
	SAVEREC();
loop:
	INCREC();
	line = J->lexline;
	if (jsP_accept(J, TK_SHL)) { a = EXP2(SHL, a, additive(J)); goto loop; }
	if (jsP_accept(J, TK_SHR)) { a = EXP2(SHR, a, additive(J)); goto loop; }
	if (jsP_accept(J, TK_USHR)) { a = EXP2(USHR, a, additive(J)); goto loop; }
	POPREC();
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2ac00
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2aa89
movq -0x8(%rbp), %rdi
leaq 0x128be(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x10a, 0x74(%rax)      # imm = 0x10A
jne 0x2aab1
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2aab9
jmp 0x2ab06
xorl %eax, %eax
testb $0x1, %al
jne 0x2aab9
jmp 0x2ab06
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2ac00
movq -0x30(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x20(%rbp), %rcx
movq %rax, %r8
movl $0x28, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2aa63
movq -0x8(%rbp), %rax
cmpl $0x10b, 0x74(%rax)      # imm = 0x10B
jne 0x2ab24
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ab2c
jmp 0x2ab79
xorl %eax, %eax
testb $0x1, %al
jne 0x2ab2c
jmp 0x2ab79
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2ac00
movq -0x48(%rbp), %rdi
movl -0x3c(%rbp), %edx
movq -0x38(%rbp), %rcx
movq %rax, %r8
movl $0x27, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2aa63
movq -0x8(%rbp), %rax
cmpl $0x10c, 0x74(%rax)      # imm = 0x10C
jne 0x2ab97
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ab9f
jmp 0x2abec
xorl %eax, %eax
testb $0x1, %al
jne 0x2ab9f
jmp 0x2abec
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2ac00
movq -0x60(%rbp), %rdi
movl -0x54(%rbp), %edx
movq -0x50(%rbp), %rcx
movq %rax, %r8
movl $0x26, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2aa63
movl -0x18(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x70(%rax)
movq -0x10(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: additive
static js_Ast *additive(js_State *J)
{
	js_Ast *a = multiplicative(J);
	int line;
	SAVEREC();
loop:
	INCREC();
	line = J->lexline;
	if (jsP_accept(J, '+')) { a = EXP2(ADD, a, multiplicative(J)); goto loop; }
	if (jsP_accept(J, '-')) { a = EXP2(SUB, a, multiplicative(J)); goto loop; }
	POPREC();
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2ad50
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2ac49
movq -0x8(%rbp), %rdi
leaq 0x126fe(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x2b, 0x74(%rax)
jne 0x2ac6e
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ac76
jmp 0x2acc3
xorl %eax, %eax
testb $0x1, %al
jne 0x2ac76
jmp 0x2acc3
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2ad50
movq -0x30(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x20(%rbp), %rcx
movq %rax, %r8
movl $0x25, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2ac23
movq -0x8(%rbp), %rax
cmpl $0x2d, 0x74(%rax)
jne 0x2acde
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ace6
jmp 0x2ad33
xorl %eax, %eax
testb $0x1, %al
jne 0x2ace6
jmp 0x2ad33
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2ad50
movq -0x48(%rbp), %rdi
movl -0x3c(%rbp), %edx
movq -0x38(%rbp), %rcx
movq %rax, %r8
movl $0x24, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2ac23
movl -0x18(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x70(%rax)
movq -0x10(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: multiplicative
static js_Ast *multiplicative(js_State *J)
{
	js_Ast *a = unary(J);
	int line;
	SAVEREC();
loop:
	INCREC();
	line = J->lexline;
	if (jsP_accept(J, '*')) { a = EXP2(MUL, a, unary(J)); goto loop; }
	if (jsP_accept(J, '/')) { a = EXP2(DIV, a, unary(J)); goto loop; }
	if (jsP_accept(J, '%')) { a = EXP2(MOD, a, unary(J)); goto loop; }
	POPREC();
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2af10
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2ad99
movq -0x8(%rbp), %rdi
leaq 0x125ae(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x2a, 0x74(%rax)
jne 0x2adbe
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2adc6
jmp 0x2ae13
xorl %eax, %eax
testb $0x1, %al
jne 0x2adc6
jmp 0x2ae13
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2af10
movq -0x30(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x20(%rbp), %rcx
movq %rax, %r8
movl $0x23, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2ad73
movq -0x8(%rbp), %rax
cmpl $0x2f, 0x74(%rax)
jne 0x2ae2e
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ae36
jmp 0x2ae83
xorl %eax, %eax
testb $0x1, %al
jne 0x2ae36
jmp 0x2ae83
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2af10
movq -0x48(%rbp), %rdi
movl -0x3c(%rbp), %edx
movq -0x38(%rbp), %rcx
movq %rax, %r8
movl $0x22, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2ad73
movq -0x8(%rbp), %rax
cmpl $0x25, 0x74(%rax)
jne 0x2ae9e
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2aea6
jmp 0x2aef3
xorl %eax, %eax
testb $0x1, %al
jne 0x2aea6
jmp 0x2aef3
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2af10
movq -0x60(%rbp), %rdi
movl -0x54(%rbp), %edx
movq -0x50(%rbp), %rcx
movq %rax, %r8
movl $0x21, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2ad73
movl -0x18(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x70(%rax)
movq -0x10(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: postfix
static js_Ast *postfix(js_State *J)
{
	js_Ast *a = callexp(J);
	int line = J->lexline;
	if (!J->newline && jsP_accept(J, TK_INC)) return EXP1(POSTINC, a);
	if (!J->newline && jsP_accept(J, TK_DEC)) return EXP1(POSTDEC, a);
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2b440
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x6c(%rax)
jne 0x2b3ce
movq -0x10(%rbp), %rax
cmpl $0x11a, 0x74(%rax)      # imm = 0x11A
jne 0x2b39b
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2b3a3
jmp 0x2b3ce
xorl %eax, %eax
testb $0x1, %al
jne 0x2b3a3
jmp 0x2b3ce
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %edx
movq -0x18(%rbp), %rcx
movl $0x16, %esi
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x2b431
movq -0x10(%rbp), %rax
cmpl $0x0, 0x6c(%rax)
jne 0x2b429
movq -0x10(%rbp), %rax
cmpl $0x11b, 0x74(%rax)      # imm = 0x11B
jne 0x2b3f6
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2b3fe
jmp 0x2b429
xorl %eax, %eax
testb $0x1, %al
jne 0x2b3fe
jmp 0x2b429
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %edx
movq -0x18(%rbp), %rcx
movl $0x17, %esi
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x2b431
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: newexp
static js_Ast *newexp(js_State *J)
{
	js_Ast *a, *b;
	int line = J->lexline;

	if (jsP_accept(J, TK_NEW)) {
		a = memberexp(J);
		if (jsP_accept(J, '(')) {
			b = arguments(J);
			jsP_expect(J, ')');
			return EXP2(NEW, a, b);
		}
		return EXP1(NEW, a);
	}

	if (jsP_accept(J, TK_FUNCTION))
		return funexp(J, line);

	return primary(J);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x12c, 0x74(%rax)      # imm = 0x12C
jne 0x2b707
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2b712
jmp 0x2b80a
xorl %eax, %eax
testb $0x1, %al
jne 0x2b712
jmp 0x2b80a
movq -0x10(%rbp), %rdi
callq 0x2b9d0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x28, 0x74(%rax)
jne 0x2b73d
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2b748
jmp 0x2b7df
xorl %eax, %eax
testb $0x1, %al
jne 0x2b748
jmp 0x2b7df
movq -0x10(%rbp), %rdi
callq 0x2b8e0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x29, 0x74(%rax)
jne 0x2b770
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2b7b3
jmp 0x2b778
xorl %eax, %eax
testb $0x1, %al
jne 0x2b7b3
jmp 0x2b778
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x30(%rbp)
movl $0x29, %edi
callq 0xddf0
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rdx
movq %rax, %rcx
leaq 0x11b0c(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %r8
movl $0x15, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x2b84f
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x18(%rbp), %rcx
movl $0x15, %esi
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x2b84f
movq -0x10(%rbp), %rax
cmpl $0x128, 0x74(%rax)      # imm = 0x128
jne 0x2b828
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2b830
jmp 0x2b842
xorl %eax, %eax
testb $0x1, %al
jne 0x2b830
jmp 0x2b842
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %esi
callq 0x2bb80
movq %rax, -0x8(%rbp)
jmp 0x2b84f
movq -0x10(%rbp), %rdi
callq 0x2bca0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: identifiername
static js_Ast *identifiername(js_State *J)
{
	if (J->lookahead == TK_IDENTIFIER || J->lookahead >= TK_BREAK) {
		js_Ast *a = jsP_newstrnode(J, AST_IDENTIFIER, J->text);
		jsP_next(J);
		return a;
	}
	jsP_error(J, "unexpected token: %s (expected identifier or keyword)", jsY_tokenstring(J->lookahead));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x100, 0x74(%rax)      # imm = 0x100
je 0x2b886
movq -0x8(%rbp), %rax
cmpl $0x11c, 0x74(%rax)      # imm = 0x11C
jl 0x2b8b3
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rdx
movl $0x2, %esi
callq 0x28ac0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x11c60
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq -0x18(%rbp), %rdi
movq %rax, %rdx
leaq 0x11b02(%rip), %rsi     # 0x3d3d7
movb $0x0, %al
callq 0x288c0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: arguments
static js_Ast *arguments(js_State *J)
{
	js_Ast *head, *tail;
	if (J->lookahead == ')')
		return NULL;
	head = tail = LIST(assignment(J, 0));
	while (jsP_accept(J, ',')) {
		tail = tail->b = LIST(assignment(J, 0));
	}
	return jsP_list(head);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x29, 0x74(%rax)
jne 0x2b903
movq $0x0, -0x8(%rbp)
jmp 0x2b9b8
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x297f0
movq -0x28(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x2c, 0x74(%rax)
jne 0x2b95b
movq -0x10(%rbp), %rdi
callq 0x11c60
movl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2b962
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2b962
movl -0x2c(%rbp), %eax
cmpl $0x0, %eax
je 0x2b9ab
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x297f0
movq -0x38(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq -0x20(%rbp), %rcx
movq %rax, 0x18(%rcx)
movq %rax, -0x20(%rbp)
jmp 0x2b93e
movq -0x18(%rbp), %rdi
callq 0x27840
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: memberexp
static js_Ast *memberexp(js_State *J)
{
	js_Ast *a = newexp(J);
	int line;
	SAVEREC();
loop:
	INCREC();
	line = J->lexline;
	if (jsP_accept(J, '.')) { a = EXP2(MEMBER, a, identifiername(J)); goto loop; }
	if (jsP_accept(J, '[')) { a = EXP2(INDEX, a, expression(J, 0)); jsP_expect(J, ']'); goto loop; }
	POPREC();
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2b6d0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl 0x70(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x70(%rcx)
cmpl $0x190, %eax            # imm = 0x190
jle 0x2ba19
movq -0x8(%rbp), %rdi
leaq 0x1192e(%rip), %rsi     # 0x3d340
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x2e, 0x74(%rax)
jne 0x2ba3e
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ba46
jmp 0x2ba93
xorl %eax, %eax
testb $0x1, %al
jne 0x2ba46
jmp 0x2ba93
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2b860
movq -0x30(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x20(%rbp), %rcx
movq %rax, %r8
movl $0x13, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
jmp 0x2b9f3
movq -0x8(%rbp), %rax
cmpl $0x5b, 0x74(%rax)
jne 0x2bab1
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2babc
jmp 0x2bb69
xorl %eax, %eax
testb $0x1, %al
jne 0x2babc
jmp 0x2bb69
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x28d70
movq -0x48(%rbp), %rdi
movl -0x3c(%rbp), %edx
movq -0x38(%rbp), %rcx
movq %rax, %r8
movl $0x12, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x5d, 0x74(%rax)
jne 0x2bb21
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2bb64
jmp 0x2bb29
xorl %eax, %eax
testb $0x1, %al
jne 0x2bb64
jmp 0x2bb29
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x50(%rbp)
movl $0x5d, %edi
callq 0xddf0
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rdx
movq %rax, %rcx
leaq 0x1175b(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
jmp 0x2b9f3
movl -0x18(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x70(%rax)
movq -0x10(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: funexp
static js_Ast *funexp(js_State *J, int line)
{
	js_Ast *a, *b, *c;
	a = identifieropt(J);
	jsP_expect(J, '(');
	b = parameters(J);
	jsP_expect(J, ')');
	c = funbody(J);
	return EXP3(FUN, a, b, c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x29250
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x28, 0x74(%rax)
jne 0x2bbb7
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2bbfa
jmp 0x2bbbf
xorl %eax, %eax
testb $0x1, %al
jne 0x2bbfa
jmp 0x2bbbf
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x30(%rbp)
movl $0x28, %edi
callq 0xddf0
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rdx
movq %rax, %rcx
leaq 0x116c5(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rdi
callq 0x12230
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x29, 0x74(%rax)
jne 0x2bc22
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2bc65
jmp 0x2bc2a
xorl %eax, %eax
testb $0x1, %al
jne 0x2bc65
jmp 0x2bc2a
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x40(%rbp)
movl $0x29, %edi
callq 0xddf0
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rdx
movq %rax, %rcx
leaq 0x1165a(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rdi
callq 0x289d0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %r8
movq -0x28(%rbp), %r9
movl $0x11, %esi
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x12310
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: objectliteral
static js_Ast *objectliteral(js_State *J)
{
	js_Ast *head, *tail;
	if (J->lookahead == '}')
		return NULL;
	head = tail = LIST(propassign(J));
	while (jsP_accept(J, ',')) {
		if (J->lookahead == '}')
			break;
		tail = tail->b = LIST(propassign(J));
	}
	return jsP_list(head);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x7d, 0x74(%rax)
jne 0x2c213
movq $0x0, -0x8(%rbp)
jmp 0x2c2d0
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2c3d0
movq -0x28(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x2c, 0x74(%rax)
jne 0x2c269
movq -0x10(%rbp), %rdi
callq 0x11c60
movl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c270
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c270
movl -0x2c(%rbp), %eax
cmpl $0x0, %eax
je 0x2c2c3
movq -0x10(%rbp), %rax
cmpl $0x7d, 0x74(%rax)
jne 0x2c284
jmp 0x2c2c3
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2c3d0
movq -0x38(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq -0x20(%rbp), %rcx
movq %rax, 0x18(%rcx)
movq %rax, -0x20(%rbp)
jmp 0x2c24c
movq -0x18(%rbp), %rdi
callq 0x27840
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: arrayliteral
static js_Ast *arrayliteral(js_State *J)
{
	js_Ast *head, *tail;
	if (J->lookahead == ']')
		return NULL;
	head = tail = LIST(arrayelement(J));
	while (jsP_accept(J, ',')) {
		if (J->lookahead != ']')
			tail = tail->b = LIST(arrayelement(J));
	}
	return jsP_list(head);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x5d, 0x74(%rax)
jne 0x2c303
movq $0x0, -0x8(%rbp)
jmp 0x2c3be
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2c7f0
movq -0x28(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x2c, 0x74(%rax)
jne 0x2c359
movq -0x10(%rbp), %rdi
callq 0x11c60
movl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c360
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c360
movl -0x2c(%rbp), %eax
cmpl $0x0, %eax
je 0x2c3b1
movq -0x10(%rbp), %rax
cmpl $0x5d, 0x74(%rax)
je 0x2c3af
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2c7f0
movq -0x38(%rbp), %rdi
movq %rax, %rcx
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %r9d
movl %edx, %esi
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq -0x20(%rbp), %rcx
movq %rax, 0x18(%rcx)
movq %rax, -0x20(%rbp)
jmp 0x2c33c
movq -0x18(%rbp), %rdi
callq 0x27840
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: propname
static js_Ast *propname(js_State *J)
{
	js_Ast *name;
	if (J->lookahead == TK_NUMBER) {
		name = jsP_newnumnode(J, EXP_NUMBER, J->number);
		jsP_next(J);
	} else if (J->lookahead == TK_STRING) {
		name = jsP_newstrnode(J, EXP_STRING, J->text);
		jsP_next(J);
	} else {
		name = identifiername(J);
	}
	return name;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x101, 0x74(%rax)      # imm = 0x101
jne 0x2c7a2
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movsd 0x80(%rax), %xmm0
movl $0x4, %esi
callq 0x2c190
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x11c60
jmp 0x2c7e3
movq -0x8(%rbp), %rax
cmpl $0x102, 0x74(%rax)      # imm = 0x102
jne 0x2c7d4
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rdx
movl $0x5, %esi
callq 0x28ac0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x11c60
jmp 0x2c7e1
movq -0x8(%rbp), %rdi
callq 0x2b860
movq %rax, -0x10(%rbp)
jmp 0x2c7e3
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: arrayelement
static js_Ast *arrayelement(js_State *J)
{
	int line = J->lexline;
	if (J->lookahead == ',')
		return EXP0(ELISION);
	return assignment(J, 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x2c, 0x74(%rax)
jne 0x2c83a
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %edx
movl $0x7, %esi
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %rcx
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x2c849
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x297f0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: forexpression
static js_Ast *forexpression(js_State *J, int end)
{
	js_Ast *a = NULL;
	if (J->lookahead != end)
		a = expression(J, 0);
	jsP_expect(J, end);
	return a;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %eax
cmpl -0xc(%rbp), %eax
je 0x2c892
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x28d70
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %eax
cmpl -0xc(%rbp), %eax
jne 0x2c8af
movq -0x8(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2c8f0
jmp 0x2c8b7
xorl %eax, %eax
testb $0x1, %al
jne 0x2c8f0
jmp 0x2c8b7
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x20(%rbp)
movl -0xc(%rbp), %edi
callq 0xddf0
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq %rax, %rcx
leaq 0x109cf(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x18(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: caseclause
static js_Ast *caseclause(js_State *J)
{
	js_Ast *a, *b;
	int line = J->lexline;

	if (jsP_accept(J, TK_CASE)) {
		a = expression(J, 0);
		jsP_expect(J, ':');
		b = statementlist(J);
		return STM2(CASE, a, b);
	}

	if (jsP_accept(J, TK_DEFAULT)) {
		jsP_expect(J, ':');
		a = statementlist(J);
		return STM1(DEFAULT, a);
	}

	jsP_error(J, "unexpected token in switch: %s (expected 'case' or 'default')", jsY_tokenstring(J->lookahead));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x11d, 0x74(%rax)      # imm = 0x11D
jne 0x2c937
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2c942
jmp 0x2c9eb
xorl %eax, %eax
testb $0x1, %al
jne 0x2c942
jmp 0x2c9eb
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x28d70
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x3a, 0x74(%rax)
jne 0x2c96c
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2c9af
jmp 0x2c974
xorl %eax, %eax
testb $0x1, %al
jne 0x2c9af
jmp 0x2c974
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x30(%rbp)
movl $0x3a, %edi
callq 0xddf0
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rdx
movq %rax, %rcx
leaq 0x10910(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x10(%rbp), %rdi
callq 0x29610
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %r8
movl $0x5a, %esi
xorl %eax, %eax
movl %eax, %r9d
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x2cad6
movq -0x10(%rbp), %rax
cmpl $0x121, 0x74(%rax)      # imm = 0x121
jne 0x2ca0c
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ca17
jmp 0x2caad
xorl %eax, %eax
testb $0x1, %al
jne 0x2ca17
jmp 0x2caad
movq -0x10(%rbp), %rax
cmpl $0x3a, 0x74(%rax)
jne 0x2ca32
movq -0x10(%rbp), %rdi
callq 0x11c60
movb $0x1, %al
testb $0x1, %al
jne 0x2ca75
jmp 0x2ca3a
xorl %eax, %eax
testb $0x1, %al
jne 0x2ca75
jmp 0x2ca3a
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq %rax, -0x40(%rbp)
movl $0x3a, %edi
callq 0xddf0
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rdx
movq %rax, %rcx
leaq 0x1084a(%rip), %rsi     # 0x3d2b8
movb $0x0, %al
callq 0x288c0
movq -0x10(%rbp), %rdi
callq 0x29610
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %edx
movq -0x18(%rbp), %rcx
movl $0x5b, %esi
xorl %eax, %eax
movl %eax, %r9d
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x12310
movq %rax, -0x8(%rbp)
jmp 0x2cad6
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movl 0x74(%rax), %edi
callq 0xddf0
movq -0x50(%rbp), %rdi
movq %rax, %rdx
leaq 0x109b2(%rip), %rsi     # 0x3d481
movb $0x0, %al
callq 0x288c0
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: jsP_setnumnode
static int jsP_setnumnode(js_Ast *node, double x)
{
	node->type = EXP_NUMBER;
	node->number = x;
	node->a = node->b = node->c = node->d = NULL;
	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl $0x4, (%rax)
movsd -0x10(%rbp), %xmm0
movq -0x8(%rbp), %rax
movsd %xmm0, 0x30(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x28(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movl $0x1, %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsparse.c
// Function: toint32
static int toint32(double d)
{
	double two32 = 4294967296.0;
	double two31 = 2147483648.0;

	if (!isfinite(d) || d == 0)
		return 0;

	d = fmod(d, two32);
	d = d >= 0 ? floor(d) : ceil(d) + two32;
	if (d >= two31)
		return d - two32;
	else
		return d;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movsd %xmm0, -0x10(%rbp)
movsd 0x698b(%rip), %xmm0     # 0x334e0
movsd %xmm0, -0x18(%rbp)
movsd 0x6976(%rip), %xmm0     # 0x334d8
movsd %xmm0, -0x20(%rbp)
movsd -0x10(%rbp), %xmm0
movq %xmm0, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
andq %rcx, %rax
movabsq $0x7ff0000000000000, %rcx # imm = 0x7FF0000000000000
subq %rcx, %rax
setl %al
testb $0x1, %al
jne 0x2cb94
jmp 0x2cba4
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x2cbad
jp 0x2cbad
movl $0x0, -0x4(%rbp)
jmp 0x2cc25
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
callq 0x3190
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x2cbe0
movsd -0x10(%rbp), %xmm0
callq 0x3340
movsd %xmm0, -0x28(%rbp)
jmp 0x2cbf4
movsd -0x10(%rbp), %xmm0
callq 0x3090
addsd -0x18(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
ucomisd -0x20(%rbp), %xmm0
jb 0x2cc1d
movsd -0x10(%rbp), %xmm0
subsd -0x18(%rbp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x4(%rbp)
jmp 0x2cc25
cvttsd2si -0x10(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsproperty.c
// Function: skew
static js_Property *skew(js_Property *node)
{
	if (node->left->level == node->level) {
		js_Property *temp = node;
		node = node->left;
		temp->left = node->right;
		node->right = temp;
	}
	return node;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movl 0x10(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jne 0x2cc99
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
popq %rbp
retq
nop