// File: jkingan[P]ladyheather/heathmsc.cpp
// Function: log_sun_posn()
void log_sun_posn()
{
   // record the position of the sun (as satellite PRN 1000)

   sunrise = sunset = 0;
   if(have_sun_el == 0) ;
   else if((last_sun_el < 0.0) && (sun_el >= 0.0)) sunrise = 1;
   else if((last_sun_el >= 0.0) && (sun_el < 0.0)) sunset = 1;
   last_sun_el = sun_el;

   sat[SUN_PRN].level_msg = 1;
   sat[SUN_PRN].sig_level = (-1.0);
   sat[SUN_PRN].azimuth = (float) sun_az;
   if(sun_el >= 0.0) {
      sat[SUN_PRN].elevation = (float) sun_el;
      sat[SUN_PRN].sig_level = (40.0F);
      sat[SUN_PRN].tracking = 1;
   }
   else {
      sat[SUN_PRN].elevation = 0.0F - (float) sun_el;
      sat[SUN_PRN].sig_level = (-40.0F);
      sat[SUN_PRN].tracking = 0;
   }
sat[SUN_PRN].elevation = (float) sun_el;
   if(sat[SUN_PRN].elevation > 90.0) sat[SUN_PRN].elevation = 90.0;
   if(sat[SUN_PRN].elevation < -90.0) sat[SUN_PRN].elevation = -90.0;
   if(sat[SUN_PRN].azimuth > 360.0) sat[SUN_PRN].azimuth -= 360.0;


   sat[MOON_PRN].level_msg = 1;
   sat[MOON_PRN].sig_level = (-1.0);
   sat[MOON_PRN].azimuth = (float) moon_az;
   if(moon_el >= 0.0) {
      sat[MOON_PRN].elevation = (float) moon_el;
      sat[MOON_PRN].sig_level = (40.0F);
      sat[MOON_PRN].tracking = 1;
   }
   else {
      sat[MOON_PRN].elevation = 0.0F - (float) moon_el;
      sat[MOON_PRN].sig_level = (-40.0F);
      sat[MOON_PRN].tracking = 0;
   }

sat[MOON_PRN].elevation = (float) moon_el;
   if(sat[MOON_PRN].elevation > 90.0) sat[MOON_PRN].elevation = 90.0;
   if(sat[MOON_PRN].elevation < -90.0) sat[MOON_PRN].elevation = -90.0;
   if(sat[MOON_PRN].azimuth > 360.0) sat[MOON_PRN].azimuth -= 360.0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl $0x0, 0x287d82(%rip)    # 0x3d8fb0
movl $0x0, 0x287d7c(%rip)    # 0x3d8fb4
leaq 0x21b769(%rip), %rax    # 0x36c9a8
cmpl $0x0, (%rax)
jne 0x151246
jmp 0x1512a8
xorps %xmm0, %xmm0
leaq 0x21b750(%rip), %rax    # 0x36c9a0
ucomisd (%rax), %xmm0
jbe 0x151276
leaq 0x21b73b(%rip), %rax    # 0x36c998
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x151276
movl $0x1, 0x287d40(%rip)    # 0x3d8fb4
jmp 0x1512a6
leaq 0x21b723(%rip), %rax    # 0x36c9a0
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x1512a4
xorps %xmm0, %xmm0
leaq 0x21b704(%rip), %rax    # 0x36c998
ucomisd (%rax), %xmm0
jbe 0x1512a4
movl $0x1, 0x287d0c(%rip)    # 0x3d8fb0
jmp 0x1512a6
jmp 0x1512a8
leaq 0x21b6e9(%rip), %rax    # 0x36c998
movsd (%rax), %xmm0
leaq 0x21b6e6(%rip), %rax    # 0x36c9a0
movsd %xmm0, (%rax)
leaq 0x14cecb(%rip), %rax    # 0x29e190
movl $0x1, 0xcd15c(%rax)
leaq 0x14ceba(%rip), %rax    # 0x29e190
movss 0x2065a(%rip), %xmm0    # 0x171938
movss %xmm0, 0xcd160(%rax)
leaq 0x21b6c3(%rip), %rax    # 0x36c9b0
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14ce94(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd348(%rax)
leaq 0x21b68d(%rip), %rax    # 0x36c998
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x151360
leaq 0x21b679(%rip), %rax    # 0x36c998
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14ce62(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd34c(%rax)
leaq 0x14ce53(%rip), %rax    # 0x29e190
movss 0x3206f(%rip), %xmm0    # 0x1833b4
movss %xmm0, 0xcd160(%rax)
leaq 0x14ce3c(%rip), %rax    # 0x29e190
movl $0x1, 0xcd358(%rax)
jmp 0x1513ad
leaq 0x21b631(%rip), %rax    # 0x36c998
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm1
xorps %xmm0, %xmm0
subss %xmm1, %xmm0
leaq 0x14ce13(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd34c(%rax)
leaq 0x14ce04(%rip), %rax    # 0x29e190
movss 0x3de34(%rip), %xmm0    # 0x18f1c8
movss %xmm0, 0xcd160(%rax)
leaq 0x14cded(%rip), %rax    # 0x29e190
movl $0x0, 0xcd358(%rax)
leaq 0x21b5e4(%rip), %rax    # 0x36c998
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14cdcd(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd34c(%rax)
leaq 0x14cdbe(%rip), %rax    # 0x29e190
movss 0xcd34c(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x1dca2(%rip), %xmm1    # 0x16f088
ucomisd %xmm1, %xmm0
jbe 0x151403
leaq 0x14cd9d(%rip), %rax    # 0x29e190
movss 0x20555(%rip), %xmm0    # 0x171950
movss %xmm0, 0xcd34c(%rax)
leaq 0x14cd86(%rip), %rax    # 0x29e190
movss 0xcd34c(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x1dc62(%rip), %xmm0    # 0x16f080
ucomisd %xmm1, %xmm0
jbe 0x15143b
leaq 0x14cd65(%rip), %rax    # 0x29e190
movss 0x31ecd(%rip), %xmm0    # 0x183300
movss %xmm0, 0xcd34c(%rax)
leaq 0x14cd4e(%rip), %rax    # 0x29e190
movss 0xcd348(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x316da(%rip), %xmm1    # 0x182b30
ucomisd %xmm1, %xmm0
jbe 0x15148e
leaq 0x14cd2d(%rip), %rax    # 0x29e190
movss 0xcd348(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x316b9(%rip), %xmm1    # 0x182b30
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14cd0a(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd348(%rax)
leaq 0x14ccfb(%rip), %rax    # 0x29e190
movl $0x1, 0xcd4a4(%rax)
leaq 0x14ccea(%rip), %rax    # 0x29e190
movss 0x2048a(%rip), %xmm0    # 0x171938
movss %xmm0, 0xcd4a8(%rax)
leaq 0x21b50b(%rip), %rax    # 0x36c9c8
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14ccc4(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd690(%rax)
leaq 0x21b4f5(%rip), %rax    # 0x36c9d0
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x151530
leaq 0x21b4e1(%rip), %rax    # 0x36c9d0
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14cc92(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd694(%rax)
leaq 0x14cc83(%rip), %rax    # 0x29e190
movss 0x31e9f(%rip), %xmm0    # 0x1833b4
movss %xmm0, 0xcd4a8(%rax)
leaq 0x14cc6c(%rip), %rax    # 0x29e190
movl $0x1, 0xcd6a0(%rax)
jmp 0x15157d
leaq 0x21b499(%rip), %rax    # 0x36c9d0
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm1
xorps %xmm0, %xmm0
subss %xmm1, %xmm0
leaq 0x14cc43(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd694(%rax)
leaq 0x14cc34(%rip), %rax    # 0x29e190
movss 0x3dc64(%rip), %xmm0    # 0x18f1c8
movss %xmm0, 0xcd4a8(%rax)
leaq 0x14cc1d(%rip), %rax    # 0x29e190
movl $0x0, 0xcd6a0(%rax)
leaq 0x21b44c(%rip), %rax    # 0x36c9d0
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14cbfd(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd694(%rax)
leaq 0x14cbee(%rip), %rax    # 0x29e190
movss 0xcd694(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x1dad2(%rip), %xmm1    # 0x16f088
ucomisd %xmm1, %xmm0
jbe 0x1515d3
leaq 0x14cbcd(%rip), %rax    # 0x29e190
movss 0x20385(%rip), %xmm0    # 0x171950
movss %xmm0, 0xcd694(%rax)
leaq 0x14cbb6(%rip), %rax    # 0x29e190
movss 0xcd694(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x1da92(%rip), %xmm0    # 0x16f080
ucomisd %xmm1, %xmm0
jbe 0x15160b
leaq 0x14cb95(%rip), %rax    # 0x29e190
movss 0x31cfd(%rip), %xmm0    # 0x183300
movss %xmm0, 0xcd694(%rax)
leaq 0x14cb7e(%rip), %rax    # 0x29e190
movss 0xcd690(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3150a(%rip), %xmm1    # 0x182b30
ucomisd %xmm1, %xmm0
jbe 0x15165e
leaq 0x14cb5d(%rip), %rax    # 0x29e190
movss 0xcd690(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x314e9(%rip), %xmm1    # 0x182b30
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x14cb3a(%rip), %rax    # 0x29e190
movss %xmm0, 0xcd690(%rax)
popq %rbp
retq