// File: /workspace/github_c_makefile_star2_O1/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 0xb0cd2
cmpl $0x1, %r8d
je 0xb0c0d
testl %r8d, %r8d
jne 0xb0d9d
movl 0xc0(%r15), %eax
cmpl $-0x1, %eax
je 0xb0e28
cmpl $0x1, %eax
je 0xb0dfa
xorpd %xmm3, %xmm3
testl %eax, %eax
jne 0xb0f37
movsd 0x410d0(%rip), %xmm3    # 0xf1cd0
addsd %xmm2, %xmm3
divsd %xmm1, %xmm3
jmp 0xb0f37
movsd 0x433a3(%rip), %xmm3    # 0xf3fb8
addsd %xmm2, %xmm3
movapd %xmm3, %xmm0
divsd %xmm1, %xmm0
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm0
ja 0xb0f54
movsd 0x4382e(%rip), %xmm4    # 0xf4468
addsd %xmm2, %xmm4
movapd %xmm4, %xmm5
divsd %xmm1, %xmm5
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm1
ucomisd %xmm5, %xmm1
ja 0xb0f54
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 0xb3619
testl %eax, %eax
je 0xb0fdb
addq $0x96a, %r14            # imm = 0x96A
leaq 0x40755(%rip), %rsi     # 0xf13f0
leaq 0x72207(%rip), %rdx     # 0x122ea9
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x40376(%rip), %rsi     # 0xf1034
leaq 0x70dc4(%rip), %rdx     # 0x121a89
movq %r14, %rdi
movl $0xe6c, %ecx            # imm = 0xE6C
jmp 0xb1254
movsd 0x405f6(%rip), %xmm5    # 0xf12d0
addsd %xmm2, %xmm5
movapd %xmm5, %xmm0
divsd %xmm1, %xmm0
movq 0x90(%r15), %rsi
ucomisd (%rsi), %xmm0
ja 0xb0f54
movsd 0x43b41(%rip), %xmm4    # 0xf4840
addsd %xmm2, %xmm4
movapd %xmm4, %xmm6
divsd %xmm1, %xmm6
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm3
ucomisd %xmm6, %xmm3
ja 0xb0f54
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 0xb3619
testl %eax, %eax
je 0xb104c
addq $0x96a, %r14            # imm = 0x96A
leaq 0x4068a(%rip), %rsi     # 0xf13f0
leaq 0x72202(%rip), %rdx     # 0x122f6f
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x402ab(%rip), %rsi     # 0xf1034
leaq 0x70cf9(%rip), %rdx     # 0x121a89
movq %r14, %rdi
movl $0xe8c, %ecx            # imm = 0xE8C
jmp 0xb1254
leaq 0x722f3(%rip), %rsi     # 0x123097
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x30c2c
leaq 0x407c5(%rip), %rsi     # 0xf1585
leaq 0x890(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x30c2c
addq $0x96a, %r14            # imm = 0x96A
leaq 0x40251(%rip), %rsi     # 0xf1034
leaq 0x70c9f(%rip), %rdx     # 0x121a89
movq %r14, %rdi
movl $0xeab, %ecx            # imm = 0xEAB
movq %r15, %r8
jmp 0xb1257
movsd 0x4045e(%rip), %xmm0    # 0xf1260
addsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
xorpd %xmm3, %xmm3
ucomisd %xmm3, %xmm0
movapd %xmm2, 0x10(%rsp)
movsd %xmm1, (%rsp)
jb 0xb0e6c
xorps %xmm2, %xmm2
sqrtsd %xmm0, %xmm2
jmp 0xb0e7e
movsd 0x40ea0(%rip), %xmm4    # 0xf1cd0
addsd %xmm2, %xmm4
divsd %xmm1, %xmm4
movsd 0xb8(%r15), %xmm3
movapd 0x403e7(%rip), %xmm0    # 0xf1230
xorpd %xmm3, %xmm0
movsd 0x436a3(%rip), %xmm5    # 0xf44f8
ucomisd %xmm3, %xmm5
movapd %xmm2, 0x10(%rsp)
movsd %xmm1, (%rsp)
jb 0xb0ed2
sqrtsd %xmm0, %xmm0
jmp 0xb0ee3
callq 0x82b0
xorpd %xmm3, %xmm3
movsd (%rsp), %xmm1
movapd %xmm0, %xmm2
divsd %xmm1, %xmm2
movsd 0xb8(%r15), %xmm0
ucomisd %xmm3, %xmm0
jb 0xb0e97
sqrtsd %xmm0, %xmm0
jmp 0xb0ea8
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 0xb0f17
sqrtsd %xmm0, %xmm0
jmp 0xb0f28
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 0x4032b(%rip), %xmm0    # 0xf1230
xorpd %xmm1, %xmm0
movsd 0x435e7(%rip), %xmm2    # 0xf44f8
ucomisd %xmm1, %xmm2
jae 0xb0ecc
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 0xb0f54
movslq 0x74(%r15), %rcx
movsd -0x8(%rsi,%rcx,8), %xmm0
ucomisd %xmm3, %xmm0
jbe 0xb0f62
movq $0x0, (%rbx)
xorl %eax, %eax
jmp 0xb1263
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 0xb3619
testl %eax, %eax
je 0xb10be
addq $0x96a, %r14            # imm = 0x96A
leaq 0x4044c(%rip), %rsi     # 0xf13f0
leaq 0x71e90(%rip), %rdx     # 0x122e3b
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x4006d(%rip), %rsi     # 0xf1034
leaq 0x70abb(%rip), %rdx     # 0x121a89
movq %r14, %rdi
movl $0xe4a, %ecx            # imm = 0xE4A
jmp 0xb1254
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
leaq 0x40(%rsp), %r8
movq %r14, %rdi
movapd (%rsp), %xmm0
callq 0xb3619
testl %eax, %eax
je 0xb118d
addq $0x96a, %r14            # imm = 0x96A
leaq 0x403db(%rip), %rsi     # 0xf13f0
leaq 0x71ef0(%rip), %rdx     # 0x122f0c
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3fffc(%rip), %rsi     # 0xf1034
leaq 0x70a4a(%rip), %rdx     # 0x121a89
movq %r14, %rdi
movl $0xe75, %ecx            # imm = 0xE75
jmp 0xb1254
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
leaq 0x40(%rsp), %r8
movq %r14, %rdi
movsd 0x20(%rsp), %xmm0
callq 0xb3619
testl %eax, %eax
je 0xb11d1
addq $0x96a, %r14            # imm = 0x96A
leaq 0x40369(%rip), %rsi     # 0xf13f0
leaq 0x71f44(%rip), %rdx     # 0x122fd2
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3ff8a(%rip), %rsi     # 0xf1034
leaq 0x709d8(%rip), %rdx     # 0x121a89
movq %r14, %rdi
movl $0xe95, %ecx            # imm = 0xE95
jmp 0xb1254
movapd 0x10(%rsp), %xmm4
movapd %xmm4, %xmm1
addsd %xmm4, %xmm1
movsd 0x42ef4(%rip), %xmm0    # 0xf3fc8
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xb10e8
sqrtsd %xmm0, %xmm0
jmp 0xb10f3
callq 0x82b0
movapd 0x10(%rsp), %xmm4
movsd 0x4018d(%rip), %xmm2    # 0xf1288
divsd %xmm4, %xmm2
addsd 0x40159(%rip), %xmm2    # 0xf1260
movapd %xmm4, %xmm3
mulsd %xmm4, %xmm3
movsd 0x70201(%rip), %xmm1    # 0x121318
divsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm0, %xmm1
mulsd 0x890(%rsp), %xmm1
movsd %xmm1, (%rbx)
cmpl $0x0, 0xc0(%r15)
je 0xb1270
movsd 0xb8(%r15), %xmm1
mulsd %xmm4, %xmm1
mulsd %xmm4, %xmm1
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
divsd %xmm0, %xmm1
movsd 0x400fc(%rip), %xmm0    # 0xf1260
subsd %xmm1, %xmm0
movsd 0x40118(%rip), %xmm1    # 0xf1288
callq 0x8620
movsd 0x20(%rsp), %xmm1
mulsd (%rsp), %xmm1
divsd %xmm1, %xmm0
mulsd (%rbx), %xmm0
jmp 0xb1367
movapd 0x10(%rsp), %xmm2
movapd %xmm2, %xmm7
addsd %xmm2, %xmm7
movsd 0x414dd(%rip), %xmm1    # 0xf2680
addsd %xmm7, %xmm1
movsd 0x42e19(%rip), %xmm3    # 0xf3fc8
movapd %xmm3, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0xb1285
xorps %xmm4, %xmm4
sqrtsd %xmm0, %xmm4
jmp 0xb12aa
movq 0x90(%r15), %rsi
movq 0x88(%r15), %rdx
movl 0x74(%r15), %ecx
movsd 0x40ae5(%rip), %xmm0    # 0xf1cd0
addsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
divsd (%rsp), %xmm0
leaq 0x890(%rsp), %r8
movq %r14, %rdi
callq 0xb3619
testl %eax, %eax
je 0xb1370
addq $0x96a, %r14            # imm = 0x96A
leaq 0x401ce(%rip), %rsi     # 0xf13f0
leaq 0x71e0c(%rip), %rdx     # 0x123035
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x3fdef(%rip), %rsi     # 0xf1034
leaq 0x7083d(%rip), %rdx     # 0x121a89
movq %r14, %rdi
movl $0xe9e, %ecx            # imm = 0xE9E
movq %rbx, %r8
xorl %eax, %eax
callq 0x30c2c
movl $0x1, %eax
addq $0x1090, %rsp           # imm = 0x1090
popq %rbx
popq %r14
popq %r15
retq
addsd 0x40a58(%rip), %xmm4    # 0xf1cd0
divsd %xmm4, %xmm1
movsd %xmm1, (%rbx)
jmp 0xb0f5b
movapd %xmm7, (%rsp)
callq 0x82b0
xorpd %xmm1, %xmm1
movapd (%rsp), %xmm7
movsd 0x42d28(%rip), %xmm3    # 0xf3fc8
movapd 0x10(%rsp), %xmm2
movapd %xmm0, %xmm4
xorpd 0x3ff7e(%rip), %xmm4    # 0xf1230
movsd 0x3ffa6(%rip), %xmm6    # 0xf1260
movapd %xmm2, %xmm5
addsd %xmm6, %xmm5
addsd %xmm7, %xmm6
addsd 0x4051a(%rip), %xmm7    # 0xf17e8
movsd 0x48(%rsp), %xmm8
divsd %xmm7, %xmm3
ucomisd %xmm1, %xmm3
jb 0xb12e8
xorps %xmm0, %xmm0
sqrtsd %xmm3, %xmm0
jmp 0xb1327
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 0xb0f5b
movapd 0x10(%rsp), %xmm2
movapd %xmm2, %xmm6
addsd %xmm2, %xmm6
movsd 0x3feea(%rip), %xmm1    # 0xf1270
addsd %xmm6, %xmm1
movsd 0x42c36(%rip), %xmm5    # 0xf3fc8
movapd %xmm5, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm3, %xmm3
ucomisd %xmm3, %xmm0
movapd %xmm6, 0x70(%rsp)
jb 0xb13b0
sqrtsd %xmm0, %xmm0
jmp 0xb13cd
callq 0x82b0
xorpd %xmm3, %xmm3
movapd 0x70(%rsp), %xmm6
movsd 0x42c01(%rip), %xmm5    # 0xf3fc8
movapd 0x10(%rsp), %xmm2
movsd 0x30(%rsp), %xmm1
mulsd 0x48(%rsp), %xmm0
divsd %xmm1, %xmm0
mulsd %xmm2, %xmm0
movsd 0x40917(%rip), %xmm4    # 0xf1d00
addsd %xmm2, %xmm4
mulsd %xmm0, %xmm4
movsd 0x3fe67(%rip), %xmm7    # 0xf1260
addsd %xmm6, %xmm7
divsd %xmm7, %xmm4
movapd %xmm2, %xmm9
movapd %xmm6, %xmm8
unpcklpd %xmm6, %xmm8            # xmm8 = xmm8[0],xmm6[0]
addpd 0x6ff57(%rip), %xmm8    # 0x121370
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 0xb144d
sqrtsd %xmm0, %xmm0
jmp 0xb1491
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 0x42b42(%rip), %xmm5    # 0xf3fc8
movsd (%rsp), %xmm4
movapd 0x10(%rsp), %xmm2
movsd 0x20(%rsp), %xmm3
movsd 0x3fdc1(%rip), %xmm1    # 0xf1260
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 0x42f8f(%rip), %xmm6    # 0xf4470
divsd %xmm6, %xmm5
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm5
jb 0xb14f8
xorps %xmm0, %xmm0
sqrtsd %xmm5, %xmm0
jmp 0xb151e
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 0x402ae(%rip), %xmm2    # 0xf17e8
mulsd %xmm0, %xmm2
divsd %xmm7, %xmm2
divsd %xmm8, %xmm2
addsd %xmm2, %xmm4
movsd %xmm4, (%rbx)
jmp 0xb0f5b