// File: /workspace/github_cpp_makefile_star2_O2/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 0x21cc9d(%rip), %rax    # 0x2f7520
movl $0xfffff830, %ecx       # imm = 0xFFFFF830
addl (%rax), %ecx
cvtsi2sd %ecx, %xmm3
divsd 0x187a2(%rip), %xmm3    # 0xf3038
movsd %xmm3, -0x8(%rbp)
movsd 0x3bcdd(%rip), %xmm0    # 0x116580
mulsd %xmm3, %xmm0
addsd 0x3bcd9(%rip), %xmm0    # 0x116588
movsd 0x3bcd9(%rip), %xmm1    # 0x116590
mulsd %xmm3, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm0, %xmm1
movsd 0x3bccd(%rip), %xmm2    # 0x116598
mulsd %xmm3, %xmm2
mulsd %xmm3, %xmm2
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
movsd 0x3bcbd(%rip), %xmm0    # 0x1165a0
mulsd %xmm3, %xmm0
mulsd %xmm3, %xmm0
mulsd %xmm3, %xmm0
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
callq 0xda779
movsd 0x3bca4(%rip), %xmm1    # 0x1165a8
movsd -0x8(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd 0x3bc9b(%rip), %xmm1    # 0x1165b0
movsd %xmm0, 0x28a16b(%rip)   # 0x364a88
movsd 0x3bc93(%rip), %xmm0    # 0x1165b8
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x3bc87(%rip), %xmm1    # 0x1165c0
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x3bc77(%rip), %xmm0    # 0x1165c8
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xda779
movsd 0x3bc5e(%rip), %xmm1    # 0x1165d0
movsd -0x8(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd 0x3bc55(%rip), %xmm1    # 0x1165d8
movsd %xmm0, 0x28a105(%rip)   # 0x364a90
movsd 0x3bc4d(%rip), %xmm0    # 0x1165e0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x3bc41(%rip), %xmm1    # 0x1165e8
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x3bc31(%rip), %xmm0    # 0x1165f0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xda779
movsd 0x3bc18(%rip), %xmm1    # 0x1165f8
movsd -0x8(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd 0x3bc0f(%rip), %xmm1    # 0x116600
movsd %xmm0, 0x28a09f(%rip)   # 0x364a98
movsd 0x3bc07(%rip), %xmm0    # 0x116608
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x3bbfb(%rip), %xmm1    # 0x116610
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x3bbeb(%rip), %xmm0    # 0x116618
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xda779
movsd %xmm0, 0x28a052(%rip)   # 0x364aa0
leaq 0x21c57b(%rip), %rax    # 0x2f6fd0
xorpd %xmm1, %xmm1
ucomisd (%rax), %xmm1
jbe 0xdaa97
movsd 0x28a031(%rip), %xmm1   # 0x364a98
movsd 0x28a019(%rip), %xmm2   # 0x364a88
movsd %xmm2, 0x28a021(%rip)   # 0x364a98
movsd %xmm1, 0x28a009(%rip)   # 0x364a88
movsd 0x28a009(%rip), %xmm1   # 0x364a90
movsd %xmm1, 0x28a011(%rip)   # 0x364aa0
movsd %xmm0, 0x289ff9(%rip)   # 0x364a90
addq $0x10, %rsp
popq %rbp
retq