// File: /workspace/github_c_makefile_star2_O3/AK6DN[P]dec-utilities-for-pdp/palbart/palbart.c
// Function: getFltgExpr
FLTG_T *getFltgExpr()
{
  FLTG_T *fltg;

  delimiter = line[lexterm];
  fltg = evalFltg();
  /* Test for any value greater than 23 bits in length.                     */
  if( (unsigned long int)fltg->mantissa> 077777777L )
  {
    errorMessage( &fltg_overflow, lexstart );
  }

  if( is_blank( delimiter ))
  {
    return( fltg );
  }

  /* Here we assume the current lexeme is the operator separating the         */
  /* previous operator from the next, if any.                                 */
  while( TRUE )
  {
    /* assert line[lexstart] == delimiter                                     */
    if( is_blank( delimiter ))
    {
      errorMessage( &illegal_expression, lexstart );
      moveToEndOfLine();
      fltg = 0;
      return( fltg );
    }

    switch( line[lexstart] )
    {
    case '+':                   /* add                                        */
    case '-':                   /* subtract                                   */
    case '^':                   /* multiply                                   */
    case '%':                   /* divide                                     */
    case '&':                   /* and                                        */
    case '!':                   /* or                                         */
      errorMessage( &illegal_expression, lexstart );
      moveToEndOfLine();
      fltg = NULL;
      break;

    default:
      if( isend( line[lexstart] ))
      {
        return( fltg );
      }

      switch( line[lexstart] )
      {
      case '/':
      case ';':
        break;

      default:
        errorMessage( &illegal_expression, lexstart );
        moveToEndOfLine();
        fltg = NULL;
        break;
      }
      return( fltg );
    }
  } /* end while                                                              */
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movslq 0x75b2(%rip), %rax      # 0xd81c
leaq 0x751f(%rip), %r14      # 0xd790
movb (%rax,%r14), %al
movb %al, 0x75a5(%rip)       # 0xd820
callq 0x63f3
cmpq $0x1000000, 0x75b5(%rip) # imm = 0x1000000
jb 0x629f
movl 0x7581(%rip), %esi      # 0xd814
leaq 0x4f8e(%rip), %rdi      # 0xb228
callq 0x5ac8
movzbl 0x757a(%rip), %ecx      # 0xd820
movabsq $0x4000000100001200, %r15 # imm = 0x4000000100001200
cmpq $0x3e, %rcx
ja 0x62cd
btq %rcx, %r15
jae 0x62cd
leaq 0x7575(%rip), %rax      # 0xd838
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x7564(%rip), %rax      # 0xd838
leaq 0x4e6d(%rip), %rbx      # 0xb148
movabsq $0x286200000000, %r12   # imm = 0x286200000000
movabsq $0x800800000000401, %r13 # imm = 0x800800000000401
cmpb $0x3e, %cl
ja 0x6301
movzbl %cl, %ecx
btq %rcx, %r15
jb 0x63a3
movslq 0x750c(%rip), %rsi      # 0xd814
movzbl (%rsi,%r14), %ecx
cmpq $0x3b, %rcx
ja 0x636d
btq %rcx, %r12
jae 0x6363
movq %rbx, %rdi
callq 0x5ac8
movslq 0x7504(%rip), %rax      # 0xd82c
movq %rax, %rcx
addq %r14, %rcx
movzbl (%rcx), %edx
testl %edx, %edx
je 0x6347
cmpl $0xa, %edx
je 0x6347
incl %eax
movl %eax, 0x74ea(%rip)      # 0xd82c
incq %rcx
jmp 0x632e
movl %eax, 0x74c7(%rip)      # 0xd814
movl %eax, 0x74c9(%rip)      # 0xd81c
movl %eax, 0x74cb(%rip)      # 0xd824
movb 0x74c1(%rip), %cl       # 0xd820
xorl %eax, %eax
jmp 0x62ef
btq %rcx, %r13
jb 0x62c3
cmpl $0x5e, %ecx
je 0x6319
leaq 0x4dcf(%rip), %rdi      # 0xb148
callq 0x5ac8
movslq 0x74a7(%rip), %rax      # 0xd82c
leal 0x1(%rax), %ecx
movzbl (%rax,%r14), %edx
testl %edx, %edx
je 0x63da
cmpl $0xa, %edx
je 0x63da
incq %rax
movl %ecx, 0x748d(%rip)      # 0xd82c
incl %ecx
jmp 0x6388
movl 0x746b(%rip), %esi      # 0xd814
leaq 0x4d98(%rip), %rdi      # 0xb148
callq 0x5ac8
movslq 0x7470(%rip), %rax      # 0xd82c
leal 0x1(%rax), %ecx
movzbl (%rax,%r14), %edx
testl %edx, %edx
je 0x63da
cmpl $0xa, %edx
je 0x63da
incq %rax
movl %ecx, 0x7456(%rip)      # 0xd82c
incl %ecx
jmp 0x63bf
movl %eax, 0x7434(%rip)      # 0xd814
movl %eax, 0x7436(%rip)      # 0xd81c
movl %eax, 0x7438(%rip)      # 0xd824
xorl %eax, %eax
jmp 0x62c3