// File: /workspace/github_c_makefile_star2_O3/PoulinV[P]AxiCLASS/build/../source/transfer.c
// Function: transfer_limber
int transfer_limber(
                    struct transfer * ptr,
                    struct transfer_workspace * ptw,
                    int index_md,
                    int index_q,
                    double l,
                    double q,
                    radial_function_type radial_type,
                    double * trsf
                    ){

  /** Summary: */

  /** - define local variables */

  /* interpolated source and its derivatives at this value */
  double S, Sp, Sm;

  double x_limber=0.;
  double tau0_minus_tau_limber=0.;
  double IPhiFlat = 0.;

  if (radial_type == SCALAR_TEMPERATURE_0) {

    /** - get k, l and infer tau such that k(tau0-tau)=l+1/2;
        check that tau is in appropriate range */

    if (ptw->sgnK == 0) {
      tau0_minus_tau_limber = (l+0.5)/q;
    }
    else if (ptw->sgnK == 1) {
      x_limber = asin(sqrt(l*(l+1.))/q*sqrt(ptw->K));
      tau0_minus_tau_limber = x_limber/sqrt(ptw->K);
    }
    else if (ptw->sgnK == -1) {
      x_limber = asinh((l+0.5)/q*sqrt(-ptw->K));
      tau0_minus_tau_limber = x_limber/sqrt(-ptw->K);
    }

    if ((tau0_minus_tau_limber > ptw->tau0_minus_tau[0]) ||
        (tau0_minus_tau_limber < ptw->tau0_minus_tau[ptw->tau_size-1])) {
      *trsf = 0.;
      return _SUCCESS_;
    }

    class_call(transfer_limber_interpolate(ptr,
                                           ptw->tau0_minus_tau,
                                           ptw->sources,
                                           ptw->tau_size,
                                           tau0_minus_tau_limber,
                                           &S),
               ptr->error_message,
               ptr->error_message);

    /** - get transfer = source * \f$ \sqrt{\pi/(2l+1)}/q \f$
        = source*[tau0-tau] * \f$ \sqrt{\pi/(2l+1)}/(l+1/2)\f$
    */

    IPhiFlat = sqrt(_PI_/(2.*l))*(1.-0.25/l+1./32./(l*l));

    *trsf = IPhiFlat*S;

    if (ptw->sgnK == 0) {
      *trsf /= (l+0.5);
    }
    else {
      *trsf *= pow(1.-ptw->K*l*l/q/q,-1./4.)/(tau0_minus_tau_limber*q);
    }

  }

  else if (radial_type == SCALAR_TEMPERATURE_1) {

    if (((l+1.5)/q > ptw->tau0_minus_tau[0]) ||
        ((l-0.5)/q < ptw->tau0_minus_tau[ptw->tau_size-1])) {
      *trsf = 0.;
      return _SUCCESS_;
    }

    class_call(transfer_limber_interpolate(ptr,
                                           ptw->tau0_minus_tau,
                                           ptw->sources,
                                           ptw->tau_size,
                                           (l+1.5)/q,
                                           &Sp),
               ptr->error_message,
               ptr->error_message);

    class_call(transfer_limber_interpolate(ptr,
                                           ptw->tau0_minus_tau,
                                           ptw->sources,
                                           ptw->tau_size,
                                           (l-0.5)/q,
                                           &Sm),
               ptr->error_message,
               ptr->error_message);

    *trsf =
      -sqrt(_PI_/(2.*l+3.))*Sp/(l+1.5) * (l+1.)/(2.*l+1)
      +sqrt(_PI_/(2.*l-1.))*Sm/(l-0.5) * l/(2.*l+1.);

  }

  else if (radial_type == NC_RSD) {

    if (((l+2.5)/q > ptw->tau0_minus_tau[0]) ||
        ((l-1.5)/q < ptw->tau0_minus_tau[ptw->tau_size-1])) {
      *trsf = 0.;
      return _SUCCESS_;
    }

    class_call(transfer_limber_interpolate(ptr,
                                           ptw->tau0_minus_tau,
                                           ptw->sources,
                                           ptw->tau_size,
                                           (l+2.5)/q,
                                           &Sp),
               ptr->error_message,
               ptr->error_message);

    class_call(transfer_limber_interpolate(ptr,
                                           ptw->tau0_minus_tau,
                                           ptw->sources,
                                           ptw->tau_size,
                                           (l-1.5)/q,
                                           &Sm),
               ptr->error_message,
               ptr->error_message);

    class_call(transfer_limber_interpolate(ptr,
                                           ptw->tau0_minus_tau,
                                           ptw->sources,
                                           ptw->tau_size,
                                           (l+0.5)/q,
                                           &S),
               ptr->error_message,
               ptr->error_message);

    *trsf =
      sqrt(_PI_/(2.*l+5.))*Sp/(l+2.5) * l*(l+2.)/(2.*l+1.)/(2.*l+3.)
      -sqrt(_PI_/(2.*l+1.))*S/(l+0.5) * l/(2.*l+1.)*(l/(2.*l-1.)+(l+1.)/(2.*l+3.))
      +sqrt(_PI_/(2.*l-3.))*Sm/(l-1.5) * l*(l-1.)/(2.*l+1.)/(2.*l-1.);

  }

  else {

    class_stop(ptr->error_message,
               "Limber approximation has not been coded for the radial_type of index %d\n",
               radial_type);

  }

  return _SUCCESS_;

}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x1090, %rsp           # imm = 0x1090
movq %r9, %rbx
movapd %xmm0, %xmm2
movq %rsi, %r15
movq %rdi, %r14
cmpl $0xb, %r8d
je 0xadc4c
cmpl $0x1, %r8d
je 0xadb87
testl %r8d, %r8d
jne 0xadd17
movl 0xc0(%r15), %eax
cmpl $-0x1, %eax
je 0xadda2
cmpl $0x1, %eax
je 0xadd74
xorpd %xmm3, %xmm3
testl %eax, %eax
jne 0xadeb1
movsd 0x41156(%rip), %xmm3    # 0xeecd0
addsd %xmm2, %xmm3
divsd %xmm1, %xmm3
jmp 0xadeb1
movsd 0x43439(%rip), %xmm3    # 0xf0fc8
addsd %xmm2, %xmm3
movapd %xmm3, %xmm0
divsd %xmm1, %xmm0
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm0
ja 0xadece
movsd 0x438c4(%rip), %xmm4    # 0xf1478
addsd %xmm2, %xmm4
movapd %xmm4, %xmm5
divsd %xmm1, %xmm5
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm1
ucomisd %xmm5, %xmm1
ja 0xadece
movapd %xmm5, (%rsp)
movapd %xmm4, 0x50(%rsp)
movapd %xmm3, 0x20(%rsp)
movapd %xmm2, 0x10(%rsp)
movq 0x88(%r15), %rdx
leaq 0x48(%rsp), %r8
movq %r14, %rdi
callq 0xb05a7
testl %eax, %eax
je 0xadf55
addq $0x96a, %r14            # imm = 0x96A
leaq 0x407db(%rip), %rsi     # 0xee3f0
leaq 0x722cd(%rip), %rdx     # 0x11fee9
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x403fc(%rip), %rsi     # 0xee034
leaq 0x70e8a(%rip), %rdx     # 0x11eac9
movq %r14, %rdi
movl $0xe6c, %ecx            # imm = 0xE6C
jmp 0xae1ce
movsd 0x4067c(%rip), %xmm5    # 0xee2d0
addsd %xmm2, %xmm5
movapd %xmm5, %xmm0
divsd %xmm1, %xmm0
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm0
ja 0xadece
movsd 0x43bd7(%rip), %xmm4    # 0xf1850
addsd %xmm2, %xmm4
movapd %xmm4, %xmm6
divsd %xmm1, %xmm6
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm3
ucomisd %xmm6, %xmm3
ja 0xadece
movsd %xmm6, 0x20(%rsp)
movsd %xmm5, 0x30(%rsp)
movsd %xmm4, 0x50(%rsp)
movsd %xmm1, (%rsp)
movapd %xmm2, 0x10(%rsp)
movq 0x88(%r15), %rdx
leaq 0x48(%rsp), %r8
movq %r14, %rdi
callq 0xb05a7
testl %eax, %eax
je 0xadfc6
addq $0x96a, %r14            # imm = 0x96A
leaq 0x40710(%rip), %rsi     # 0xee3f0
leaq 0x722c8(%rip), %rdx     # 0x11ffaf
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x40331(%rip), %rsi     # 0xee034
leaq 0x70dbf(%rip), %rdx     # 0x11eac9
movq %r14, %rdi
movl $0xe8c, %ecx            # imm = 0xE8C
jmp 0xae1ce
leaq 0x723b9(%rip), %rsi     # 0x1200d7
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x30af0
leaq 0x4084b(%rip), %rsi     # 0xee585
leaq 0x890(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x30af0
addq $0x96a, %r14            # imm = 0x96A
leaq 0x402d7(%rip), %rsi     # 0xee034
leaq 0x70d65(%rip), %rdx     # 0x11eac9
movq %r14, %rdi
movl $0xeab, %ecx            # imm = 0xEAB
movq %r15, %r8
jmp 0xae1d1
movsd 0x404e4(%rip), %xmm0    # 0xee260
addsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
xorpd %xmm3, %xmm3
ucomisd %xmm3, %xmm0
movapd %xmm2, 0x10(%rsp)
movsd %xmm1, (%rsp)
jb 0xadde6
xorps %xmm2, %xmm2
sqrtsd %xmm0, %xmm2
jmp 0xaddf8
movsd 0x40f26(%rip), %xmm4    # 0xeecd0
addsd %xmm2, %xmm4
divsd %xmm1, %xmm4
movsd 0xb8(%r15), %xmm3
movapd 0x4046d(%rip), %xmm0    # 0xee230
xorpd %xmm3, %xmm0
movsd 0x43739(%rip), %xmm5    # 0xf1508
ucomisd %xmm3, %xmm5
movapd %xmm2, 0x10(%rsp)
movsd %xmm1, (%rsp)
jb 0xade4c
sqrtsd %xmm0, %xmm0
jmp 0xade5d
callq 0x82b0
xorpd %xmm3, %xmm3
movsd (%rsp), %xmm1
movapd %xmm0, %xmm2
divsd %xmm1, %xmm2
movsd 0xb8(%r15), %xmm0
ucomisd %xmm3, %xmm0
jb 0xade11
sqrtsd %xmm0, %xmm0
jmp 0xade22
movsd %xmm2, 0x20(%rsp)
callq 0x82b0
movsd 0x20(%rsp), %xmm2
mulsd %xmm0, %xmm2
movapd %xmm2, %xmm0
callq 0x85a0
movapd %xmm0, %xmm3
movsd 0xb8(%r15), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xade91
sqrtsd %xmm0, %xmm0
jmp 0xadea2
movsd %xmm4, 0x20(%rsp)
callq 0x82b0
movsd 0x20(%rsp), %xmm4
mulsd %xmm0, %xmm4
movapd %xmm4, %xmm0
callq 0x8470
movapd %xmm0, %xmm3
movsd 0xb8(%r15), %xmm1
movapd 0x403b1(%rip), %xmm0    # 0xee230
xorpd %xmm1, %xmm0
movsd 0x4367d(%rip), %xmm2    # 0xf1508
ucomisd %xmm1, %xmm2
jae 0xade46
movsd %xmm3, 0x20(%rsp)
callq 0x82b0
movsd 0x20(%rsp), %xmm3
movapd 0x10(%rsp), %xmm2
movsd (%rsp), %xmm1
divsd %xmm0, %xmm3
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm3
ja 0xadece
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm0
ucomisd %xmm3, %xmm0
jbe 0xadedc
movq $0x0, (%rbx)
xorl %eax, %eax
jmp 0xae1dd
movsd %xmm1, (%rsp)
movapd %xmm2, 0x10(%rsp)
movq 0x88(%r15), %rdx
leaq 0x890(%rsp), %r8
movq %r14, %rdi
movapd %xmm3, %xmm0
movsd %xmm3, 0x20(%rsp)
callq 0xb05a7
testl %eax, %eax
je 0xae038
addq $0x96a, %r14            # imm = 0x96A
leaq 0x404d2(%rip), %rsi     # 0xee3f0
leaq 0x71f56(%rip), %rdx     # 0x11fe7b
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x400f3(%rip), %rsi     # 0xee034
leaq 0x70b81(%rip), %rdx     # 0x11eac9
movq %r14, %rdi
movl $0xe4a, %ecx            # imm = 0xE4A
jmp 0xae1ce
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
leaq 0x40(%rsp), %r8
movq %r14, %rdi
movapd (%rsp), %xmm0
callq 0xb05a7
testl %eax, %eax
je 0xae107
addq $0x96a, %r14            # imm = 0x96A
leaq 0x40461(%rip), %rsi     # 0xee3f0
leaq 0x71fb6(%rip), %rdx     # 0x11ff4c
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x40082(%rip), %rsi     # 0xee034
leaq 0x70b10(%rip), %rdx     # 0x11eac9
movq %r14, %rdi
movl $0xe75, %ecx            # imm = 0xE75
jmp 0xae1ce
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
leaq 0x40(%rsp), %r8
movq %r14, %rdi
movsd 0x20(%rsp), %xmm0
callq 0xb05a7
testl %eax, %eax
je 0xae14b
addq $0x96a, %r14            # imm = 0x96A
leaq 0x403ef(%rip), %rsi     # 0xee3f0
leaq 0x7200a(%rip), %rdx     # 0x120012
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x40010(%rip), %rsi     # 0xee034
leaq 0x70a9e(%rip), %rdx     # 0x11eac9
movq %r14, %rdi
movl $0xe95, %ecx            # imm = 0xE95
jmp 0xae1ce
movapd 0x10(%rsp), %xmm4
movapd %xmm4, %xmm1
addsd %xmm4, %xmm1
movsd 0x42f8a(%rip), %xmm0    # 0xf0fd8
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xae062
sqrtsd %xmm0, %xmm0
jmp 0xae06d
callq 0x82b0
movapd 0x10(%rsp), %xmm4
movsd 0x40213(%rip), %xmm2    # 0xee288
divsd %xmm4, %xmm2
addsd 0x401df(%rip), %xmm2    # 0xee260
movapd %xmm4, %xmm3
mulsd %xmm4, %xmm3
movsd 0x702c7(%rip), %xmm1    # 0x11e358
divsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm0, %xmm1
mulsd 0x890(%rsp), %xmm1
movsd %xmm1, (%rbx)
cmpl $0x0, 0xc0(%r15)
je 0xae1ea
movsd 0xb8(%r15), %xmm1
mulsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
divsd %xmm0, %xmm1
movsd 0x40182(%rip), %xmm0    # 0xee260
subsd %xmm1, %xmm0
movsd 0x4019e(%rip), %xmm1    # 0xee288
callq 0x8620
movsd 0x20(%rsp), %xmm1
mulsd (%rsp), %xmm1
divsd %xmm1, %xmm0
mulsd (%rbx), %xmm0
jmp 0xae2e1
movapd 0x10(%rsp), %xmm2
movapd %xmm2, %xmm7
addsd %xmm2, %xmm7
movsd 0x41563(%rip), %xmm1    # 0xef680
addsd %xmm7, %xmm1
movsd 0x42eaf(%rip), %xmm3    # 0xf0fd8
movapd %xmm3, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xae1ff
xorps %xmm4, %xmm4
sqrtsd %xmm0, %xmm4
jmp 0xae224
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
movsd 0x40b6b(%rip), %xmm0    # 0xeecd0
addsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
divsd (%rsp), %xmm0
leaq 0x890(%rsp), %r8
movq %r14, %rdi
callq 0xb05a7
testl %eax, %eax
je 0xae2ea
addq $0x96a, %r14            # imm = 0x96A
leaq 0x40254(%rip), %rsi     # 0xee3f0
leaq 0x71ed2(%rip), %rdx     # 0x120075
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x3fe75(%rip), %rsi     # 0xee034
leaq 0x70903(%rip), %rdx     # 0x11eac9
movq %r14, %rdi
movl $0xe9e, %ecx            # imm = 0xE9E
movq %rbx, %r8
xorl %eax, %eax
callq 0x30af0
movl $0x1, %eax
addq $0x1090, %rsp           # imm = 0x1090
popq %rbx
popq %r14
popq %r15
retq
addsd 0x40ade(%rip), %xmm4    # 0xeecd0
divsd %xmm4, %xmm1
movsd %xmm1, (%rbx)
jmp 0xaded5
movapd %xmm7, (%rsp)
callq 0x82b0
xorpd %xmm1, %xmm1
movapd (%rsp), %xmm7
movsd 0x42dbe(%rip), %xmm3    # 0xf0fd8
movapd 0x10(%rsp), %xmm2
movapd %xmm0, %xmm4
xorpd 0x40004(%rip), %xmm4    # 0xee230
movsd 0x4002c(%rip), %xmm6    # 0xee260
movapd %xmm2, %xmm5
addsd %xmm6, %xmm5
addsd %xmm7, %xmm6
addsd 0x405a0(%rip), %xmm7    # 0xee7e8
movsd 0x48(%rsp), %xmm8
divsd %xmm7, %xmm3
ucomisd %xmm1, %xmm3
jb 0xae262
xorps %xmm0, %xmm0
sqrtsd %xmm3, %xmm0
jmp 0xae2a1
movapd %xmm3, %xmm0
movapd %xmm4, (%rsp)
movapd %xmm5, 0x30(%rsp)
movapd %xmm6, 0x70(%rsp)
movapd %xmm8, 0x60(%rsp)
callq 0x82b0
movapd 0x60(%rsp), %xmm8
movapd 0x70(%rsp), %xmm6
movapd 0x30(%rsp), %xmm5
movapd (%rsp), %xmm4
movapd 0x10(%rsp), %xmm2
movapd 0x20(%rsp), %xmm1
movapd 0x50(%rsp), %xmm3
unpcklpd %xmm0, %xmm8            # xmm8 = xmm8[0],xmm0[0]
movhpd 0x40(%rsp), %xmm4       # xmm4 = xmm4[0],mem[0]
mulpd %xmm8, %xmm4
unpcklpd %xmm3, %xmm1            # xmm1 = xmm1[0],xmm3[0]
divpd %xmm1, %xmm4
unpcklpd %xmm2, %xmm5            # xmm5 = xmm5[0],xmm2[0]
mulpd %xmm4, %xmm5
unpcklpd %xmm6, %xmm6            # xmm6 = xmm6[0,0]
divpd %xmm6, %xmm5
movapd %xmm5, %xmm0
unpckhpd %xmm5, %xmm0            # xmm0 = xmm0[1],xmm5[1]
addsd %xmm5, %xmm0
movsd %xmm0, (%rbx)
jmp 0xaded5
movapd 0x10(%rsp), %xmm2
movapd %xmm2, %xmm6
addsd %xmm2, %xmm6
movsd 0x3ff70(%rip), %xmm1    # 0xee270
addsd %xmm6, %xmm1
movsd 0x42ccc(%rip), %xmm5    # 0xf0fd8
movapd %xmm5, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm3, %xmm3
ucomisd %xmm3, %xmm0
movapd %xmm6, 0x70(%rsp)
jb 0xae32a
sqrtsd %xmm0, %xmm0
jmp 0xae347
callq 0x82b0
xorpd %xmm3, %xmm3
movapd 0x70(%rsp), %xmm6
movsd 0x42c97(%rip), %xmm5    # 0xf0fd8
movapd 0x10(%rsp), %xmm2
movsd 0x30(%rsp), %xmm1
mulsd 0x48(%rsp), %xmm0
divsd %xmm1, %xmm0
mulsd %xmm2, %xmm0
movsd 0x4099d(%rip), %xmm4    # 0xeed00
addsd %xmm2, %xmm4
mulsd %xmm0, %xmm4
movsd 0x3feed(%rip), %xmm7    # 0xee260
addsd %xmm6, %xmm7
divsd %xmm7, %xmm4
movapd %xmm2, %xmm9
movapd %xmm6, %xmm8
unpcklpd %xmm6, %xmm8            # xmm8 = xmm8[0],xmm6[0]
addpd 0x7001d(%rip), %xmm8    # 0x11e3b0
unpcklpd %xmm2, %xmm9            # xmm9 = xmm9[0],xmm2[0]
movapd %xmm8, %xmm0
unpckhpd %xmm8, %xmm0            # xmm0 = xmm0[1],xmm8[1]
divsd %xmm0, %xmm4
movapd %xmm5, %xmm0
divsd %xmm7, %xmm0
ucomisd %xmm3, %xmm0
movsd %xmm7, 0x30(%rsp)
movapd %xmm8, 0x60(%rsp)
jb 0xae3c7
sqrtsd %xmm0, %xmm0
jmp 0xae40b
movsd %xmm4, (%rsp)
movapd %xmm9, 0x80(%rsp)
callq 0x82b0
movapd 0x80(%rsp), %xmm9
movapd 0x60(%rsp), %xmm8
movsd 0x30(%rsp), %xmm7
movapd 0x70(%rsp), %xmm6
movsd 0x42bd8(%rip), %xmm5    # 0xf0fd8
movsd (%rsp), %xmm4
movapd 0x10(%rsp), %xmm2
movsd 0x20(%rsp), %xmm3
movsd 0x3fe47(%rip), %xmm1    # 0xee260
addsd %xmm2, %xmm1
unpcklpd %xmm1, %xmm9            # xmm9 = xmm9[0],xmm1[0]
divpd %xmm8, %xmm9
movapd %xmm9, %xmm1
unpckhpd %xmm9, %xmm1            # xmm1 = xmm1[1],xmm9[1]
mulsd 0x890(%rsp), %xmm0
addsd %xmm9, %xmm1
divsd %xmm3, %xmm0
mulsd %xmm2, %xmm0
divsd %xmm7, %xmm0
mulsd %xmm1, %xmm0
subsd %xmm0, %xmm4
addsd 0x43025(%rip), %xmm6    # 0xf1480
divsd %xmm6, %xmm5
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm5
jb 0xae472
xorps %xmm0, %xmm0
sqrtsd %xmm5, %xmm0
jmp 0xae498
movapd %xmm5, %xmm0
movsd %xmm4, (%rsp)
callq 0x82b0
movapd 0x60(%rsp), %xmm8
movsd 0x30(%rsp), %xmm7
movsd (%rsp), %xmm4
movapd 0x10(%rsp), %xmm2
movsd 0x50(%rsp), %xmm1
mulsd 0x40(%rsp), %xmm0
divsd %xmm1, %xmm0
mulsd %xmm2, %xmm0
addsd 0x40334(%rip), %xmm2    # 0xee7e8
mulsd %xmm0, %xmm2
divsd %xmm7, %xmm2
divsd %xmm8, %xmm2
addsd %xmm2, %xmm4
movsd %xmm4, (%rbx)
jmp 0xaded5