// File: /workspace/github_c_makefile_star2_O2/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 0xa8495
cmpl $0x1, %r8d
je 0xa83d0
testl %r8d, %r8d
jne 0xa8560
movl 0xc0(%r15), %eax
cmpl $-0x1, %eax
je 0xa85e8
cmpl $0x1, %eax
je 0xa85bd
xorpd %xmm3, %xmm3
testl %eax, %eax
jne 0xa86f7
movsd 0x3d8ed(%rip), %xmm3    # 0xe5cb0
addsd %xmm2, %xmm3
divsd %xmm1, %xmm3
jmp 0xa86f7
movsd 0x3fbb0(%rip), %xmm3    # 0xe7f88
addsd %xmm2, %xmm3
movapd %xmm3, %xmm0
divsd %xmm1, %xmm0
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm0
ja 0xa8714
movsd 0x4003b(%rip), %xmm4    # 0xe8438
addsd %xmm2, %xmm4
movapd %xmm4, %xmm5
divsd %xmm1, %xmm5
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm1
ucomisd %xmm5, %xmm1
ja 0xa8714
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 0xaad72
testl %eax, %eax
je 0xa8798
addq $0x96a, %r14            # imm = 0x96A
leaq 0x3cf92(%rip), %rsi     # 0xe53f0
leaq 0x6e914(%rip), %rdx     # 0x116d79
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x3cbb3(%rip), %rsi     # 0xe5034
leaq 0x6d4d1(%rip), %rdx     # 0x115959
movq %r14, %rdi
movl $0xe6c, %ecx            # imm = 0xE6C
jmp 0xa8a0e
movsd 0x3ce33(%rip), %xmm5    # 0xe52d0
addsd %xmm2, %xmm5
movapd %xmm5, %xmm0
divsd %xmm1, %xmm0
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm0
ja 0xa8714
movsd 0x4030e(%rip), %xmm4    # 0xe87d0
addsd %xmm2, %xmm4
movapd %xmm4, %xmm6
divsd %xmm1, %xmm6
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm3
ucomisd %xmm6, %xmm3
ja 0xa8714
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 0xaad72
testl %eax, %eax
je 0xa8809
addq $0x96a, %r14            # imm = 0x96A
leaq 0x3cec7(%rip), %rsi     # 0xe53f0
leaq 0x6e90f(%rip), %rdx     # 0x116e3f
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x3cae8(%rip), %rsi     # 0xe5034
leaq 0x6d406(%rip), %rdx     # 0x115959
movq %r14, %rdi
movl $0xe8c, %ecx            # imm = 0xE8C
jmp 0xa8a0e
leaq 0x6ea00(%rip), %rsi     # 0x116f67
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x2e014
leaq 0x3d002(%rip), %rsi     # 0xe5585
leaq 0x890(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2e014
addq $0x96a, %r14            # imm = 0x96A
leaq 0x3ca8e(%rip), %rsi     # 0xe5034
leaq 0x6d3ac(%rip), %rdx     # 0x115959
movq %r14, %rdi
movl $0xeab, %ecx            # imm = 0xEAB
movq %r15, %r8
jmp 0xa8a11
movsd 0x3cc9b(%rip), %xmm0    # 0xe5260
addsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
xorpd %xmm3, %xmm3
ucomisd %xmm3, %xmm0
movapd %xmm2, 0x10(%rsp)
movsd %xmm1, (%rsp)
jb 0xa862c
sqrtsd %xmm0, %xmm2
jmp 0xa863e
movsd 0x3d6c0(%rip), %xmm4    # 0xe5cb0
addsd %xmm2, %xmm4
divsd %xmm1, %xmm4
movsd 0xb8(%r15), %xmm3
movapd 0x3cc27(%rip), %xmm0    # 0xe5230
xorpd %xmm3, %xmm0
movsd 0x3feb3(%rip), %xmm5    # 0xe84c8
ucomisd %xmm3, %xmm5
movapd %xmm2, 0x10(%rsp)
movsd %xmm1, (%rsp)
jb 0xa8692
sqrtsd %xmm0, %xmm0
jmp 0xa86a3
callq 0x82d0
xorpd %xmm3, %xmm3
movsd (%rsp), %xmm1
movapd %xmm0, %xmm2
divsd %xmm1, %xmm2
movsd 0xb8(%r15), %xmm0
ucomisd %xmm3, %xmm0
jb 0xa8657
sqrtsd %xmm0, %xmm0
jmp 0xa8668
movsd %xmm2, 0x20(%rsp)
callq 0x82d0
movsd 0x20(%rsp), %xmm2
mulsd %xmm0, %xmm2
movapd %xmm2, %xmm0
callq 0x85d0
movapd %xmm0, %xmm3
movsd 0xb8(%r15), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xa86d7
sqrtsd %xmm0, %xmm0
jmp 0xa86e8
movsd %xmm4, 0x20(%rsp)
callq 0x82d0
movsd 0x20(%rsp), %xmm4
mulsd %xmm0, %xmm4
movapd %xmm4, %xmm0
callq 0x84a0
movapd %xmm0, %xmm3
movsd 0xb8(%r15), %xmm1
movapd 0x3cb6b(%rip), %xmm0    # 0xe5230
xorpd %xmm1, %xmm0
movsd 0x3fdf7(%rip), %xmm2    # 0xe84c8
ucomisd %xmm1, %xmm2
jae 0xa868c
movsd %xmm3, 0x20(%rsp)
callq 0x82d0
movsd 0x20(%rsp), %xmm3
movapd 0x10(%rsp), %xmm2
movsd (%rsp), %xmm1
divsd %xmm0, %xmm3
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm3
ja 0xa8714
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm0
ucomisd %xmm3, %xmm0
jbe 0xa871f
andq $0x0, (%rbx)
xorl %eax, %eax
jmp 0xa8a1b
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 0xaad72
testl %eax, %eax
je 0xa887b
addq $0x96a, %r14            # imm = 0x96A
leaq 0x3cc8f(%rip), %rsi     # 0xe53f0
leaq 0x6e5a3(%rip), %rdx     # 0x116d0b
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x3c8b0(%rip), %rsi     # 0xe5034
leaq 0x6d1ce(%rip), %rdx     # 0x115959
movq %r14, %rdi
movl $0xe4a, %ecx            # imm = 0xE4A
jmp 0xa8a0e
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
leaq 0x40(%rsp), %r8
movq %r14, %rdi
movapd (%rsp), %xmm0
callq 0xaad72
testl %eax, %eax
je 0xa894a
addq $0x96a, %r14            # imm = 0x96A
leaq 0x3cc1e(%rip), %rsi     # 0xe53f0
leaq 0x6e603(%rip), %rdx     # 0x116ddc
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x3c83f(%rip), %rsi     # 0xe5034
leaq 0x6d15d(%rip), %rdx     # 0x115959
movq %r14, %rdi
movl $0xe75, %ecx            # imm = 0xE75
jmp 0xa8a0e
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
leaq 0x40(%rsp), %r8
movq %r14, %rdi
movsd 0x20(%rsp), %xmm0
callq 0xaad72
testl %eax, %eax
je 0xa898b
addq $0x96a, %r14            # imm = 0x96A
leaq 0x3cbac(%rip), %rsi     # 0xe53f0
leaq 0x6e657(%rip), %rdx     # 0x116ea2
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x3c7cd(%rip), %rsi     # 0xe5034
leaq 0x6d0eb(%rip), %rdx     # 0x115959
movq %r14, %rdi
movl $0xe95, %ecx            # imm = 0xE95
jmp 0xa8a0e
movapd 0x10(%rsp), %xmm4
movapd %xmm4, %xmm1
addsd %xmm4, %xmm1
movsd 0x3f707(%rip), %xmm0    # 0xe7f98
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xa88a5
sqrtsd %xmm0, %xmm0
jmp 0xa88b0
callq 0x82d0
movapd 0x10(%rsp), %xmm4
movsd 0x3c9d0(%rip), %xmm2    # 0xe5288
divsd %xmm4, %xmm2
addsd 0x3c99c(%rip), %xmm2    # 0xe5260
movapd %xmm4, %xmm3
mulsd %xmm4, %xmm3
movsd 0x6c924(%rip), %xmm1    # 0x1151f8
divsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm0, %xmm1
mulsd 0x890(%rsp), %xmm1
movsd %xmm1, (%rbx)
cmpl $0x0, 0xc0(%r15)
je 0xa8a28
movsd 0xb8(%r15), %xmm1
mulsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
divsd %xmm0, %xmm1
movsd 0x3c93f(%rip), %xmm0    # 0xe5260
subsd %xmm1, %xmm0
movsd 0x3c95b(%rip), %xmm1    # 0xe5288
callq 0x8650
movsd 0x20(%rsp), %xmm1
mulsd (%rsp), %xmm1
divsd %xmm1, %xmm0
mulsd (%rbx), %xmm0
jmp 0xa8b1c
movapd 0x10(%rsp), %xmm2
movapd %xmm2, %xmm7
addsd %xmm2, %xmm7
movsd 0x3dde8(%rip), %xmm1    # 0xe6748
addsd %xmm7, %xmm1
movsd 0x3f62c(%rip), %xmm3    # 0xe7f98
movapd %xmm3, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xa8a3d
sqrtsd %xmm0, %xmm4
jmp 0xa8a62
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
movsd 0x3d30b(%rip), %xmm0    # 0xe5cb0
addsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
divsd (%rsp), %xmm0
leaq 0x890(%rsp), %r8
movq %r14, %rdi
callq 0xaad72
testl %eax, %eax
je 0xa8b25
addq $0x96a, %r14            # imm = 0x96A
leaq 0x3ca14(%rip), %rsi     # 0xe53f0
leaq 0x6e522(%rip), %rdx     # 0x116f05
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x3c635(%rip), %rsi     # 0xe5034
leaq 0x6cf53(%rip), %rdx     # 0x115959
movq %r14, %rdi
movl $0xe9e, %ecx            # imm = 0xE9E
movq %rbx, %r8
xorl %eax, %eax
callq 0x2e014
pushq $0x1
popq %rax
addq $0x1090, %rsp           # imm = 0x1090
popq %rbx
popq %r14
popq %r15
retq
addsd 0x3d280(%rip), %xmm4    # 0xe5cb0
divsd %xmm4, %xmm1
movsd %xmm1, (%rbx)
jmp 0xa8718
movapd %xmm7, (%rsp)
callq 0x82d0
xorpd %xmm1, %xmm1
movapd (%rsp), %xmm7
movsd 0x3f540(%rip), %xmm3    # 0xe7f98
movapd 0x10(%rsp), %xmm2
movapd %xmm0, %xmm4
xorpd 0x3c7c6(%rip), %xmm4    # 0xe5230
movsd 0x3c7ee(%rip), %xmm6    # 0xe5260
movapd %xmm2, %xmm5
addsd %xmm6, %xmm5
addsd %xmm7, %xmm6
addsd 0x3cd62(%rip), %xmm7    # 0xe57e8
movsd 0x48(%rsp), %xmm8
divsd %xmm7, %xmm3
ucomisd %xmm1, %xmm3
jb 0xa8a9d
sqrtsd %xmm3, %xmm0
jmp 0xa8adc
movapd %xmm3, %xmm0
movapd %xmm4, (%rsp)
movapd %xmm5, 0x30(%rsp)
movapd %xmm6, 0x70(%rsp)
movapd %xmm8, 0x60(%rsp)
callq 0x82d0
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 0xa8718
movapd 0x10(%rsp), %xmm2
movapd %xmm2, %xmm6
addsd %xmm2, %xmm6
movsd 0x3c735(%rip), %xmm1    # 0xe5270
addsd %xmm6, %xmm1
movsd 0x3f451(%rip), %xmm5    # 0xe7f98
movapd %xmm5, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm3, %xmm3
ucomisd %xmm3, %xmm0
movapd %xmm6, 0x70(%rsp)
jb 0xa8b65
sqrtsd %xmm0, %xmm0
jmp 0xa8b82
callq 0x82d0
xorpd %xmm3, %xmm3
movapd 0x70(%rsp), %xmm6
movsd 0x3f41c(%rip), %xmm5    # 0xe7f98
movapd 0x10(%rsp), %xmm2
movsd 0x30(%rsp), %xmm1
mulsd 0x48(%rsp), %xmm0
divsd %xmm1, %xmm0
mulsd %xmm2, %xmm0
movsd 0x3d142(%rip), %xmm4    # 0xe5ce0
addsd %xmm2, %xmm4
mulsd %xmm0, %xmm4
movsd 0x3c6b2(%rip), %xmm7    # 0xe5260
addsd %xmm6, %xmm7
divsd %xmm7, %xmm4
movapd %xmm2, %xmm9
movapd %xmm6, %xmm8
unpcklpd %xmm6, %xmm8            # xmm8 = xmm8[0],xmm6[0]
addpd 0x6c672(%rip), %xmm8    # 0x115240
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 0xa8c02
sqrtsd %xmm0, %xmm0
jmp 0xa8c46
movsd %xmm4, (%rsp)
movapd %xmm9, 0x80(%rsp)
callq 0x82d0
movapd 0x80(%rsp), %xmm9
movapd 0x60(%rsp), %xmm8
movsd 0x30(%rsp), %xmm7
movapd 0x70(%rsp), %xmm6
movsd 0x3f35d(%rip), %xmm5    # 0xe7f98
movsd (%rsp), %xmm4
movapd 0x10(%rsp), %xmm2
movsd 0x20(%rsp), %xmm3
movsd 0x3c60c(%rip), %xmm1    # 0xe5260
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 0x3f7aa(%rip), %xmm6    # 0xe8440
divsd %xmm6, %xmm5
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm5
jb 0xa8caa
sqrtsd %xmm5, %xmm0
jmp 0xa8cd0
movapd %xmm5, %xmm0
movsd %xmm4, (%rsp)
callq 0x82d0
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 0x3cafc(%rip), %xmm2    # 0xe57e8
mulsd %xmm0, %xmm2
divsd %xmm7, %xmm2
divsd %xmm8, %xmm2
addsd %xmm2, %xmm4
movsd %xmm4, (%rbx)
jmp 0xa8718