// File: /workspace/github_cpp_makefile_star2_O1/navrajsaini[P]PL_Compiler_design_project/parser.cpp
// Function: Parse::Factor()
void Parse::Factor()//factor
{where="F";check();
   if(LHS=="num"||LHS=="false"||LHS=="true")
   {
      Const();
      gen.emit2("CONSTANT", tpVl);
      
   }else if(LHS=="id")
   {
      VarAc();
      gen.emit1("VALUE");
   }else if(LHS=="(")
   {
      match();
      Exp();
      if(LHS==")")
      {
	 match();
      }else
	 errorReport();
   }else if(LHS=="~")
   {
      gen.emit1("NOT");
      match();
      Factor();
   }else
      errorReport();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x68, %rsp
movq %rdi, %rbx
addq $0x5098, %rdi           # imm = 0x5098
movq 0x50a0(%rbx), %rdx
leaq 0x3bd5(%rip), %rcx      # 0x13894
movl $0x1, %r8d
xorl %esi, %esi
callq 0x22b0
movq %rbx, %rdi
callq 0xc41a
leaq 0x5050(%rbx), %r14
leaq 0x35de(%rip), %rsi      # 0x132c0
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0xfdb6
leaq 0x366a(%rip), %rsi      # 0x13363
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0xfdb6
leaq 0x3659(%rip), %rsi      # 0x13369
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0xfdb6
leaq 0x34d8(%rip), %rsi      # 0x131ff
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0xfe11
leaq 0x3592(%rip), %rsi      # 0x132d0
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0xfe53
leaq 0x3621(%rip), %rsi      # 0x13376
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
jne 0xfe99
leaq -0x28(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x3b31(%rip), %rsi      # 0x138a5
leaq 0x3b2d(%rip), %rdx      # 0x138a8
leaq -0x38(%rbp), %r14
movq %r14, %rdi
callq 0x42dc
leaq 0x50c0(%rbx), %rdi
movq %r14, %rsi
callq 0xaa88
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0xfda4
callq 0x21b0
movq %rbx, %rdi
callq 0xc058
movq %rbx, %rdi
callq 0xfc9a
jmp 0xfe06
movq %rbx, %rdi
callq 0xda32
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x3ac9(%rip), %rsi      # 0x13896
leaq 0x3aca(%rip), %rdx      # 0x1389e
leaq -0x78(%rbp), %r14
movq %r14, %rdi
callq 0x42dc
movl 0x7228(%rbx), %edx
addq $0x50c0, %rbx           # imm = 0x50C0
movq %rbx, %rdi
movq %r14, %rsi
callq 0xab04
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xfe06
callq 0x21b0
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0xede2
leaq -0x48(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x3a77(%rip), %rsi      # 0x1389f
leaq 0x3a75(%rip), %rdx      # 0x138a4
leaq -0x58(%rbp), %r14
movq %r14, %rdi
callq 0x42dc
addq $0x50c0, %rbx           # imm = 0x50C0
movq %rbx, %rdi
movq %r14, %rsi
callq 0xaa88
movq -0x58(%rbp), %rdi
jmp 0xfdfc
leaq 0x5070(%rbx), %rdi
movq %r14, %rsi
callq 0x2100
movslq 0x2028(%rbx), %rsi
shlq $0x5, %rsi
addq %rbx, %rsi
movq %r14, %rdi
callq 0x2100
incl 0x2028(%rbx)
movq %rbx, %rdi
callq 0xf0ec
leaq 0x35f2(%rip), %rsi      # 0x1347f
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0xfeab
movq %rbx, %rdi
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xc1be
movq %rbx, %rdi
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xc058
movq %rax, %rbx
movq -0x38(%rbp), %rdi
jmp 0xfed6
movq %rax, %rbx
movq -0x58(%rbp), %rdi
jmp 0xfed6
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xfee0
callq 0x21b0
movq %rbx, %rdi
callq 0x2310