// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: extend_com_timeout(double)
void extend_com_timeout(double timeout)
{
   // this routine extends the com timeout for commands that may take
   // a long time to process.  If timeout is 0, uses a default value for the
   // receiver type, 
   // NEW_RCVR

   timeout_extended = 0;
   if(timeout) {  // recalulating overflowed adevs can take a while on slow machines
      timeout_extended = (int) (timeout+0.9999);     // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = timeout;
   }
   else if(rcvr_type == BRANDY_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 10 secs of time messages
      com[RCVR_PORT].com_timeout = 10000.0;
   }
   else if(rcvr_type == LPFRS_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == MOTO_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == PRS_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == RFTG_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 90000.0;  // reset can take 90 seconds
   }
   else if(rcvr_type == SA35_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == SCPI_RCVR) { 
      timeout_extended = 10;   // resume normal timeout after 25 secs of time messages
      com[RCVR_PORT].com_timeout = 25000.0;
   }
   else if(rcvr_type == SRO_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 20 secs of time messages
      com[RCVR_PORT].com_timeout = 20000.0;
   }
   else if(rcvr_type == TICC_RCVR) { 
      timeout_extended = 10;   // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == UCCM_RCVR) {  // not for UCCM? only UCCMP? uuuuuu
      timeout_extended = 10;   // resume normal timeout after 25 secs of time messages
      com[RCVR_PORT].com_timeout = 25000.0;
   }
   else if(rcvr_type == X72_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == ZODIAC_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
   else if(rcvr_type == ZYFER_RCVR) {
      timeout_extended = 5;    // resume normal timeout after 15 secs of time messages
      com[RCVR_PORT].com_timeout = 15000.0;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x2d331b(%rip), %rax    # 0x337008
movl $0x0, (%rax)
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x63cff
jnp 0x63d14
movsd 0xba4b1(%rip), %xmm1    # 0x11e1b8
addsd %xmm0, %xmm1
cvttsd2si %xmm1, %ecx
jmp 0x63e0e
leaq 0x1b4bb5(%rip), %rcx    # 0x2188d0
movq (%rcx), %rdx
movl $0x5, %ecx
cmpq $0xfffff, %rdx          # imm = 0xFFFFF
jle 0x63d69
cmpq $0x1ffffff, %rdx        # imm = 0x1FFFFFF
jle 0x63d89
cmpq $0xfffffff, %rdx        # imm = 0xFFFFFFF
jg 0x63dcb
cmpq $0x2000000, %rdx        # imm = 0x2000000
je 0x63de3
cmpq $0x8000000, %rdx        # imm = 0x8000000
jne 0x63e1f
movsd 0xa7bbc(%rip), %xmm0    # 0x10b920
jmp 0x63e0e
cmpq $0xff, %rdx
jg 0x63da6
cmpq $0x8, %rdx
je 0x63ded
cmpq $0x10, %rdx
je 0x63ded
cmpq $0x20, %rdx
je 0x63de3
jmp 0x63e1f
cmpq $0x100000, %rdx         # imm = 0x100000
je 0x63de3
cmpq $0x400000, %rdx         # imm = 0x400000
je 0x63df7
cmpq $0x1000000, %rdx        # imm = 0x1000000
je 0x63de3
jmp 0x63e1f
cmpq $0x100, %rdx            # imm = 0x100
je 0x63de3
cmpq $0x10000, %rdx          # imm = 0x10000
je 0x63e01
cmpq $0x40000, %rdx          # imm = 0x40000
jne 0x63e1f
movsd 0xa530f(%rip), %xmm0    # 0x1090d8
jmp 0x63e0e
movabsq $0x1000000000, %rsi     # imm = 0x1000000000
cmpq %rsi, %rdx
je 0x63de3
cmpq $0x10000000, %rdx       # imm = 0x10000000
jne 0x63e1f
movsd 0xba3b5(%rip), %xmm0    # 0x11e1a0
jmp 0x63e0e
movsd 0xba3b3(%rip), %xmm0    # 0x11e1a8
jmp 0x63e09
movsd 0xba3b1(%rip), %xmm0    # 0x11e1b0
jmp 0x63e0e
movsd 0xba397(%rip), %xmm0    # 0x11e1a0
movl $0xa, %ecx
movl %ecx, (%rax)
leaq 0x2aa4c9(%rip), %rax    # 0x30e2e0
movsd %xmm0, 0x179f8(%rax)
popq %rbp
retq