// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]gh_cpp/Src/gh_cpp3.c
// Function: push_expr
static void
push_expr(int prec)	/* precedence level prec -- push expr onto evaluation stack */
{	Tokvals t;
	int v;

	if (prec < 0) {	push_term(); return; }

	push_expr(prec-1);
again:
	if (lat == CHAR)
		switch (prec) {
		case 0:
			switch (mychar) {
			case '*': lat = TIMES; goto yes;
			case '/': lat = DIVIDE; goto yes;
			case '%': lat = MOD; goto yes;
			}
			break;
		case 1:
			switch (mychar) {
			case '+': lat = PLUS; goto yes;
			case '-': lat = MINUS; goto yes;
			}
			break;
		case 2:
			switch (mychar) {
			case '>': IfNext('=', GE); IfNext('>', RS); lat = GT; goto yes;
			case '<': IfNext('=', LE); IfNext('<', LS); lat = LT; goto yes;
			}
			break;
		case 3:
			switch (mychar) {
			case '=': IfNext('=', EQ); break;
			case '!': IfNext('=', NE); break;
			}
			break;
		case 4:
			switch (mychar) {
			case '|': IfNext('|',  LOR); lat = BOR; goto yes;
			case '&': IfNext('&', LAND); lat = BAND; goto yes;
			case '^': lat = XOR; goto yes;
			case '?': lat = QUEST; goto yes;
			case ':': lat = COLON; goto yes;
			}
			break;
		default:
			syntax_error("push_expr1");
		}
	else if (lat != DONE)
		syntax_error("push_expr2");
	return;
yes:
	assert(lat != VAL);
	t = lat;
	v = (int) mychar;

	lat = nxt_token(); /* can change lat and mychar */
	push_expr(prec-1);
	emit(t, v);
	goto again;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
jge 0xb30b
callq 0xbd60
jmp 0xb7f2
movl -0x4(%rbp), %edi
subl $0x1, %edi
callq 0xb2f0
cmpl $0x2, 0xd68b(%rip)      # 0x189a8
jne 0xb773
movl -0x4(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x4, %rax
ja 0xb765
movq -0x18(%rbp), %rax
leaq 0x6201(%rip), %rcx      # 0x11540
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xb095(%rip), %rax      # 0x163e4
movsbl (%rax), %eax
movl %eax, -0x1c(%rbp)
subl $0x25, %eax
je 0xb38e
jmp 0xb35c
movl -0x1c(%rbp), %eax
subl $0x2a, %eax
je 0xb370
jmp 0xb366
movl -0x1c(%rbp), %eax
subl $0x2f, %eax
je 0xb37f
jmp 0xb39d
movl $0x8, 0xd62e(%rip)      # 0x189a8
jmp 0xb78c
movl $0x9, 0xd61f(%rip)      # 0x189a8
jmp 0xb78c
movl $0xa, 0xd610(%rip)      # 0x189a8
jmp 0xb78c
jmp 0xb771
leaq 0xb03b(%rip), %rax      # 0x163e4
movsbl (%rax), %eax
movl %eax, -0x20(%rbp)
subl $0x2b, %eax
je 0xb3c0
jmp 0xb3b6
movl -0x20(%rbp), %eax
subl $0x2d, %eax
je 0xb3cf
jmp 0xb3de
movl $0xb, 0xd5de(%rip)      # 0x189a8
jmp 0xb78c
movl $0xc, 0xd5cf(%rip)      # 0x189a8
jmp 0xb78c
jmp 0xb771
leaq 0xaffa(%rip), %rax      # 0x163e4
movsbl (%rax), %eax
movl %eax, -0x24(%rbp)
subl $0x3c, %eax
je 0xb4b8
jmp 0xb3fb
movl -0x24(%rbp), %eax
subl $0x3e, %eax
jne 0xb567
jmp 0xb409
movq 0xd590(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb459
movq 0xd582(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb459
movq 0xd572(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x3d, 0x4(%rax)
jne 0xb459
movq 0xd561(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd556(%rip)      # 0x189a0
movl $0x18, 0xd554(%rip)     # 0x189a8
jmp 0xb78c
movq 0xd540(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb4a9
movq 0xd532(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb4a9
movq 0xd522(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x3e, 0x4(%rax)
jne 0xb4a9
movq 0xd511(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd506(%rip)      # 0x189a0
movl $0x1d, 0xd504(%rip)     # 0x189a8
jmp 0xb78c
movl $0x10, 0xd4f5(%rip)     # 0x189a8
jmp 0xb78c
movq 0xd4e1(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb508
movq 0xd4d3(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb508
movq 0xd4c3(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x3d, 0x4(%rax)
jne 0xb508
movq 0xd4b2(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd4a7(%rip)      # 0x189a0
movl $0x19, 0xd4a5(%rip)     # 0x189a8
jmp 0xb78c
movq 0xd491(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb558
movq 0xd483(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb558
movq 0xd473(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x3c, 0x4(%rax)
jne 0xb558
movq 0xd462(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd457(%rip)      # 0x189a0
movl $0x1c, 0xd455(%rip)     # 0x189a8
jmp 0xb78c
movl $0x11, 0xd446(%rip)     # 0x189a8
jmp 0xb78c
jmp 0xb771
leaq 0xae71(%rip), %rax      # 0x163e4
movsbl (%rax), %eax
movl %eax, -0x28(%rbp)
subl $0x21, %eax
je 0xb5e0
jmp 0xb580
movl -0x28(%rbp), %eax
subl $0x3d, %eax
jne 0xb632
jmp 0xb58e
movq 0xd40b(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb5de
movq 0xd3fd(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb5de
movq 0xd3ed(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x3d, 0x4(%rax)
jne 0xb5de
movq 0xd3dc(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd3d1(%rip)      # 0x189a0
movl $0x16, 0xd3cf(%rip)     # 0x189a8
jmp 0xb78c
jmp 0xb632
movq 0xd3b9(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb630
movq 0xd3ab(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb630
movq 0xd39b(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x3d, 0x4(%rax)
jne 0xb630
movq 0xd38a(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd37f(%rip)      # 0x189a0
movl $0x17, 0xd37d(%rip)     # 0x189a8
jmp 0xb78c
jmp 0xb632
jmp 0xb771
leaq 0xada6(%rip), %rax      # 0x163e4
movsbl (%rax), %eax
movl %eax, -0x2c(%rbp)
subl $0x26, %eax
je 0xb6e6
jmp 0xb64f
movl -0x2c(%rbp), %eax
subl $0x3a, %eax
je 0xb757
jmp 0xb65d
movl -0x2c(%rbp), %eax
subl $0x3f, %eax
je 0xb74b
jmp 0xb66b
movl -0x2c(%rbp), %eax
subl $0x5e, %eax
je 0xb73f
jmp 0xb679
movl -0x2c(%rbp), %eax
subl $0x7c, %eax
jne 0xb763
jmp 0xb687
movq 0xd312(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb6d7
movq 0xd304(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb6d7
movq 0xd2f4(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x7c, 0x4(%rax)
jne 0xb6d7
movq 0xd2e3(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd2d8(%rip)      # 0x189a0
movl $0x1a, 0xd2d6(%rip)     # 0x189a8
jmp 0xb78c
movl $0xd, 0xd2c7(%rip)      # 0x189a8
jmp 0xb78c
movq 0xd2b3(%rip), %rax      # 0x189a0
cmpq $0x0, 0x28(%rax)
je 0xb733
movq 0xd2a5(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x2, (%rax)
jne 0xb733
movq 0xd295(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
cmpl $0x26, 0x4(%rax)
jne 0xb733
movq 0xd284(%rip), %rax      # 0x189a0
movq 0x28(%rax), %rax
movq %rax, 0xd279(%rip)      # 0x189a0
movl $0x1b, 0xd277(%rip)     # 0x189a8
jmp 0xb78c
movl $0xe, 0xd26b(%rip)      # 0x189a8
jmp 0xb78c
movl $0xf, 0xd25f(%rip)      # 0x189a8
jmp 0xb78c
movl $0x1e, 0xd253(%rip)     # 0x189a8
jmp 0xb78c
movl $0x1f, 0xd247(%rip)     # 0x189a8
jmp 0xb78c
jmp 0xb771
leaq 0x5fe6(%rip), %rdi      # 0x11752
callq 0xb8c0
jmp 0xb78a
cmpl $0x0, 0xd22e(%rip)      # 0x189a8
je 0xb788
leaq 0x5fda(%rip), %rdi      # 0x1175d
callq 0xb8c0
jmp 0xb78a
jmp 0xb7f2
cmpl $0x4, 0xd215(%rip)      # 0x189a8
je 0xb797
jmp 0xb7b6
leaq 0x5fca(%rip), %rdi      # 0x11768
leaq 0x5f7e(%rip), %rsi      # 0x11723
movl $0x109, %edx            # imm = 0x109
leaq 0x5fc2(%rip), %rcx      # 0x11773
callq 0x40c0
movl 0xd1ec(%rip), %eax      # 0x189a8
movl %eax, -0x8(%rbp)
leaq 0xac1e(%rip), %rax      # 0x163e4
movsbl (%rax), %eax
movl %eax, -0xc(%rbp)
callq 0xb270
movl %eax, 0xd1d1(%rip)      # 0x189a8
movl -0x4(%rbp), %edi
subl $0x1, %edi
callq 0xb2f0
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
callq 0xc0f0
jmp 0xb316
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)