// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathmsc.cpp
// Function: calc_seasons()
void calc_seasons()
{
double m;
double t;

   // calculate/Julian date/time when each season starts
   m = ((double) (this_year - 2000)) / 1000.0;
   spring = calc_vs(2451623.80984 + 365242.37404*m + 0.05169*m*m - 0.00411*m*m*m - 0.00057*m*m*m*m);
   summer = calc_vs(2451716.56767 + 365241.62603*m + 0.00325*m*m + 0.00888*m*m*m - 0.00030*m*m*m*m);
   fall   = calc_vs(2451810.21715 + 365242.01767*m - 0.11575*m*m + 0.00337*m*m*m + 0.00078*m*m*m*m);
   winter = calc_vs(2451900.05952 + 365242.74049*m - 0.06223*m*m - 0.00823*m*m*m + 0.00032*m*m*m*m);

   if(lat < 0.0) {   // down under the world is bass ackwards
      t = fall;
      fall = spring;
      spring = t;

      t = winter;
      winter = summer;
      summer = t;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x21e6d9(%rip), %rax    # 0x30d520
movl $0xfffff830, %ecx       # imm = 0xFFFFF830
addl (%rax), %ecx
cvtsi2sd %ecx, %xmm3
divsd 0x1a1de(%rip), %xmm3    # 0x109038
movsd %xmm3, -0x8(%rbp)
movsd 0x3d719(%rip), %xmm0    # 0x12c580
mulsd %xmm3, %xmm0
addsd 0x3d715(%rip), %xmm0    # 0x12c588
movsd 0x3d715(%rip), %xmm1    # 0x12c590
mulsd %xmm3, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm0, %xmm1
movsd 0x3d709(%rip), %xmm2    # 0x12c598
mulsd %xmm3, %xmm2
mulsd %xmm3, %xmm2
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
movsd 0x3d6f9(%rip), %xmm0    # 0x12c5a0
mulsd %xmm3, %xmm0
mulsd %xmm3, %xmm0
mulsd %xmm3, %xmm0
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
callq 0xeed3d
movsd 0x3d6e0(%rip), %xmm1    # 0x12c5a8
movsd -0x8(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd 0x3d6d7(%rip), %xmm1    # 0x12c5b0
movsd %xmm0, 0x28bba7(%rip)   # 0x37aa88
movsd 0x3d6cf(%rip), %xmm0    # 0x12c5b8
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x3d6c3(%rip), %xmm1    # 0x12c5c0
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x3d6b3(%rip), %xmm0    # 0x12c5c8
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xeed3d
movsd 0x3d69a(%rip), %xmm1    # 0x12c5d0
movsd -0x8(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd 0x3d691(%rip), %xmm1    # 0x12c5d8
movsd %xmm0, 0x28bb41(%rip)   # 0x37aa90
movsd 0x3d689(%rip), %xmm0    # 0x12c5e0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x3d67d(%rip), %xmm1    # 0x12c5e8
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x3d66d(%rip), %xmm0    # 0x12c5f0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xeed3d
movsd 0x3d654(%rip), %xmm1    # 0x12c5f8
movsd -0x8(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd 0x3d64b(%rip), %xmm1    # 0x12c600
movsd %xmm0, 0x28badb(%rip)   # 0x37aa98
movsd 0x3d643(%rip), %xmm0    # 0x12c608
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x3d637(%rip), %xmm1    # 0x12c610
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x3d627(%rip), %xmm0    # 0x12c618
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xeed3d
movsd %xmm0, 0x28ba8e(%rip)   # 0x37aaa0
leaq 0x21dfb7(%rip), %rax    # 0x30cfd0
xorpd %xmm1, %xmm1
ucomisd (%rax), %xmm1
jbe 0xef05b
movsd 0x28ba6d(%rip), %xmm1   # 0x37aa98
movsd 0x28ba55(%rip), %xmm2   # 0x37aa88
movsd %xmm2, 0x28ba5d(%rip)   # 0x37aa98
movsd %xmm1, 0x28ba45(%rip)   # 0x37aa88
movsd 0x28ba45(%rip), %xmm1   # 0x37aa90
movsd %xmm1, 0x28ba4d(%rip)   # 0x37aaa0
movsd %xmm0, 0x28ba35(%rip)   # 0x37aa90
addq $0x10, %rsp
popq %rbp
retq