// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/transfer.c
// Function: transfer_source_tau_size
int transfer_source_tau_size(
                             struct precision * ppr,
                             struct background * pba,
                             struct perturbations * ppt,
                             struct transfer * ptr,
                             double tau_rec,
                             double tau0,
                             int index_md,
                             int index_tt,
                             int * tau_size) {

  /* values of conformal time */
  double tau_min,tau_mean,tau_max;

  /* minimum value of index_tt */
  int index_tau_min;

  /* value of l at which limber approximation is switched on */
  int l_limber;

  /* current redshift bin number */
  int bin=0;

  /* scalar mode */
  if (_scalars_) {

    /* scalar temperature */
    if ((ppt->has_cl_cmb_temperature == _TRUE_) &&
        ((index_tt == ptr->index_tt_t0) || (index_tt == ptr->index_tt_t1) || (index_tt == ptr->index_tt_t2)))
      *tau_size = ppt->tau_size;

    /* scalar polarization */
    if ((ppt->has_cl_cmb_polarization == _TRUE_) && (index_tt == ptr->index_tt_e))
      *tau_size = ppt->tau_size;

    /* cmb lensing potential */
    if ((ppt->has_cl_cmb_lensing_potential == _TRUE_) && (index_tt == ptr->index_tt_lcmb)) {

      /* find times before recombination, that will be thrown away */
      index_tau_min=0;
      while (ppt->tau_sampling[index_tau_min]<=tau_rec) index_tau_min++;

      /* infer number of time steps after removing early times */
      *tau_size = ppt->tau_size-index_tau_min;
    }

    /* density Cl's */
    if (_nonintegrated_ncl_) {

      /* bin number associated to particular redshift bin and selection function */
      if (_index_tt_in_range_(ptr->index_tt_density, ppt->selection_num, ppt->has_nc_density))
        bin = index_tt - ptr->index_tt_density;

      if (_index_tt_in_range_(ptr->index_tt_rsd,     ppt->selection_num, ppt->has_nc_rsd))
        bin = index_tt - ptr->index_tt_rsd;

      if (_index_tt_in_range_(ptr->index_tt_d0,      ppt->selection_num, ppt->has_nc_rsd))
        bin = index_tt - ptr->index_tt_d0;

      if (_index_tt_in_range_(ptr->index_tt_d1,      ppt->selection_num, ppt->has_nc_rsd))
        bin = index_tt - ptr->index_tt_d1;

      if (_index_tt_in_range_(ptr->index_tt_nc_g1,   ppt->selection_num, ppt->has_nc_gr))
        bin = index_tt - ptr->index_tt_nc_g1;

      if (_index_tt_in_range_(ptr->index_tt_nc_g2,   ppt->selection_num, ppt->has_nc_gr))
        bin = index_tt - ptr->index_tt_nc_g2;

      if (_index_tt_in_range_(ptr->index_tt_nc_g3,   ppt->selection_num, ppt->has_nc_gr))
        bin = index_tt - ptr->index_tt_nc_g3;

      /* time interval for this bin */
      class_call(transfer_selection_times(ppr,
                                          pba,
                                          ppt,
                                          ptr,
                                          bin,
                                          &tau_min,
                                          &tau_mean,
                                          &tau_max),
                 ptr->error_message,
                 ptr->error_message);

      /* case selection=dirac */
      if (tau_min == tau_max) {
        *tau_size = 1;
      }
      /* other cases (gaussian, top-hat...) */
      else {

        /* check that selection function well sampled */
        *tau_size = (int)ppr->selection_sampling;

        /* value of l at which the code switches to Limber approximation
           (necessary for next step) */
        l_limber=ppr->l_switch_limber_for_nc_local_over_z*ppt->selection_mean[bin];
        /* check that bessel well sampled, if not define finer sampling
           overwriting the previous one.
           One Bessel oscillations corresponds to [Delta tau]=2pi/k.
           This is minimal for largest relevant k_max,
           namely k_max=l_limber/(tau0-tau_mean).
           We need to cut the interval (tau_max-tau_min) in pieces of size
           [Delta tau]=2pi/k_max. This gives the number below.
        */
        *tau_size=MAX(*tau_size,(int)((tau_max-tau_min)/((tau0-tau_mean)/MIN(l_limber,ppt->l_lss_max)))*ppr->selection_sampling_bessel);
      }
    }

    /* galaxy lensing Cl's, differs from density Cl's since the source
       function will spread from the selection function region up to
       tau0 */
    if (_integrated_ncl_) {

      /* bin number associated to particular redshift bin and selection function */
      if (_index_tt_in_range_(ptr->index_tt_lensing, ppt->selection_num, ppt->has_cl_lensing_potential))
        bin = index_tt - ptr->index_tt_lensing;

      if (_index_tt_in_range_(ptr->index_tt_nc_lens, ppt->selection_num, ppt->has_nc_lens))
        bin = index_tt - ptr->index_tt_nc_lens;

      if (_index_tt_in_range_(ptr->index_tt_nc_g4,   ppt->selection_num, ppt->has_nc_gr))
        bin = index_tt - ptr->index_tt_nc_g4;

      if (_index_tt_in_range_(ptr->index_tt_nc_g5,   ppt->selection_num, ppt->has_nc_gr))
        bin = index_tt - ptr->index_tt_nc_g5;

      /* time interval for this bin */
      class_call(transfer_selection_times(ppr,
                                          pba,
                                          ppt,
                                          ptr,
                                          bin,
                                          &tau_min,
                                          &tau_mean,
                                          &tau_max),
                 ptr->error_message,
                 ptr->error_message);

      /* check that selection function well sampled */
      *tau_size = (int)ppr->selection_sampling;

      /* value of l at which the code switches to Limber approximation
         (necessary for next step) */
      if (_index_tt_in_range_(ptr->index_tt_nc_g5,   ppt->selection_num, ppt->has_nc_gr)) {
        /* Even if G5 is integrated along the line-of-sight, we do not apply the same Limber criteria as for the other integrated terms, because here we have the derivative of the Bessel.  */
        l_limber=ppr->l_switch_limber_for_nc_local_over_z*ppt->selection_mean[bin];
        *tau_size=MAX(*tau_size,(int)((tau0-tau_min)/((tau0-tau_mean)/2./MIN(l_limber,ppt->l_lss_max)))*ppr->selection_sampling_bessel);
      }
      else {
        l_limber=ppr->l_switch_limber_for_nc_los_over_z*ppt->selection_mean[bin];
        /* check that bessel well sampled, if not define finer sampling
           overwriting the previous one.
           One Bessel oscillations corresponds to [Delta tau]=2pi/k.
           This is minimal for largest relevant k_max,
           namely k_max=l_limber/((tau0-tau_mean)/2).
           We need to cut the interval (tau_0-tau_min) in pieces of size
           [Delta tau]=2pi/k_max. This gives the number below.
        */
        *tau_size=MAX(*tau_size,(int)((tau0-tau_min)/((tau0-tau_mean)/2./MIN(l_limber,ppt->l_lss_max)))*ppr->selection_sampling_bessel_los);
      }
    }
  }

  /* tensor mode */
  if (_tensors_) {

    /* for all tensor types */
    *tau_size = ppt->tau_size;
  }

  return _SUCCESS_;
}

// Assembly:
subq $0x1138, %rsp           # imm = 0x1138
movq 0x1140(%rsp), %rax
movq %rdi, 0x1128(%rsp)
movq %rsi, 0x1120(%rsp)
movq %rdx, 0x1118(%rsp)
movq %rcx, 0x1110(%rsp)
movsd %xmm0, 0x1108(%rsp)
movsd %xmm1, 0x1100(%rsp)
movl %r8d, 0x10fc(%rsp)
movl %r9d, 0x10f8(%rsp)
movl $0x0, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0x13c94a
movl 0x10fc(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0x13c94a
movq 0x1118(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x13b8da
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8a8(%rcx), %eax
je 0x13b8c2
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8ac(%rcx), %eax
je 0x13b8c2
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8b0(%rcx), %eax
jne 0x13b8da
movq 0x1118(%rsp), %rax
movl 0x9f8(%rax), %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
movq 0x1118(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x13b91a
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8b4(%rcx), %eax
jne 0x13b91a
movq 0x1118(%rsp), %rax
movl 0x9f8(%rax), %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
movq 0x1118(%rsp), %rax
movswl 0x2c(%rax), %eax
cmpl $0x1, %eax
jne 0x13b9aa
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8bc(%rcx), %eax
jne 0x13b9aa
movl $0x0, 0x10dc(%rsp)
movq 0x1118(%rsp), %rax
movq 0x9f0(%rax), %rax
movslq 0x10dc(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movsd 0x1108(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x13b98b
movl 0x10dc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10dc(%rsp)
jmp 0x13b94d
movq 0x1118(%rsp), %rax
movl 0x9f8(%rax), %ecx
subl 0x10dc(%rsp), %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
movq 0x1118(%rsp), %rax
movswl 0x3e(%rax), %eax
cmpl $0x1, %eax
jne 0x13b9fa
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8c0(%rcx), %eax
jl 0x13b9fa
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8c0(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13bbde
movq 0x1118(%rsp), %rax
movswl 0x40(%rax), %eax
cmpl $0x1, %eax
jne 0x13ba4a
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8c8(%rcx), %eax
jl 0x13ba4a
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8c8(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13bbde
movq 0x1118(%rsp), %rax
movswl 0x40(%rax), %eax
cmpl $0x1, %eax
jne 0x13ba9a
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8cc(%rcx), %eax
jl 0x13ba9a
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8cc(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13bbde
movq 0x1118(%rsp), %rax
movswl 0x40(%rax), %eax
cmpl $0x1, %eax
jne 0x13baea
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8d0(%rcx), %eax
jl 0x13baea
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8d0(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13bbde
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13bb3a
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8d8(%rcx), %eax
jl 0x13bb3a
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8d8(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13bbde
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13bb86
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8dc(%rcx), %eax
jl 0x13bb86
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8dc(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13bbde
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13c19d
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8e0(%rcx), %eax
jl 0x13c19d
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8e0(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13c19d
movq 0x1118(%rsp), %rax
movswl 0x3e(%rax), %eax
cmpl $0x1, %eax
jne 0x13bc46
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8c0(%rcx), %eax
jl 0x13bc46
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8c0(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13bc46
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8c0(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x40(%rax), %eax
cmpl $0x1, %eax
jne 0x13bcae
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8c8(%rcx), %eax
jl 0x13bcae
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8c8(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13bcae
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8c8(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x40(%rax), %eax
cmpl $0x1, %eax
jne 0x13bd16
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8cc(%rcx), %eax
jl 0x13bd16
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8cc(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13bd16
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8cc(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x40(%rax), %eax
cmpl $0x1, %eax
jne 0x13bd7e
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8d0(%rcx), %eax
jl 0x13bd7e
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8d0(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13bd7e
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8d0(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13bde6
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8d8(%rcx), %eax
jl 0x13bde6
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8d8(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13bde6
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8d8(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13be4e
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8dc(%rcx), %eax
jl 0x13be4e
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8dc(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13be4e
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8dc(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13beb6
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8e0(%rcx), %eax
jl 0x13beb6
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8e0(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13beb6
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8e0(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1128(%rsp), %rdi
movq 0x1120(%rsp), %rsi
movq 0x1118(%rsp), %rdx
movq 0x1110(%rsp), %rcx
movl 0x10d4(%rsp), %r8d
leaq 0x10f0(%rsp), %r9
leaq 0x10e8(%rsp), %r10
leaq 0x10e0(%rsp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x13c9b0
cmpl $0x1, %eax
jne 0x13bf76
leaq 0x8d0(%rsp), %rdi
movq 0x1110(%rsp), %rcx
addq $0x96a, %rcx            # imm = 0x96A
leaq 0x964b1(%rip), %rsi     # 0x1d23d8
leaq 0xc76a2(%rip), %rdx     # 0x2035d0
movb $0x0, %al
callq 0x5b9c0
movq 0x1110(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x8d0(%rsp), %r8
leaq 0x960e1(%rip), %rsi     # 0x1d2034
leaq 0xc76c7(%rip), %rdx     # 0x203621
movl $0x6d9, %ecx            # imm = 0x6D9
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1134(%rsp)
jmp 0x13c995
movsd 0x10f0(%rsp), %xmm0
ucomisd 0x10e0(%rsp), %xmm0
jne 0x13bf9f
jp 0x13bf9f
movq 0x1140(%rsp), %rax
movl $0x1, (%rax)
jmp 0x13c19b
movq 0x1128(%rsp), %rax
cvttsd2si 0x810(%rax), %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
movq 0x1128(%rsp), %rax
movsd 0x7f8(%rax), %xmm0
movq 0x1118(%rsp), %rax
movslq 0x10d4(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x10d8(%rsp)
movq 0x1140(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, 0xb8(%rsp)
movsd 0x10e0(%rsp), %xmm0
subsd 0x10f0(%rsp), %xmm0
movsd %xmm0, 0xc0(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10e8(%rsp), %xmm0
movsd %xmm0, 0xc8(%rsp)
movl 0x10d8(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x13c059
movl 0x10d8(%rsp), %eax
movl %eax, 0xb4(%rsp)
jmp 0x13c06b
movq 0x1118(%rsp), %rax
movl 0x54(%rax), %eax
movl %eax, 0xb4(%rsp)
movsd 0xb8(%rsp), %xmm1
movsd 0xc0(%rsp), %xmm0
movsd 0xc8(%rsp), %xmm2
movl 0xb4(%rsp), %eax
cvtsi2sd %eax, %xmm3
divsd %xmm3, %xmm2
divsd %xmm2, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm0
movq 0x1128(%rsp), %rax
mulsd 0x818(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x13c16f
movsd 0x10e0(%rsp), %xmm0
subsd 0x10f0(%rsp), %xmm0
movsd %xmm0, 0xa0(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10e8(%rsp), %xmm0
movsd %xmm0, 0xa8(%rsp)
movl 0x10d8(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x13c115
movl 0x10d8(%rsp), %eax
movl %eax, 0x9c(%rsp)
jmp 0x13c127
movq 0x1118(%rsp), %rax
movl 0x54(%rax), %eax
movl %eax, 0x9c(%rsp)
movsd 0xa0(%rsp), %xmm0
movsd 0xa8(%rsp), %xmm1
movl 0x9c(%rsp), %eax
cvtsi2sd %eax, %xmm2
divsd %xmm2, %xmm1
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm0
movq 0x1128(%rsp), %rax
mulsd 0x818(%rax), %xmm0
movsd %xmm0, 0x90(%rsp)
jmp 0x13c184
movq 0x1140(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, 0x90(%rsp)
movsd 0x90(%rsp), %xmm0
cvttsd2si %xmm0, %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
jmp 0x13c19d
movq 0x1118(%rsp), %rax
movswl 0x2e(%rax), %eax
cmpl $0x1, %eax
jne 0x13c1ed
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8c4(%rcx), %eax
jl 0x13c1ed
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8c4(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13c2e1
movq 0x1118(%rsp), %rax
movswl 0x42(%rax), %eax
cmpl $0x1, %eax
jne 0x13c23d
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8d4(%rcx), %eax
jl 0x13c23d
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8d4(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13c2e1
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13c289
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8e4(%rcx), %eax
jl 0x13c289
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8e4(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jl 0x13c2e1
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13c948
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8e8(%rcx), %eax
jl 0x13c948
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8e8(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13c948
movq 0x1118(%rsp), %rax
movswl 0x2e(%rax), %eax
cmpl $0x1, %eax
jne 0x13c349
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8c4(%rcx), %eax
jl 0x13c349
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8c4(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13c349
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8c4(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x42(%rax), %eax
cmpl $0x1, %eax
jne 0x13c3b1
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8d4(%rcx), %eax
jl 0x13c3b1
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8d4(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13c3b1
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8d4(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13c419
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8e4(%rcx), %eax
jl 0x13c419
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8e4(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13c419
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8e4(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13c481
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8e8(%rcx), %eax
jl 0x13c481
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8e8(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13c481
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
subl 0x8e8(%rcx), %eax
movl %eax, 0x10d4(%rsp)
movq 0x1128(%rsp), %rdi
movq 0x1120(%rsp), %rsi
movq 0x1118(%rsp), %rdx
movq 0x1110(%rsp), %rcx
movl 0x10d4(%rsp), %r8d
leaq 0x10f0(%rsp), %r9
leaq 0x10e8(%rsp), %r10
leaq 0x10e0(%rsp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x13c9b0
cmpl $0x1, %eax
jne 0x13c541
leaq 0xd0(%rsp), %rdi
movq 0x1110(%rsp), %rcx
addq $0x96a, %rcx            # imm = 0x96A
leaq 0x95ee6(%rip), %rsi     # 0x1d23d8
leaq 0xc70d7(%rip), %rdx     # 0x2035d0
movb $0x0, %al
callq 0x5b9c0
movq 0x1110(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0xd0(%rsp), %r8
leaq 0x95b16(%rip), %rsi     # 0x1d2034
leaq 0xc70fc(%rip), %rdx     # 0x203621
movl $0x710, %ecx            # imm = 0x710
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1134(%rsp)
jmp 0x13c995
movq 0x1128(%rsp), %rax
cvttsd2si 0x810(%rax), %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
movq 0x1118(%rsp), %rax
movswl 0x44(%rax), %eax
cmpl $0x1, %eax
jne 0x13c785
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
cmpl 0x8e8(%rcx), %eax
jl 0x13c785
movl 0x10f8(%rsp), %eax
movq 0x1110(%rsp), %rcx
movl 0x8e8(%rcx), %ecx
movq 0x1118(%rsp), %rdx
addl 0x64(%rdx), %ecx
cmpl %ecx, %eax
jge 0x13c785
movq 0x1128(%rsp), %rax
movsd 0x7f8(%rax), %xmm0
movq 0x1118(%rsp), %rax
movslq 0x10d4(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x10d8(%rsp)
movq 0x1140(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10f0(%rsp), %xmm0
movsd %xmm0, 0x80(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10e8(%rsp), %xmm0
movsd 0x96655(%rip), %xmm1    # 0x1d2c80
divsd %xmm1, %xmm0
movsd %xmm0, 0x88(%rsp)
movl 0x10d8(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x13c659
movl 0x10d8(%rsp), %eax
movl %eax, 0x74(%rsp)
jmp 0x13c668
movq 0x1118(%rsp), %rax
movl 0x54(%rax), %eax
movl %eax, 0x74(%rsp)
movsd 0x78(%rsp), %xmm1
movsd 0x80(%rsp), %xmm0
movsd 0x88(%rsp), %xmm2
movl 0x74(%rsp), %eax
cvtsi2sd %eax, %xmm3
divsd %xmm3, %xmm2
divsd %xmm2, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm0
movq 0x1128(%rsp), %rax
mulsd 0x818(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x13c75a
movsd 0x1100(%rsp), %xmm0
subsd 0x10f0(%rsp), %xmm0
movsd %xmm0, 0x60(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10e8(%rsp), %xmm0
movsd 0x9659c(%rip), %xmm1    # 0x1d2c80
divsd %xmm1, %xmm0
movsd %xmm0, 0x68(%rsp)
movl 0x10d8(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x13c70f
movl 0x10d8(%rsp), %eax
movl %eax, 0x5c(%rsp)
jmp 0x13c71e
movq 0x1118(%rsp), %rax
movl 0x54(%rax), %eax
movl %eax, 0x5c(%rsp)
movsd 0x60(%rsp), %xmm0
movsd 0x68(%rsp), %xmm1
movl 0x5c(%rsp), %eax
cvtsi2sd %eax, %xmm2
divsd %xmm2, %xmm1
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm0
movq 0x1128(%rsp), %rax
mulsd 0x818(%rax), %xmm0
movsd %xmm0, 0x50(%rsp)
jmp 0x13c76c
movq 0x1140(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, 0x50(%rsp)
movsd 0x50(%rsp), %xmm0
cvttsd2si %xmm0, %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
jmp 0x13c946
movq 0x1128(%rsp), %rax
movsd 0x800(%rax), %xmm0
movq 0x1118(%rsp), %rax
movslq 0x10d4(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x10d8(%rsp)
movq 0x1140(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, 0x38(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10f0(%rsp), %xmm0
movsd %xmm0, 0x40(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10e8(%rsp), %xmm0
movsd 0x96486(%rip), %xmm1    # 0x1d2c80
divsd %xmm1, %xmm0
movsd %xmm0, 0x48(%rsp)
movl 0x10d8(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x13c825
movl 0x10d8(%rsp), %eax
movl %eax, 0x34(%rsp)
jmp 0x13c834
movq 0x1118(%rsp), %rax
movl 0x54(%rax), %eax
movl %eax, 0x34(%rsp)
movsd 0x38(%rsp), %xmm1
movsd 0x40(%rsp), %xmm0
movsd 0x48(%rsp), %xmm2
movl 0x34(%rsp), %eax
cvtsi2sd %eax, %xmm3
divsd %xmm3, %xmm2
divsd %xmm2, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm0
movq 0x1128(%rsp), %rax
mulsd 0x820(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x13c920
movsd 0x1100(%rsp), %xmm0
subsd 0x10f0(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0x1100(%rsp), %xmm0
subsd 0x10e8(%rsp), %xmm0
movsd 0x963d6(%rip), %xmm1    # 0x1d2c80
divsd %xmm1, %xmm0
movsd %xmm0, 0x28(%rsp)
movl 0x10d8(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x13c8d5
movl 0x10d8(%rsp), %eax
movl %eax, 0x1c(%rsp)
jmp 0x13c8e4
movq 0x1118(%rsp), %rax
movl 0x54(%rax), %eax
movl %eax, 0x1c(%rsp)
movsd 0x20(%rsp), %xmm0
movsd 0x28(%rsp), %xmm1
movl 0x1c(%rsp), %eax
cvtsi2sd %eax, %xmm2
divsd %xmm2, %xmm1
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm0
movq 0x1128(%rsp), %rax
mulsd 0x820(%rax), %xmm0
movsd %xmm0, 0x10(%rsp)
jmp 0x13c932
movq 0x1140(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x10(%rsp), %xmm0
cvttsd2si %xmm0, %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
jmp 0x13c948
jmp 0x13c94a
movq 0x1118(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x13c98a
movl 0x10fc(%rsp), %eax
movq 0x1118(%rsp), %rcx
cmpl 0x84c(%rcx), %eax
jne 0x13c98a
movq 0x1118(%rsp), %rax
movl 0x9f8(%rax), %ecx
movq 0x1140(%rsp), %rax
movl %ecx, (%rax)
movl $0x0, 0x1134(%rsp)
movl 0x1134(%rsp), %eax
addq $0x1138, %rsp           # imm = 0x1138
retq
nopw %cs:(%rax,%rax)