// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movslq 0x80ad(%rip), %rcx      # 0xf87c
leaq 0x801a(%rip), %rax      # 0xf7f0
movb (%rax,%rcx), %al
movb %al, 0x80a1(%rip)       # 0xf880
callq 0x79b0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0xffffff, 0x8(%rax)    # imm = 0xFFFFFF
jbe 0x7808
movl 0x8078(%rip), %esi      # 0xf874
leaq 0x5a15(%rip), %rdi      # 0xd218
callq 0x6ed0
movsbl 0x8071(%rip), %eax      # 0xf880
cmpl $0x20, %eax
je 0x7838
movsbl 0x8065(%rip), %eax      # 0xf880
cmpl $0x9, %eax
je 0x7838
movsbl 0x8059(%rip), %eax      # 0xf880
cmpl $0xc, %eax
je 0x7838
movsbl 0x804d(%rip), %eax      # 0xf880
cmpl $0x3e, %eax
jne 0x7845
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x799c
jmp 0x7847
movsbl 0x8032(%rip), %eax      # 0xf880
cmpl $0x20, %eax
je 0x7877
movsbl 0x8026(%rip), %eax      # 0xf880
cmpl $0x9, %eax
je 0x7877
movsbl 0x801a(%rip), %eax      # 0xf880
cmpl $0xc, %eax
je 0x7877
movsbl 0x800e(%rip), %eax      # 0xf880
cmpl $0x3e, %eax
jne 0x78a3
movl 0x7ff7(%rip), %esi      # 0xf874
leaq 0x58b4(%rip), %rdi      # 0xd138
callq 0x6ed0
callq 0x6f70
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x799c
movslq 0x7fca(%rip), %rax      # 0xf874
leaq 0x7f3f(%rip), %rcx      # 0xf7f0
movsbl (%rax,%rcx), %eax
movl %eax, -0x14(%rbp)
subl $0x21, %eax
je 0x78ea
jmp 0x78bf
movl -0x14(%rbp), %eax
addl $-0x25, %eax
subl $0x2, %eax
jb 0x78ea
jmp 0x78cc
movl -0x14(%rbp), %eax
subl $0x2b, %eax
je 0x78ea
jmp 0x78d6
movl -0x14(%rbp), %eax
subl $0x2d, %eax
je 0x78ea
jmp 0x78e0
movl -0x14(%rbp), %eax
subl $0x5e, %eax
jne 0x790e
jmp 0x78ea
movl 0x7f84(%rip), %esi      # 0xf874
leaq 0x5841(%rip), %rdi      # 0xd138
callq 0x6ed0
callq 0x6f70
movq $0x0, -0x10(%rbp)
jmp 0x7997
movslq 0x7f5f(%rip), %rcx      # 0xf874
leaq 0x7ed4(%rip), %rax      # 0xf7f0
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x793c
movslq 0x7f48(%rip), %rcx      # 0xf874
leaq 0x7ebd(%rip), %rax      # 0xf7f0
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
jne 0x7946
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x799c
movslq 0x7f27(%rip), %rax      # 0xf874
leaq 0x7e9c(%rip), %rcx      # 0xf7f0
movsbl (%rax,%rcx), %eax
movl %eax, -0x18(%rbp)
subl $0x2f, %eax
je 0x796c
jmp 0x7962
movl -0x18(%rbp), %eax
subl $0x3b, %eax
jne 0x796e
jmp 0x796c
jmp 0x798d
movl 0x7f00(%rip), %esi      # 0xf874
leaq 0x57bd(%rip), %rdi      # 0xd138
callq 0x6ed0
callq 0x6f70
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x799c
jmp 0x7847
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)