// File: /workspace/github_c_makefile_star2_O1/PoulinV[P]AxiCLASS/build/../source/transfer.c
// Function: transfer_update_HIS
int transfer_update_HIS(
                        struct precision * ppr,
                        struct transfer * ptr,
                        struct transfer_workspace * ptw,
                        int index_q,
                        double tau0
                        ) {

  double nu,new_nu;
  int int_nu;
  double xmin, xmax, sampling, phiminabs, xtol;
  double sqrt_absK;
  int l_size_max;
  int index_l_left,index_l_right;

  if (ptw->HIS_allocated == _TRUE_) {
    class_call(hyperspherical_HIS_free(&(ptw->HIS),ptr->error_message),
               ptr->error_message,
               ptr->error_message);
    ptw->HIS_allocated = _FALSE_;
  }

  if ((ptw->sgnK!=0) && (index_q < ptr->index_q_flat_approximation)) {

    xmin = ppr->hyper_x_min;

    sqrt_absK = sqrt(ptw->sgnK*ptw->K);

    xmax = sqrt_absK*tau0;
    nu = ptr->q[index_q]/sqrt_absK;

    if (ptw->sgnK == 1) {
      xmax = MIN(xmax,_PI_/2.0-ppr->hyper_x_min); //We only need solution on [0;pi/2]

      int_nu = (int)(nu+0.2);
      new_nu = (double)int_nu;
      class_test(nu-new_nu > 1.e-6,
                 ptr->error_message,
                 "problem in q list definition in closed case for index_q=%d, nu=%e, nu-int(nu)=%e",index_q,nu,nu-new_nu);
      nu = new_nu;

    }

    if (nu > ppr->hyper_nu_sampling_step)
      sampling = ppr->hyper_sampling_curved_high_nu;
    else
      sampling = ppr->hyper_sampling_curved_low_nu;

    /* find the highest value of l such that x_nonzero < xmax = sqrt(|K|) tau0. That will be l_max. */
    l_size_max = ptr->l_size_max;
    if (ptw->sgnK == 1)
      while ((double)ptr->l[l_size_max-1] >= nu)
        l_size_max--;

    if (ptw->sgnK == -1){
      xtol = ppr->hyper_x_tol;
      phiminabs = ppr->hyper_phi_min_abs;

      /* First try to find lmax using fast approximation: */
      index_l_left=0;
      index_l_right=l_size_max-1;
      class_call(transfer_get_lmax(hyperspherical_get_xmin_from_approx,
                                   ptw->sgnK,
                                   nu,
                                   ptr->l,
                                   l_size_max,
                                   phiminabs,
                                   xmax,
                                   xtol,
                                   &index_l_left,
                                   &index_l_right,
                                   ptr->error_message),
                 ptr->error_message,
                 ptr->error_message);

      /* Now use WKB approximation to eventually modify borders: */
      class_call(transfer_get_lmax(hyperspherical_get_xmin_from_Airy,
                                   ptw->sgnK,
                                   nu,
                                   ptr->l,
                                   l_size_max,
                                   phiminabs,
                                   xmax,
                                   xtol,
                                   &index_l_left,
                                   &index_l_right,
                                   ptr->error_message),
                 ptr->error_message,
                 ptr->error_message);
      l_size_max = index_l_right+1;
    }

    class_test(nu <= 0.,
               ptr->error_message,
               "nu=%e when index_q=%d, q=%e, K=%e, sqrt(|K|)=%e; instead nu should always be strictly positive",
               nu,index_q,ptr->q[index_q],ptw->K,sqrt_absK);

    class_call(hyperspherical_HIS_create(ptw->sgnK,
                                         nu,
                                         l_size_max,
                                         ptr->l,
                                         xmin,
                                         xmax,
                                         sampling,
                                         ptr->l[l_size_max-1]+1,
                                         ppr->hyper_phi_min_abs,
                                         &(ptw->HIS),
                                         ptr->error_message),
               ptr->error_message,
               ptr->error_message);

    ptw->HIS_allocated = _TRUE_;

  }

  return _SUCCESS_;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1088, %rsp           # imm = 0x1088
movapd %xmm0, %xmm2
movl %ecx, %r12d
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, %r15
cmpl $0x1, 0x60(%rdx)
jne 0xb3d6e
movsd %xmm2, 0x20(%rsp)
leaq 0x96a(%rbx), %r13
movq %r14, %rdi
movq %r13, %rsi
callq 0x2343c
cmpl $0x1, %eax
jne 0xb3d60
leaq 0x3d6ca(%rip), %rsi     # 0xf13f0
leaq 0x6fbe8(%rip), %rdx     # 0x123915
leaq 0x880(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3d2eb(%rip), %rsi     # 0xf1034
leaq 0x6fc15(%rip), %rdx     # 0x123965
movq %r13, %rdi
movl $0x11e0, %ecx           # imm = 0x11E0
movq %rbx, %r8
jmp 0xb40d1
movl $0x0, 0x60(%r14)
movsd 0x20(%rsp), %xmm2
movl 0xc0(%r14), %eax
xorl %ebp, %ebp
testl %eax, %eax
je 0xb40dd
cmpl %r12d, 0x938(%rbx)
jle 0xb40dd
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd 0xb8(%r14), %xmm0
movsd 0x718(%r15), %xmm3
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
movsd %xmm3, 0x78(%rsp)
jb 0xb3dbb
sqrtsd %xmm0, %xmm5
jmp 0xb3dd0
movsd %xmm2, 0x20(%rsp)
callq 0x82b0
movsd 0x20(%rsp), %xmm2
movapd %xmm0, %xmm5
mulsd %xmm5, %xmm2
movq 0x928(%rbx), %rax
movslq %r12d, %rdx
movsd (%rax,%rdx,8), %xmm0
divsd %xmm5, %xmm0
movl 0xc0(%r14), %r13d
cmpl $0x1, %r13d
jne 0xb3e98
movsd 0x3d498(%rip), %xmm1    # 0xf1298
addsd %xmm0, %xmm1
cvttpd2dq %xmm1, %xmm1
cvtdq2pd %xmm1, %xmm4
movapd %xmm0, %xmm1
subsd %xmm4, %xmm1
ucomisd 0x3ded4(%rip), %xmm1    # 0xf1cf0
jbe 0xb3e7f
leaq 0x6fb54(%rip), %rsi     # 0x123979
leaq 0x880(%rsp), %r14
movq %r14, %rdi
movl %r12d, %edx
movb $0x2, %al
callq 0x30c2c
leaq 0x3d241(%rip), %rsi     # 0xf1082
leaq 0x6fb82(%rip), %rdx     # 0x1239ca
leaq 0x80(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
addq $0x96a, %rbx            # imm = 0x96A
leaq 0x3d1c9(%rip), %rsi     # 0xf1034
leaq 0x6faf3(%rip), %rdx     # 0x123965
movq %rbx, %rdi
movl $0x11f4, %ecx           # imm = 0x11F4
jmp 0xb40ce
movsd 0x405f9(%rip), %xmm1    # 0xf4480
subsd 0x718(%r15), %xmm1
minsd %xmm1, %xmm2
movapd %xmm4, %xmm0
xorl %eax, %eax
ucomisd 0x738(%r15), %xmm0
seta %al
movl 0x908(%rbx), %r12d
cmpl $0x1, %r13d
jne 0xb3edd
movslq %r12d, %rcx
movq 0x910(%rbx), %rsi
leal 0x1(%rcx), %r12d
leaq (%rsi,%rcx,4), %rcx
addq $-0x4, %rcx
xorps %xmm1, %xmm1
cvtsi2sdl (%rcx), %xmm1
decl %r12d
addq $-0x4, %rcx
ucomisd %xmm0, %xmm1
jae 0xb3ec9
movsd 0x728(%r15,%rax,8), %xmm3
cmpl $-0x1, %r13d
je 0xb3f81
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jae 0xb405c
movl 0xc0(%r14), %edi
movq 0x910(%rbx), %rdx
movslq %r12d, %rsi
movl -0x4(%rdx,%rsi,4), %ecx
incl %ecx
movsd 0x740(%r15), %xmm4
addq $0x96a, %rbx            # imm = 0x96A
movsd 0x78(%rsp), %xmm1
movq %r14, %r8
movq %rbx, %r9
callq 0x22184
cmpl $0x1, %eax
jne 0xb4194
leaq 0x3d4a9(%rip), %rsi     # 0xf13f0
leaq 0x6fc3c(%rip), %rdx     # 0x123b8a
leaq 0x880(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3d0ca(%rip), %rsi     # 0xf1034
leaq 0x6f9f4(%rip), %rdx     # 0x123965
movq %rbx, %rdi
movl $0x123b, %ecx           # imm = 0x123B
movq %r14, %r8
jmp 0xb40d1
movsd %xmm3, 0x30(%rsp)
movq %rdx, 0x38(%rsp)
movsd %xmm5, 0x40(%rsp)
movsd %xmm2, 0x20(%rsp)
movsd 0x740(%r15), %xmm2
movq %r15, 0x28(%rsp)
movsd 0x748(%r15), %xmm1
leal -0x1(%r12), %ebp
movq 0x910(%rbx), %rax
leaq 0x96a(%rbx), %r15
leaq 0xc(%rsp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x68(%rsp)
movl (%rax), %esi
leaq 0x80(%rsp), %rdx
movl %r13d, %edi
movsd %xmm0, (%rsp)
movsd %xmm1, 0x50(%rsp)
movsd %xmm2, 0x58(%rsp)
callq 0x23262
cmpl $0x1, %eax
movq %r15, 0x48(%rsp)
movl %ebp, 0x64(%rsp)
jne 0xb40f1
leaq 0x3d3e2(%rip), %rsi     # 0xf13f0
leaq 0x6fc19(%rip), %rdx     # 0x123c2e
movq $0x0, 0x10(%rsp)
leaq 0x880(%rsp), %r13
movq %r13, %rdi
movq %r15, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3cffa(%rip), %rsi     # 0xf1034
leaq 0x6fc37(%rip), %rdx     # 0x123c78
movq %r15, %rdi
movl $0x1261, %ecx           # imm = 0x1261
movq %r13, %r8
xorl %eax, %eax
callq 0x30c2c
movl %ebp, %ecx
xorl %esi, %esi
jmp 0xb41bc
movq 0x928(%rbx), %rax
movsd (%rax,%rdx,8), %xmm1
movsd 0xb8(%r14), %xmm2
leaq 0x6faaa(%rip), %rsi     # 0x123b22
leaq 0x880(%rsp), %r14
movq %r14, %rdi
movapd %xmm5, %xmm3
movb $0x4, %al
callq 0x30c2c
leaq 0x3cfed(%rip), %rsi     # 0xf1082
leaq 0x6fae5(%rip), %rdx     # 0x123b81
leaq 0x80(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
addq $0x96a, %rbx            # imm = 0x96A
leaq 0x3cf75(%rip), %rsi     # 0xf1034
leaq 0x6f89f(%rip), %rdx     # 0x123965
movq %rbx, %rdi
movl $0x122d, %ecx           # imm = 0x122D
movq %r15, %r8
xorl %eax, %eax
callq 0x30c2c
movl $0x1, %ebp
movl %ebp, %eax
addq $0x1088, %rsp           # imm = 0x1088
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movsd 0x80(%rsp), %xmm0
ucomisd 0x20(%rsp), %xmm0
jae 0xb41a1
movl 0x64(%rsp), %r15d
movslq %r15d, %rbp
movq 0x68(%rsp), %rax
movl (%rax,%rbp,4), %esi
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movl %r13d, %edi
movsd (%rsp), %xmm0
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
callq 0x23262
cmpl $0x1, %eax
jne 0xb435d
leaq 0x3d2a4(%rip), %rsi     # 0xf13f0
leaq 0x6fb37(%rip), %rdx     # 0x123c8a
movq $0x0, 0x10(%rsp)
leaq 0x880(%rsp), %r13
movq %r13, %rdi
movl %r15d, %ebp
movq 0x48(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3ceb4(%rip), %rsi     # 0xf1034
leaq 0x6faf1(%rip), %rdx     # 0x123c78
movq %r15, %rdi
movl $0x1270, %ecx           # imm = 0x1270
jmp 0xb4049
movl $0x1, 0x60(%r14)
jmp 0xb40dd
cmpl $0x3, %r12d
movl $0x2, %ecx
cmovgel %r12d, %ecx
decl %ecx
movb $0x1, %sil
movq $0x0, 0x10(%rsp)
movsd (%rsp), %xmm0
movq 0x28(%rsp), %r15
xorl %ebp, %ebp
testb %sil, %sil
je 0xb4286
movq %rcx, 0x18(%rsp)
movl 0xc0(%r14), %r13d
movq 0x910(%rbx), %rax
leaq 0xc(%rsp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x28(%rsp)
movl (%rax), %esi
leaq 0x80(%rsp), %rdx
movl %r13d, %edi
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
callq 0x263b4
cmpl $0x1, %eax
jne 0xb42c9
leaq 0x3d1ce(%rip), %rsi     # 0xf13f0
leaq 0x6fa05(%rip), %rdx     # 0x123c2e
leaq 0x880(%rsp), %r12
movq %r12, %rdi
movq 0x48(%rsp), %r13
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3cdea(%rip), %rsi     # 0xf1034
leaq 0x6fa27(%rip), %rdx     # 0x123c78
movq %r13, %rdi
movl $0x1261, %ecx           # imm = 0x1261
movq %r12, %r8
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x30c2c
movsd 0x40(%rsp), %xmm5
movsd (%rsp), %xmm0
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x18(%rsp), %rcx
jmp 0xb43bf
leaq 0x3d163(%rip), %rsi     # 0xf13f0
leaq 0x6f748(%rip), %rdx     # 0x1239dc
leaq 0x880(%rsp), %rbx
movq %rbx, %rdi
movq 0x48(%rsp), %r14
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3cd7f(%rip), %rsi     # 0xf1034
leaq 0x6f6a9(%rip), %rdx     # 0x123965
movq %r14, %rdi
movl $0x1217, %ecx           # imm = 0x1217
jmp 0xb3d58
movsd 0x80(%rsp), %xmm0
ucomisd 0x20(%rsp), %xmm0
jae 0xb4392
movslq 0x64(%rsp), %rax
movq 0x28(%rsp), %rcx
movl (%rcx,%rax,4), %esi
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movl %r13d, %edi
movsd (%rsp), %xmm0
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
callq 0x263b4
cmpl $0x1, %eax
jne 0xb4412
leaq 0x3d0cf(%rip), %rsi     # 0xf13f0
leaq 0x6f962(%rip), %rdx     # 0x123c8a
leaq 0x880(%rsp), %r12
movq %r12, %rdi
movq 0x48(%rsp), %r13
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3cceb(%rip), %rsi     # 0xf1034
leaq 0x6f928(%rip), %rdx     # 0x123c78
movq %r13, %rdi
movl $0x1270, %ecx           # imm = 0x1270
jmp 0xb4259
movsd 0x20(%rsp), %xmm0
ucomisd 0x80(%rsp), %xmm0
jbe 0xb444a
cmpl $0x3, %r12d
movl $0x2, %eax
cmovgel %r12d, %eax
addl $-0x2, %eax
movq %rax, 0x10(%rsp)
movb $0x1, %sil
movl %r15d, %ecx
jmp 0xb41bc
cmpl $0x3, %r12d
movl $0x2, %ecx
cmovgel %r12d, %ecx
decl %ecx
movb $0x1, %r12b
movsd 0x40(%rsp), %xmm5
movsd (%rsp), %xmm0
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x48(%rsp), %r13
testb %r12b, %r12b
je 0xb43d4
incl %ecx
movl %ecx, %r12d
movsd 0x20(%rsp), %xmm2
jmp 0xb3ef1
leaq 0x3d015(%rip), %rsi     # 0xf13f0
leaq 0x6f69e(%rip), %rdx     # 0x123a80
leaq 0x880(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3cc36(%rip), %rsi     # 0xf1034
leaq 0x6f560(%rip), %rdx     # 0x123965
movq %r13, %rdi
movl $0x1226, %ecx           # imm = 0x1226
jmp 0xb3d58
movb $0x1, %r12b
movsd 0x20(%rsp), %xmm0
ucomisd 0x80(%rsp), %xmm0
jbe 0xb44cf
movsd 0x40(%rsp), %xmm5
movsd (%rsp), %xmm0
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x48(%rsp), %r13
jmp 0xb427c
movq 0x68(%rsp), %rax
movl (%rax), %esi
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movl %r13d, %edi
movsd (%rsp), %xmm0
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
callq 0x23262
cmpl $0x1, %eax
jne 0xb454e
leaq 0x3cf69(%rip), %rsi     # 0xf13f0
leaq 0x6f84c(%rip), %rdx     # 0x123cda
movq $0x0, 0x10(%rsp)
leaq 0x880(%rsp), %r13
movq %r13, %rdi
movl %r15d, %ebp
movq 0x48(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3cb79(%rip), %rsi     # 0xf1034
leaq 0x6f7b6(%rip), %rdx     # 0x123c78
movq %r15, %rdi
movl $0x1282, %ecx           # imm = 0x1282
jmp 0xb4049
movslq 0x10(%rsp), %rax
movq 0x28(%rsp), %rcx
movl (%rcx,%rax,4), %esi
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movl %r13d, %edi
movsd (%rsp), %xmm0
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
callq 0x263b4
cmpl $0x1, %eax
jne 0xb4625
leaq 0x3cede(%rip), %rsi     # 0xf13f0
leaq 0x6f7c1(%rip), %rdx     # 0x123cda
leaq 0x880(%rsp), %r12
movq %r12, %rdi
movq 0x48(%rsp), %r13
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3cafa(%rip), %rsi     # 0xf1034
leaq 0x6f737(%rip), %rdx     # 0x123c78
movq %r13, %rdi
movl $0x1282, %ecx           # imm = 0x1282
jmp 0xb4259
xorl %edx, %edx
movsd 0x20(%rsp), %xmm0
ucomisd 0x80(%rsp), %xmm0
jae 0xb4664
xorl %ecx, %ecx
movsd (%rsp), %xmm0
movq 0x28(%rsp), %r15
xorl %ebp, %ebp
movl $0x0, 0xc(%rsp)
movl %ecx, %eax
subl %edx, %eax
movb $0x1, %sil
cmpl $0x2, %eax
jl 0xb46ea
movq %rdx, 0x10(%rsp)
movq %rcx, 0x18(%rsp)
leal (%rcx,%rdx), %eax
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
mulsd 0x3d729(%rip), %xmm1    # 0xf1cd0
cvttsd2si %xmm1, %eax
movl %eax, 0x74(%rsp)
cltq
movq 0x68(%rsp), %rdx
movl (%rdx,%rax,4), %esi
movl %r13d, %edi
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
callq 0x23262
cmpl $0x1, %eax
je 0xb4852
movsd 0x20(%rsp), %xmm0
ucomisd 0x80(%rsp), %xmm0
movq 0x10(%rsp), %rdx
movl 0x74(%rsp), %eax
cmoval %eax, %edx
movq 0x18(%rsp), %rcx
cmovbel %eax, %ecx
movl %ecx, %eax
subl %edx, %eax
cmpl $0x1, %eax
movsd (%rsp), %xmm0
jg 0xb458b
movq %rdx, 0x10(%rsp)
movb $0x1, %sil
jmp 0xb41c8
movsd 0x80(%rsp), %xmm0
movsd 0x20(%rsp), %xmm1
movsd %xmm0, 0x68(%rsp)
ucomisd %xmm0, %xmm1
jb 0xb46f4
movsd 0x40(%rsp), %xmm5
movsd (%rsp), %xmm0
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x10(%rsp), %rsi
jmp 0xb4790
movq 0x68(%rsp), %rax
movl (%rax,%rbp,4), %esi
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movl %r13d, %edi
movsd (%rsp), %xmm0
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
callq 0x23262
cmpl $0x1, %eax
jne 0xb4819
leaq 0x3cd4e(%rip), %rsi     # 0xf13f0
leaq 0x6f687(%rip), %rdx     # 0x123d30
movq $0x0, 0x10(%rsp)
leaq 0x880(%rsp), %r13
movq %r13, %rdi
movl %r15d, %ebp
movq 0x48(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3c95e(%rip), %rsi     # 0xf1034
leaq 0x6f59b(%rip), %rdx     # 0x123c78
movq %r15, %rdi
movl $0x129e, %ecx           # imm = 0x129E
jmp 0xb4049
movq %rdx, 0x10(%rsp)
jmp 0xb41c8
movl $0x1, %r12d
movsd 0x40(%rsp), %xmm5
movsd (%rsp), %xmm0
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x10(%rsp), %rsi
movl %esi, %ecx
movl %esi, %eax
subl %r12d, %eax
jle 0xb48ba
movq %rcx, 0x18(%rsp)
movl %r13d, %edi
movq %rax, 0x10(%rsp)
movl %eax, %eax
movq 0x28(%rsp), %rcx
movl (%rcx,%rax,4), %esi
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
callq 0x263b4
cmpl $0x1, %eax
je 0xb450b
leal (%r12,%r12,4), %r12d
movsd 0x20(%rsp), %xmm1
ucomisd 0x80(%rsp), %xmm1
movsd 0x40(%rsp), %xmm5
movsd (%rsp), %xmm0
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x10(%rsp), %rsi
jb 0xb4715
ucomisd 0x68(%rsp), %xmm1
jb 0xb48b0
movq %rsi, %r12
movslq 0x18(%rsp), %rax
movq 0x28(%rsp), %rcx
movl (%rcx,%rax,4), %esi
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movl %r13d, %edi
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
callq 0x263b4
cmpl $0x1, %eax
jne 0xb48c1
leaq 0x3cc13(%rip), %rsi     # 0xf13f0
leaq 0x6f54c(%rip), %rdx     # 0x123d30
leaq 0x880(%rsp), %r12
movq %r12, %rdi
movq 0x48(%rsp), %r13
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3c82f(%rip), %rsi     # 0xf1034
leaq 0x6f46c(%rip), %rdx     # 0x123c78
movq %r13, %rdi
movl $0x129e, %ecx           # imm = 0x129E
jmp 0xb4259
movsd 0x80(%rsp), %xmm0
ucomisd 0x20(%rsp), %xmm0
movl %r15d, %ecx
movsd (%rsp), %xmm0
movq 0x28(%rsp), %r15
movl $0x0, %ebp
movl $0x0, %edx
jae 0xb4573
movl 0x64(%rsp), %eax
movl %eax, %edx
movl %eax, %ecx
jmp 0xb4573
leaq 0x3cb97(%rip), %rsi     # 0xf13f0
leaq 0x6f527(%rip), %rdx     # 0x123d87
leaq 0x880(%rsp), %r13
movq %r13, %rdi
movq 0x48(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3c7b3(%rip), %rsi     # 0xf1034
leaq 0x6f3f0(%rip), %rdx     # 0x123c78
movq %r15, %rdi
movq 0x28(%rsp), %r15
movl $0x12bf, %ecx           # imm = 0x12BF
movq %r13, %r8
xorl %eax, %eax
callq 0x30c2c
xorl %esi, %esi
movsd (%rsp), %xmm0
movq 0x18(%rsp), %rcx
jmp 0xb41c8
movq 0x18(%rsp), %rcx
jmp 0xb49a1
xorl %esi, %esi
jmp 0xb49a1
movsd 0x80(%rsp), %xmm0
ucomisd 0x20(%rsp), %xmm0
movsd 0x40(%rsp), %xmm5
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
jae 0xb4976
movl $0x1, %r12d
movsd (%rsp), %xmm0
movq 0x18(%rsp), %rcx
movq %rcx, 0x10(%rsp)
leal (%r12,%rcx), %eax
cmpl 0x64(%rsp), %eax
jge 0xb4985
movq %rax, 0x18(%rsp)
cltq
movq 0x28(%rsp), %rcx
movl (%rcx,%rax,4), %esi
movl %r13d, %edi
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
callq 0x263b4
cmpl $0x1, %eax
je 0xb47d6
leal (%r12,%r12,4), %r12d
movsd 0x80(%rsp), %xmm0
ucomisd 0x20(%rsp), %xmm0
movsd 0x40(%rsp), %xmm5
movsd (%rsp), %xmm0
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x18(%rsp), %rcx
movq 0x10(%rsp), %rsi
jb 0xb48f7
jmp 0xb49a1
movsd (%rsp), %xmm0
movq 0x18(%rsp), %rcx
movq %r12, %rsi
jmp 0xb49a1
movl 0x64(%rsp), %eax
movl %eax, %ecx
movsd 0x40(%rsp), %xmm5
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x10(%rsp), %rsi
movl $0x0, 0xc(%rsp)
movl %ecx, %eax
subl %esi, %eax
cmpl $0x2, %eax
jl 0xb4a4b
movl %r13d, 0x10(%rsp)
movq %rcx, 0x18(%rsp)
leal (%rcx,%rsi), %eax
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
mulsd 0x3d2fe(%rip), %xmm1    # 0xf1cd0
cvttsd2si %xmm1, %r12d
movslq %r12d, %rax
movq %rsi, %r13
movq 0x28(%rsp), %rdx
movl (%rdx,%rax,4), %esi
movl 0x10(%rsp), %edi
movsd 0x50(%rsp), %xmm1
movsd 0x58(%rsp), %xmm2
leaq 0x80(%rsp), %rdx
leaq 0xc(%rsp), %rcx
callq 0x263b4
cmpl $0x1, %eax
je 0xb4a58
movsd 0x20(%rsp), %xmm0
ucomisd 0x80(%rsp), %xmm0
cmoval %r12d, %r13d
movq 0x18(%rsp), %rcx
cmovbel %r12d, %ecx
movl %ecx, %eax
subl %r13d, %eax
cmpl $0x1, %eax
movsd (%rsp), %xmm0
movq %r13, %rsi
jg 0xb49bb
movsd 0x40(%rsp), %xmm5
movq 0x38(%rsp), %rdx
movsd 0x30(%rsp), %xmm3
movq 0x48(%rsp), %r13
movb $0x1, %r12b
jmp 0xb43bf
leaq 0x3c991(%rip), %rsi     # 0xf13f0
leaq 0x6f321(%rip), %rdx     # 0x123d87
leaq 0x880(%rsp), %r12
movq %r12, %rdi
movq 0x48(%rsp), %r13
movq %r13, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3c5ad(%rip), %rsi     # 0xf1034
leaq 0x6f1ea(%rip), %rdx     # 0x123c78
movq %r13, %rdi
movl $0x12bf, %ecx           # imm = 0x12BF
jmp 0xb4259