// File: jkingan[P]ladyheather/heathmsc.cpp
// Function: get_adev_point(unsigned char, long)
double get_adev_point(u08 id, long i)
{
double val;
#define INTERVAL ((OFS_SIZE) 0.0)  //1.0

   if(adev_q_allocated == 0) return 0.0;

   id /= NUM_ADEV_TYPES;

   val = 0;
   if(id == PPS_ID) {   // return PPS value
      i = pps_adev_q_out + i;
//      if(i >= adev_q_size) i -= adev_q_size;
      while(i >= adev_q_size) i -= adev_q_size;
      if(i < 0) return 0.0;
      if(pps_adev_q == 0) return 0.0;
      val = pps_adev_q[i];
      if(luxor) val = INTERVAL + (val+pps_base_value);
      else      val = INTERVAL + (1.0e-9 * (val+pps_base_value));
   }
   else if(id == CHC_ID) {   // return CHC value
      i = chc_adev_q_out + i;
//      if(i >= adev_q_size) i -= adev_q_size;
      while(i >= adev_q_size) i -= adev_q_size;
      if(i < 0) return 0.0;
      if(chc_adev_q == 0) return 0.0;
      val = chc_adev_q[i];
      if(luxor) val = INTERVAL + (val+chc_base_value);
      else      val = INTERVAL + (1.0e-9 * (val+chc_base_value));
   }
   else if(id == CHD_ID) {   // return CHD value
      i = chd_adev_q_out + i;
//      if(i >= adev_q_size) i -= adev_q_size;
      while(i >= adev_q_size) i -= adev_q_size;
      if(i < 0) return 0.0;
      if(chd_adev_q == 0) return 0.0;
      val = chd_adev_q[i];
      if(luxor) val = INTERVAL + (val+chd_base_value);
      else      val = INTERVAL + (1.0e-9 * (val+chd_base_value));
   }
   else {      // return OSC value
      i = osc_adev_q_out + i;
//      if(i >= adev_q_size) i -= adev_q_size;
      while(i >= adev_q_size) i -= adev_q_size;
      if(i < 0) return 0.0;
      if(osc_adev_q == 0) return 0.0;
      val = osc_adev_q[i];
      if(luxor) val = INTERVAL + (val+osc_base_value);
      else if(TICC_USED) val = INTERVAL + (1.0e-9 * (val+osc_base_value));
      else if(0) val = INTERVAL + (1.0e-9 * (val+osc_base_value));  // aaattttt
      else val = INTERVAL + ((100.0 * 1.0e-9) * (val+osc_base_value));
   }

   return val;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %dil, %al
movb %al, -0x9(%rbp)
movq %rsi, -0x18(%rbp)
leaq 0x1399c7(%rip), %rax    # 0x29bec0
cmpl $0x0, (%rax)
jne 0x16250b
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
movzbl -0x9(%rbp), %eax
movl $0x5, %ecx
cltd
idivl %ecx
movb %al, -0x9(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
movzbl -0x9(%rbp), %eax
cmpl $0x1, %eax
jne 0x162605
leaq 0x1397da(%rip), %rax    # 0x29bd10
movq (%rax), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
leaq 0x13996c(%rip), %rcx    # 0x29beb8
cmpq (%rcx), %rax
jl 0x162568
leaq 0x139960(%rip), %rax    # 0x29beb8
movq (%rax), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x162541
cmpq $0x0, -0x18(%rbp)
jge 0x16257c
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x13977d(%rip), %rax    # 0x29bd00
cmpq $0x0, (%rax)
jne 0x162596
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x139763(%rip), %rax    # 0x29bd00
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x20(%rbp)
leaq 0x13bb69(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x1625d8
movsd -0x20(%rbp), %xmm1
leaq 0x1200ca(%rip), %rax    # 0x282690
addsd (%rax), %xmm1
xorps %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x162600
movsd -0x20(%rbp), %xmm0
leaq 0x1200ac(%rip), %rax    # 0x282690
addsd (%rax), %xmm0
movsd 0xcb78(%rip), %xmm1     # 0x16f168
mulsd %xmm1, %xmm0
xorps %xmm1, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1628e8
movzbl -0x9(%rbp), %eax
cmpl $0x2, %eax
jne 0x1626e8
leaq 0x139797(%rip), %rax    # 0x29bdb0
movq (%rax), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
leaq 0x139889(%rip), %rcx    # 0x29beb8
cmpq (%rcx), %rax
jl 0x16264b
leaq 0x13987d(%rip), %rax    # 0x29beb8
movq (%rax), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x162624
cmpq $0x0, -0x18(%rbp)
jge 0x16265f
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x13973a(%rip), %rax    # 0x29bda0
cmpq $0x0, (%rax)
jne 0x162679
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x139720(%rip), %rax    # 0x29bda0
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x20(%rbp)
leaq 0x13ba86(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x1626bb
movsd -0x20(%rbp), %xmm1
leaq 0x11fff7(%rip), %rax    # 0x2826a0
addsd (%rax), %xmm1
xorps %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1626e3
movsd -0x20(%rbp), %xmm0
leaq 0x11ffd9(%rip), %rax    # 0x2826a0
addsd (%rax), %xmm0
movsd 0xca95(%rip), %xmm1     # 0x16f168
mulsd %xmm1, %xmm0
xorps %xmm1, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1628e6
movzbl -0x9(%rbp), %eax
cmpl $0x3, %eax
jne 0x1627cb
leaq 0x139704(%rip), %rax    # 0x29be00
movq (%rax), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
leaq 0x1397a6(%rip), %rcx    # 0x29beb8
cmpq (%rcx), %rax
jl 0x16272e
leaq 0x13979a(%rip), %rax    # 0x29beb8
movq (%rax), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x162707
cmpq $0x0, -0x18(%rbp)
jge 0x162742
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x1396a7(%rip), %rax    # 0x29bdf0
cmpq $0x0, (%rax)
jne 0x16275c
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x13968d(%rip), %rax    # 0x29bdf0
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x20(%rbp)
leaq 0x13b9a3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x16279e
movsd -0x20(%rbp), %xmm1
leaq 0x11ff1c(%rip), %rax    # 0x2826a8
addsd (%rax), %xmm1
xorps %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1627c6
movsd -0x20(%rbp), %xmm0
leaq 0x11fefe(%rip), %rax    # 0x2826a8
addsd (%rax), %xmm0
movsd 0xc9b2(%rip), %xmm1     # 0x16f168
mulsd %xmm1, %xmm0
xorps %xmm1, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1628e4
leaq 0x13958e(%rip), %rax    # 0x29bd60
movq (%rax), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
leaq 0x1396d0(%rip), %rcx    # 0x29beb8
cmpq (%rcx), %rax
jl 0x162804
leaq 0x1396c4(%rip), %rax    # 0x29beb8
movq (%rax), %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x1627dd
cmpq $0x0, -0x18(%rbp)
jge 0x162818
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x139531(%rip), %rax    # 0x29bd50
cmpq $0x0, (%rax)
jne 0x162832
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x1628f2
leaq 0x139517(%rip), %rax    # 0x29bd50
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x20(%rbp)
leaq 0x13b8cd(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x162874
movsd -0x20(%rbp), %xmm1
leaq 0x11fe36(%rip), %rax    # 0x282698
addsd (%rax), %xmm1
xorps %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1628e2
leaq 0x115235(%rip), %rax    # 0x277ab0
cmpq $0x10000, (%rax)        # imm = 0x10000
je 0x16288e
callq 0x992e0
cmpl $0x0, %eax
je 0x1628b8
movsd -0x20(%rbp), %xmm0
leaq 0x11fdfe(%rip), %rax    # 0x282698
addsd (%rax), %xmm0
movsd 0xc8c2(%rip), %xmm1     # 0x16f168
mulsd %xmm1, %xmm0
xorps %xmm1, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1628e0
movsd -0x20(%rbp), %xmm0
leaq 0x11fdd4(%rip), %rax    # 0x282698
addsd (%rax), %xmm0
movsd 0x2ba70(%rip), %xmm1    # 0x18e340
mulsd %xmm1, %xmm0
xorps %xmm1, %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x1628e2
jmp 0x1628e4
jmp 0x1628e6
jmp 0x1628e8
movsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)