// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_prepare_pk_eq
int input_prepare_pk_eq(struct precision * ppr,
                        struct background *pba,
                        struct thermodynamics *pth,
                        struct fourier *pfo,
                        int input_verbose,
                        ErrorMsg errmsg) {

  /** Summary: */

  /** Define local variables */
  double tau_of_z;
  double delta_tau;
  double error;
  double delta_tau_eq;
  double * pvecback;
  int last_index=0;
  int index_pk_eq_z;
  int index_eq;
  int true_background_verbose;
  int true_thermodynamics_verbose;
  int true_hyrec_verbose;
  double true_w0_fld;
  double true_wa_fld;
  double * z;

  /** Store the true cosmological parameters (w0, wa) somwhere before using temporarily some fake ones in this function */
  true_background_verbose = pba->background_verbose;
  true_thermodynamics_verbose = pth->thermodynamics_verbose;
  true_hyrec_verbose = pth->hyrec_verbose;
  true_w0_fld = pba->w0_fld;
  true_wa_fld = pba->wa_fld;

  /** The fake calls of the background and thermodynamics module will be done in non-verbose mode */
  pba->background_verbose = 0;
  pth->thermodynamics_verbose = 0;
  pth->hyrec_verbose = 0;

  /** Allocate indices and arrays for storing the results */
  pfo->pk_eq_tau_size = ppr->pk_eq_Nzlog;
  class_alloc(pfo->pk_eq_tau,
              pfo->pk_eq_tau_size*sizeof(double),
              errmsg);
  class_alloc(z,
              pfo->pk_eq_tau_size*sizeof(double),
              errmsg);

  index_eq = 0;
  class_define_index(pfo->index_pk_eq_w,_TRUE_,index_eq,1);
  class_define_index(pfo->index_pk_eq_Omega_m,_TRUE_,index_eq,1);
  pfo->pk_eq_size = index_eq;
  class_alloc(pfo->pk_eq_w_and_Omega,
              pfo->pk_eq_tau_size*pfo->pk_eq_size*sizeof(double),
              errmsg);
  class_alloc(pfo->pk_eq_ddw_and_ddOmega,
              pfo->pk_eq_tau_size*pfo->pk_eq_size*sizeof(double),
              errmsg);

  /** Call the background module in order to fill a table of tau_i[z_i] */
  class_call(background_init(ppr,pba), pba->error_message, errmsg);
  for (index_pk_eq_z=0; index_pk_eq_z<pfo->pk_eq_tau_size; index_pk_eq_z++) {
    z[index_pk_eq_z] = exp(log(1.+ppr->pk_eq_z_max)/(pfo->pk_eq_tau_size-1)*index_pk_eq_z)-1.;
    class_call(background_tau_of_z(pba,
                                   z[index_pk_eq_z],
                                   &tau_of_z),
               pba->error_message,
               errmsg);
    pfo->pk_eq_tau[index_pk_eq_z] = tau_of_z;
  }
  class_call(background_free_noinput(pba),
             pba->error_message,
             errmsg);

  /** Loop over z_i values. For each of them, we will call the
      background and thermodynamics module for fake models. The goal is
      to find, for each z_i, and effective w0_eff[z_i] and
      Omega_m_eff{z_i], such that: the true model with (w0,wa) and the
      equivalent model with (w0_eff[z_i],0) have the same conformal
      distance between z_i and z_recombination, namely chi = tau[z_i] -
      tau_rec. It is thus necessary to call both the background and
      thermodynamics module for each fake model and to re-compute
      tau_rec for each of them. Once the eqauivalent model is found we
      compute and store Omega_m_effa(z_i) of the equivalent model */
  for (index_pk_eq_z=0; index_pk_eq_z<pfo->pk_eq_tau_size; index_pk_eq_z++) {

    if (input_verbose > 2)
      printf("    * computing Pk_equal parameters at z=%e\n",z[index_pk_eq_z]);
    /* get chi = (tau[z_i] - tau_rec) in true model */
    pba->w0_fld = true_w0_fld;
    pba->wa_fld = true_wa_fld;
    class_call(background_init(ppr,pba),
               pba->error_message,
               errmsg);
    class_call(thermodynamics_init(ppr,pba,pth),
               pth->error_message,
               errmsg);
    delta_tau = pfo->pk_eq_tau[index_pk_eq_z] - pth->tau_rec;
    /* launch iterations in order to coverge to effective model with wa=0 but the same chi = (tau[z_i] - tau_rec) */
    pba->wa_fld=0.;

    do {
      class_call(background_free_noinput(pba),
                 pba->error_message,
                 errmsg);
      class_call(thermodynamics_free(pth),
                 pth->error_message,
                 errmsg);

      class_call(background_init(ppr,pba),
                 pba->error_message,
                 errmsg);
      class_call(background_tau_of_z(pba,
                                     z[index_pk_eq_z],
                                     &tau_of_z),
                 pba->error_message,
                 errmsg);
      class_call(thermodynamics_init(ppr,pba,pth),
                 pth->error_message,
                 errmsg);

      delta_tau_eq = tau_of_z - pth->tau_rec;

      error = 1.-delta_tau_eq/delta_tau;
      pba->w0_fld = pba->w0_fld*pow(1.+error,10.);

    }
    while(fabs(error) > ppr->pk_eq_tol);

    /* Equivalent model found. Store w0(z) in that model. Find Omega_m(z) in that model and store it. */
    pfo->pk_eq_w_and_Omega[pfo->pk_eq_size*index_pk_eq_z+pfo->index_pk_eq_w] = pba->w0_fld;
    class_alloc(pvecback,
                pba->bg_size*sizeof(double),
                pba->error_message);
    class_call(background_at_tau(pba,
                                 tau_of_z,
                                 long_info,
                                 inter_normal,
                                 &last_index,
                                 pvecback),
               pba->error_message, errmsg);
    pfo->pk_eq_w_and_Omega[pfo->pk_eq_size*index_pk_eq_z+pfo->index_pk_eq_Omega_m] = pvecback[pba->index_bg_Omega_m];
    free(pvecback);

    class_call(background_free_noinput(pba),
               pba->error_message,
               errmsg);
    class_call(thermodynamics_free(pth),
               pth->error_message,
               errmsg);
  }

  /** Restore cosmological parameters (w0, wa) to their true values before main call to CLASS modules */
  pba->background_verbose = true_background_verbose;
  pth->thermodynamics_verbose = true_thermodynamics_verbose;
  pth->hyrec_verbose = true_hyrec_verbose;

  pba->w0_fld = true_w0_fld;
  pba->wa_fld = true_wa_fld;

  /* in verbose mode, report the results */

  if (input_verbose > 1) {
    fprintf(stdout,"    Effective parameters for Pk_equal:\n");

    for (index_pk_eq_z=0; index_pk_eq_z<pfo->pk_eq_tau_size; index_pk_eq_z++) {
      fprintf(stdout,"    * at z=%e, tau=%e w=%e Omega_m=%e\n",
              z[index_pk_eq_z],
              pfo->pk_eq_tau[index_pk_eq_z],
              pfo->pk_eq_w_and_Omega[pfo->pk_eq_size*index_pk_eq_z+pfo->index_pk_eq_w],
              pfo->pk_eq_w_and_Omega[pfo->pk_eq_size*index_pk_eq_z+pfo->index_pk_eq_Omega_m]);
    }
  }
  free(z);

  /** Spline the table for later interpolation */
  class_call(array_spline_table_lines(pfo->pk_eq_tau,
                                      pfo->pk_eq_tau_size,
                                      pfo->pk_eq_w_and_Omega,
                                      pfo->pk_eq_size,
                                      pfo->pk_eq_ddw_and_ddOmega,
                                      _SPLINE_NATURAL_,
                                      errmsg),
             errmsg,
             errmsg);

  return _SUCCESS_;

}

// Assembly:
subq $0x98e8, %rsp           # imm = 0x98E8
movq %rdi, 0x98d8(%rsp)
movq %rsi, 0x98d0(%rsp)
movq %rdx, 0x98c8(%rsp)
movq %rcx, 0x98c0(%rsp)
movl %r8d, 0x98bc(%rsp)
movq %r9, 0x98b0(%rsp)
movl $0x0, 0x9884(%rsp)
movq 0x98d0(%rsp), %rax
movswl 0xd1a(%rax), %eax
movl %eax, 0x9878(%rsp)
movq 0x98c8(%rsp), %rax
movswl 0x1060(%rax), %eax
movl %eax, 0x9874(%rsp)
movq 0x98c8(%rsp), %rax
movswl 0x1062(%rax), %eax
movl %eax, 0x9870(%rsp)
movq 0x98d0(%rsp), %rax
movsd 0x48(%rax), %xmm0
movsd %xmm0, 0x9868(%rsp)
movq 0x98d0(%rsp), %rax
movsd 0x50(%rax), %xmm0
movsd %xmm0, 0x9860(%rsp)
movq 0x98d0(%rsp), %rax
movw $0x0, 0xd1a(%rax)
movq 0x98c8(%rsp), %rax
movw $0x0, 0x1060(%rax)
movq 0x98c8(%rsp), %rax
movw $0x0, 0x1062(%rax)
movq 0x98d8(%rsp), %rax
movl 0x878(%rax), %ecx
movq 0x98c0(%rsp), %rax
movl %ecx, 0x170(%rax)
movq 0x98c0(%rsp), %rax
movslq 0x170(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x98c0(%rsp), %rax
movq %rcx, 0x178(%rax)
movq 0x98c0(%rsp), %rax
cmpq $0x0, 0x178(%rax)
jne 0x6d473
movq 0x98c0(%rsp), %rax
movslq 0x170(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x9854(%rsp)
leaq 0x9050(%rsp), %rdi
movl 0x9854(%rsp), %ecx
leaq 0x164bd9(%rip), %rsi    # 0x1d2004
leaq 0x17a685(%rip), %rdx    # 0x1e7ab7
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x9050(%rsp), %r8
leaq 0x164be4(%rip), %rsi    # 0x1d2034
leaq 0x17a66f(%rip), %rdx    # 0x1e7ac6
movl $0x1639, %ecx           # imm = 0x1639
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98c0(%rsp), %rax
movslq 0x170(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x9858(%rsp)
cmpq $0x0, 0x9858(%rsp)
jne 0x6d516
movq 0x98c0(%rsp), %rax
movslq 0x170(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x904c(%rsp)
leaq 0x8840(%rsp), %rdi
movl 0x904c(%rsp), %ecx
leaq 0x164b36(%rip), %rsi    # 0x1d2004
leaq 0x19f166(%rip), %rdx    # 0x20c63b
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x8840(%rsp), %r8
leaq 0x164b41(%rip), %rsi    # 0x1d2034
leaq 0x17a5cc(%rip), %rdx    # 0x1e7ac6
movl $0x163c, %ecx           # imm = 0x163C
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movl $0x0, 0x987c(%rsp)
movl 0x987c(%rsp), %ecx
movq 0x98c0(%rsp), %rax
movl %ecx, 0x164(%rax)
movl 0x987c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x987c(%rsp)
movl 0x987c(%rsp), %ecx
movq 0x98c0(%rsp), %rax
movl %ecx, 0x168(%rax)
movl 0x987c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x987c(%rsp)
movl 0x987c(%rsp), %ecx
movq 0x98c0(%rsp), %rax
movl %ecx, 0x16c(%rax)
movq 0x98c0(%rsp), %rax
movl 0x170(%rax), %eax
movq 0x98c0(%rsp), %rcx
imull 0x16c(%rcx), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x98c0(%rsp), %rax
movq %rcx, 0x180(%rax)
movq 0x98c0(%rsp), %rax
cmpq $0x0, 0x180(%rax)
jne 0x6d65b
movq 0x98c0(%rsp), %rax
movl 0x170(%rax), %eax
movq 0x98c0(%rsp), %rcx
imull 0x16c(%rcx), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x883c(%rsp)
leaq 0x8030(%rsp), %rdi
movl 0x883c(%rsp), %ecx
leaq 0x1649f1(%rip), %rsi    # 0x1d2004
leaq 0x17a4c0(%rip), %rdx    # 0x1e7ada
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x8030(%rsp), %r8
leaq 0x1649fc(%rip), %rsi    # 0x1d2034
leaq 0x17a487(%rip), %rdx    # 0x1e7ac6
movl $0x1644, %ecx           # imm = 0x1644
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98c0(%rsp), %rax
movl 0x170(%rax), %eax
movq 0x98c0(%rsp), %rcx
imull 0x16c(%rcx), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x98c0(%rsp), %rax
movq %rcx, 0x188(%rax)
movq 0x98c0(%rsp), %rax
cmpq $0x0, 0x188(%rax)
jne 0x6d734
movq 0x98c0(%rsp), %rax
movl 0x170(%rax), %eax
movq 0x98c0(%rsp), %rcx
imull 0x16c(%rcx), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x802c(%rsp)
leaq 0x7820(%rsp), %rdi
movl 0x802c(%rsp), %ecx
leaq 0x164918(%rip), %rsi    # 0x1d2004
leaq 0x17a3fe(%rip), %rdx    # 0x1e7af1
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x7820(%rsp), %r8
leaq 0x164923(%rip), %rsi    # 0x1d2034
leaq 0x17a3ae(%rip), %rdx    # 0x1e7ac6
movl $0x1647, %ecx           # imm = 0x1647
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98d8(%rsp), %rdi
movq 0x98d0(%rsp), %rsi
callq 0xa2940
cmpl $0x1, %eax
jne 0x6d7b4
leaq 0x7020(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x164c6c(%rip), %rsi    # 0x1d23d8
leaq 0x17a399(%rip), %rdx    # 0x1e7b0c
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x7020(%rsp), %r8
leaq 0x1648a3(%rip), %rsi    # 0x1d2034
leaq 0x17a32e(%rip), %rdx    # 0x1e7ac6
movl $0x164a, %ecx           # imm = 0x164A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movl $0x0, 0x9880(%rsp)
movl 0x9880(%rsp), %eax
movq 0x98c0(%rsp), %rcx
cmpl 0x170(%rcx), %eax
jge 0x6d913
movq 0x98d8(%rsp), %rax
movsd 0x164a5e(%rip), %xmm0   # 0x1d2248
addsd 0x870(%rax), %xmm0
callq 0x82f0
movq 0x98c0(%rsp), %rax
movl 0x170(%rax), %eax
subl $0x1, %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
cvtsi2sdl 0x9880(%rsp), %xmm1
mulsd %xmm1, %xmm0
callq 0x8670
movsd 0x164a1e(%rip), %xmm1   # 0x1d2248
subsd %xmm1, %xmm0
movq 0x9858(%rsp), %rax
movslq 0x9880(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x98d0(%rsp), %rdi
movq 0x9858(%rsp), %rax
movslq 0x9880(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x98a8(%rsp), %rsi
callq 0x9ee00
cmpl $0x1, %eax
jne 0x6d8d8
leaq 0x6820(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x164b48(%rip), %rsi    # 0x1d23d8
leaq 0x17a28e(%rip), %rdx    # 0x1e7b25
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x6820(%rsp), %r8
leaq 0x16477f(%rip), %rsi    # 0x1d2034
leaq 0x17a20a(%rip), %rdx    # 0x1e7ac6
movl $0x1651, %ecx           # imm = 0x1651
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movsd 0x98a8(%rsp), %xmm0
movq 0x98c0(%rsp), %rax
movq 0x178(%rax), %rax
movslq 0x9880(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x9880(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9880(%rsp)
jmp 0x6d7bf
movq 0x98d0(%rsp), %rdi
callq 0xa8ff0
cmpl $0x1, %eax
jne 0x6d98b
leaq 0x6020(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x164a95(%rip), %rsi    # 0x1d23d8
leaq 0x17a211(%rip), %rdx    # 0x1e7b5b
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x6020(%rsp), %r8
leaq 0x1646cc(%rip), %rsi    # 0x1d2034
leaq 0x17a157(%rip), %rdx    # 0x1e7ac6
movl $0x1656, %ecx           # imm = 0x1656
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movl $0x0, 0x9880(%rsp)
movl 0x9880(%rsp), %eax
movq 0x98c0(%rsp), %rcx
cmpl 0x170(%rcx), %eax
jge 0x6e198
cmpl $0x2, 0x98bc(%rsp)
jle 0x6d9de
movq 0x9858(%rsp), %rax
movslq 0x9880(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x17a1a1(%rip), %rdi    # 0x1e7b78
movb $0x1, %al
callq 0x8030
movsd 0x9868(%rsp), %xmm0
movq 0x98d0(%rsp), %rax
movsd %xmm0, 0x48(%rax)
movsd 0x9860(%rsp), %xmm0
movq 0x98d0(%rsp), %rax
movsd %xmm0, 0x50(%rax)
movq 0x98d8(%rsp), %rdi
movq 0x98d0(%rsp), %rsi
callq 0xa2940
cmpl $0x1, %eax
jne 0x6da8a
leaq 0x5820(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x164996(%rip), %rsi    # 0x1d23d8
leaq 0x17a0c3(%rip), %rdx    # 0x1e7b0c
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x5820(%rsp), %r8
leaq 0x1645cd(%rip), %rsi    # 0x1d2034
leaq 0x17a058(%rip), %rdx    # 0x1e7ac6
movl $0x166b, %ecx           # imm = 0x166B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98d8(%rsp), %rdi
movq 0x98d0(%rsp), %rsi
movq 0x98c8(%rsp), %rdx
callq 0xb2880
cmpl $0x1, %eax
jne 0x6db12
leaq 0x5020(%rsp), %rdi
movq 0x98c8(%rsp), %rcx
addq $0x1064, %rcx           # imm = 0x1064
leaq 0x16490e(%rip), %rsi    # 0x1d23d8
leaq 0x17a0d4(%rip), %rdx    # 0x1e7ba5
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x5020(%rsp), %r8
leaq 0x164545(%rip), %rsi    # 0x1d2034
leaq 0x179fd0(%rip), %rdx    # 0x1e7ac6
movl $0x166e, %ecx           # imm = 0x166E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98c0(%rsp), %rax
movq 0x178(%rax), %rax
movslq 0x9880(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x98c8(%rsp), %rax
subsd 0xf38(%rax), %xmm0
movsd %xmm0, 0x98a0(%rsp)
movq 0x98d0(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x50(%rax)
movq 0x98d0(%rsp), %rdi
callq 0xa8ff0
cmpl $0x1, %eax
jne 0x6dbcf
leaq 0x4820(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x164851(%rip), %rsi    # 0x1d23d8
leaq 0x179fcd(%rip), %rdx    # 0x1e7b5b
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x4820(%rsp), %r8
leaq 0x164488(%rip), %rsi    # 0x1d2034
leaq 0x179f13(%rip), %rdx    # 0x1e7ac6
movl $0x1676, %ecx           # imm = 0x1676
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98c8(%rsp), %rdi
callq 0xbab10
cmpl $0x1, %eax
jne 0x6dc47
leaq 0x4020(%rsp), %rdi
movq 0x98c8(%rsp), %rcx
addq $0x1064, %rcx           # imm = 0x1064
leaq 0x1647d9(%rip), %rsi    # 0x1d23d8
leaq 0x179fc0(%rip), %rdx    # 0x1e7bc6
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x4020(%rsp), %r8
leaq 0x164410(%rip), %rsi    # 0x1d2034
leaq 0x179e9b(%rip), %rdx    # 0x1e7ac6
movl $0x1679, %ecx           # imm = 0x1679
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98d8(%rsp), %rdi
movq 0x98d0(%rsp), %rsi
callq 0xa2940
cmpl $0x1, %eax
jne 0x6dcc7
leaq 0x3820(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x164759(%rip), %rsi    # 0x1d23d8
leaq 0x179e86(%rip), %rdx    # 0x1e7b0c
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x3820(%rsp), %r8
leaq 0x164390(%rip), %rsi    # 0x1d2034
leaq 0x179e1b(%rip), %rdx    # 0x1e7ac6
movl $0x167d, %ecx           # imm = 0x167D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98d0(%rsp), %rdi
movq 0x9858(%rsp), %rax
movslq 0x9880(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x98a8(%rsp), %rsi
callq 0x9ee00
cmpl $0x1, %eax
jne 0x6dd5c
leaq 0x3020(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x1646c4(%rip), %rsi    # 0x1d23d8
leaq 0x179e0a(%rip), %rdx    # 0x1e7b25
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x3020(%rsp), %r8
leaq 0x1642fb(%rip), %rsi    # 0x1d2034
leaq 0x179d86(%rip), %rdx    # 0x1e7ac6
movl $0x1682, %ecx           # imm = 0x1682
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98d8(%rsp), %rdi
movq 0x98d0(%rsp), %rsi
movq 0x98c8(%rsp), %rdx
callq 0xb2880
cmpl $0x1, %eax
jne 0x6dde4
leaq 0x2820(%rsp), %rdi
movq 0x98c8(%rsp), %rcx
addq $0x1064, %rcx           # imm = 0x1064
leaq 0x16463c(%rip), %rsi    # 0x1d23d8
leaq 0x179e02(%rip), %rdx    # 0x1e7ba5
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x2820(%rsp), %r8
leaq 0x164273(%rip), %rsi    # 0x1d2034
leaq 0x179cfe(%rip), %rdx    # 0x1e7ac6
movl $0x1685, %ecx           # imm = 0x1685
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movsd 0x98a8(%rsp), %xmm0
movq 0x98c8(%rsp), %rax
subsd 0xf38(%rax), %xmm0
movsd %xmm0, 0x9890(%rsp)
movsd 0x9890(%rsp), %xmm1
divsd 0x98a0(%rsp), %xmm1
movsd 0x164428(%rip), %xmm0   # 0x1d2248
subsd %xmm1, %xmm0
movsd %xmm0, 0x9898(%rsp)
movq 0x98d0(%rsp), %rax
movsd 0x48(%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x164400(%rip), %xmm0   # 0x1d2248
addsd 0x9898(%rsp), %xmm0
movsd 0x164987(%rip), %xmm1   # 0x1d27e0
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x98d0(%rsp), %rax
movsd %xmm0, 0x48(%rax)
movsd 0x9898(%rsp), %xmm0
movaps 0x1643a8(%rip), %xmm1   # 0x1d2230
pand %xmm1, %xmm0
movq 0x98d8(%rsp), %rax
ucomisd 0x880(%rax), %xmm0
ja 0x6db57
movq 0x98d0(%rsp), %rax
movsd 0x48(%rax), %xmm0
movq 0x98c0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x98c0(%rsp), %rcx
movl 0x16c(%rcx), %ecx
imull 0x9880(%rsp), %ecx
movq 0x98c0(%rsp), %rdx
addl 0x164(%rdx), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x98d0(%rsp), %rax
movslq 0x43c(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x9888(%rsp)
cmpq $0x0, 0x9888(%rsp)
jne 0x6df94
movq 0x98d0(%rsp), %rax
movslq 0x43c(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x281c(%rsp)
leaq 0x2010(%rsp), %rdi
movl 0x281c(%rsp), %ecx
leaq 0x1640bf(%rip), %rsi    # 0x1d2004
leaq 0x18b32b(%rip), %rdx    # 0x1f9277
movb $0x0, %al
callq 0x5b9c0
movq 0x98d0(%rsp), %rdi
addq $0xd1c, %rdi            # imm = 0xD1C
leaq 0x2010(%rsp), %r8
leaq 0x1640c3(%rip), %rsi    # 0x1d2034
leaq 0x179b4e(%rip), %rdx    # 0x1e7ac6
movl $0x1693, %ecx           # imm = 0x1693
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98d0(%rsp), %rdi
movsd 0x98a8(%rsp), %xmm0
movq 0x9888(%rsp), %r8
movl $0x2, %esi
xorl %edx, %edx
leaq 0x9884(%rsp), %rcx
callq 0x9e9b0
cmpl $0x1, %eax
jne 0x6e02c
leaq 0x1810(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x1643f4(%rip), %rsi    # 0x1d23d8
leaq 0x179bf4(%rip), %rdx    # 0x1e7bdf
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x1810(%rsp), %r8
leaq 0x16402b(%rip), %rsi    # 0x1d2034
leaq 0x179ab6(%rip), %rdx    # 0x1e7ac6
movl $0x169a, %ecx           # imm = 0x169A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x9888(%rsp), %rax
movq 0x98d0(%rsp), %rcx
movslq 0x40c(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x98c0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x98c0(%rsp), %rcx
movl 0x16c(%rcx), %ecx
imull 0x9880(%rsp), %ecx
movq 0x98c0(%rsp), %rdx
addl 0x168(%rdx), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x9888(%rsp), %rdi
callq 0x8420
movq 0x98d0(%rsp), %rdi
callq 0xa8ff0
cmpl $0x1, %eax
jne 0x6e108
leaq 0x1010(%rsp), %rdi
movq 0x98d0(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x164318(%rip), %rsi    # 0x1d23d8
leaq 0x179a94(%rip), %rdx    # 0x1e7b5b
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x1010(%rsp), %r8
leaq 0x163f4f(%rip), %rsi    # 0x1d2034
leaq 0x1799da(%rip), %rdx    # 0x1e7ac6
movl $0x16a0, %ecx           # imm = 0x16A0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movq 0x98c8(%rsp), %rdi
callq 0xbab10
cmpl $0x1, %eax
jne 0x6e180
leaq 0x810(%rsp), %rdi
movq 0x98c8(%rsp), %rcx
addq $0x1064, %rcx           # imm = 0x1064
leaq 0x1642a0(%rip), %rsi    # 0x1d23d8
leaq 0x179a87(%rip), %rdx    # 0x1e7bc6
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x810(%rsp), %r8
leaq 0x163ed7(%rip), %rsi    # 0x1d2034
leaq 0x179962(%rip), %rdx    # 0x1e7ac6
movl $0x16a3, %ecx           # imm = 0x16A3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
jmp 0x6e182
movl 0x9880(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9880(%rsp)
jmp 0x6d996
movl 0x9878(%rsp), %eax
movw %ax, %cx
movq 0x98d0(%rsp), %rax
movw %cx, 0xd1a(%rax)
movl 0x9874(%rsp), %eax
movw %ax, %cx
movq 0x98c8(%rsp), %rax
movw %cx, 0x1060(%rax)
movl 0x9870(%rsp), %eax
movw %ax, %cx
movq 0x98c8(%rsp), %rax
movw %cx, 0x1062(%rax)
movsd 0x9868(%rsp), %xmm0
movq 0x98d0(%rsp), %rax
movsd %xmm0, 0x48(%rax)
movsd 0x9860(%rsp), %xmm0
movq 0x98d0(%rsp), %rax
movsd %xmm0, 0x50(%rax)
cmpl $0x1, 0x98bc(%rsp)
jle 0x6e332
movq 0x1d5d6c(%rip), %rax    # 0x243f90
movq (%rax), %rdi
leaq 0x179a02(%rip), %rsi    # 0x1e7c30
movb $0x0, %al
callq 0x84e0
movl $0x0, 0x9880(%rsp)
movl 0x9880(%rsp), %eax
movq 0x98c0(%rsp), %rcx
cmpl 0x170(%rcx), %eax
jge 0x6e330
movq 0x1d5d2e(%rip), %rax    # 0x243f90
movq (%rax), %rdi
movq 0x9858(%rsp), %rax
movslq 0x9880(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x98c0(%rsp), %rax
movq 0x178(%rax), %rax
movslq 0x9880(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x98c0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x98c0(%rsp), %rcx
movl 0x16c(%rcx), %ecx
imull 0x9880(%rsp), %ecx
movq 0x98c0(%rsp), %rdx
addl 0x164(%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm2
movq 0x98c0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x98c0(%rsp), %rcx
movl 0x16c(%rcx), %ecx
imull 0x9880(%rsp), %ecx
movq 0x98c0(%rsp), %rdx
addl 0x168(%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm3
leaq 0x179945(%rip), %rsi    # 0x1e7c58
movb $0x4, %al
callq 0x84e0
movl 0x9880(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9880(%rsp)
jmp 0x6e240
jmp 0x6e332
movq 0x9858(%rsp), %rdi
callq 0x8420
movq 0x98c0(%rsp), %rax
movq 0x178(%rax), %rdi
movq 0x98c0(%rsp), %rax
movl 0x170(%rax), %esi
movq 0x98c0(%rsp), %rax
movq 0x180(%rax), %rdx
movq 0x98c0(%rsp), %rax
movl 0x16c(%rax), %ecx
movq 0x98c0(%rsp), %rax
movq 0x188(%rax), %r8
movq 0x98b0(%rsp), %rax
xorl %r9d, %r9d
movq %rax, (%rsp)
callq 0x1cf90
cmpl $0x1, %eax
jne 0x6e3f7
leaq 0x10(%rsp), %rdi
movq 0x98b0(%rsp), %rcx
leaq 0x164023(%rip), %rsi    # 0x1d23d8
leaq 0x1798c3(%rip), %rdx    # 0x1e7c7f
movb $0x0, %al
callq 0x5b9c0
movq 0x98b0(%rsp), %rdi
leaq 0x10(%rsp), %r8
leaq 0x163c5d(%rip), %rsi    # 0x1d2034
leaq 0x1796e8(%rip), %rdx    # 0x1e7ac6
movl $0x16c6, %ecx           # imm = 0x16C6
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x98e4(%rsp)
jmp 0x6e402
movl $0x0, 0x98e4(%rsp)
movl 0x98e4(%rsp), %eax
addq $0x98e8, %rsp           # imm = 0x98E8
retq
nopw %cs:(%rax,%rax)