// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_read_parameters_distortions
int input_read_parameters_distortions(struct file_content * pfc,
                                      struct precision * ppr,
                                      struct distortions * psd,
                                      ErrorMsg errmsg){

  /** Summary: */

  /** Define local variables */
  int flag1, flag2;
  char string1[_ARGUMENT_LENGTH_MAX_];
  double param1, param2;
  double updated_nu_max;

  /** 1) Branching ratio approximation */
  /* Read */
  class_call(parser_read_string(pfc,"sd_branching_approx",&string1,&flag1,errmsg),
             errmsg,
             errmsg);
  /* Complete set of parameters */

  if (flag1 == _TRUE_){
    if ( (strstr(string1,"sharp_sharp") != NULL) || (strstr(string1,"sharp sharp") != NULL) ) {
      psd->sd_branching_approx = bra_sharp_sharp;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"sharp_soft") != NULL) || (strstr(string1,"sharp soft") != NULL) ) {
      psd->sd_branching_approx = bra_sharp_soft;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"soft_soft") != NULL) || (strstr(string1,"soft soft") != NULL) ) {
      psd->sd_branching_approx = bra_soft_soft;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"soft_soft_cons") != NULL) || (strstr(string1,"soft soft cons") != NULL) ) {
      psd->sd_branching_approx = bra_soft_soft_cons;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"exact") != NULL) ) {
      psd->sd_branching_approx = bra_exact;
    }
    else{
      class_stop(errmsg,"You specified 'branching_approx' as '%s'. It has to be one of {'sharp_sharp','sharp_soft','soft_soft','soft_soft_cons','exact'}.",string1);
    }
  }

  /* Only read these if 'bra_exact' has been set (could also be set from default) */
  if (psd->sd_branching_approx == bra_exact){

    /** 1.a.1) Number of multipoles in PCA expansion */
    /* Read */
    class_read_int("sd_PCA_size",psd->sd_PCA_size);
    /* Test */
    if (psd->sd_PCA_size < 0 || psd->sd_PCA_size > 6){
      psd->sd_PCA_size = 6;
    }

    /** 1.a.2) Detector name */
    /* Read */
    class_call(parser_read_string(pfc,"sd_detector_name",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      strcpy(psd->sd_detector_name,string1);
      psd->has_user_defined_name = _TRUE_;
    }

    /** 1.a.3) Detector specifics */
    /** 1.a.3.1) From file */
    /* Read */
    class_call(parser_read_string(pfc,"sd_detector_file",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      strcpy(psd->sd_detector_file_name,string1);
      psd->has_detector_file = _TRUE_;
    }

    /** 1.a.3.2) User defined */
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_nu_min",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_nu_min = param1;
      psd->has_user_defined_detector = _TRUE_;
    }
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_nu_max",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_nu_max = param1;
      psd->has_user_defined_detector = _TRUE_;
    }
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_nu_delta",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    class_call(parser_read_double(pfc,"sd_detector_bin_number",&param2,&flag2,errmsg),
               errmsg,
               errmsg);
    /* Test */
    class_test((flag1 == _TRUE_) && (flag2 == _TRUE_),
               errmsg,
               "You can only enter one of 'sd_detector_nu_delta' or 'sd_detector_bin_number'.",
               psd->sd_detector_nu_delta,psd->sd_detector_bin_number);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_nu_delta = param1;
      psd->sd_detector_bin_number = ((int)ceil((psd->sd_detector_nu_max-psd->sd_detector_nu_min)/param1));
      psd->has_user_defined_detector = _TRUE_;
    }
    if (flag2 == _TRUE_){
      psd->sd_detector_nu_delta = (psd->sd_detector_nu_max-psd->sd_detector_nu_min)/param2;
      psd->sd_detector_bin_number = param2;
      psd->has_user_defined_detector = _TRUE_;
    }
    /* Update value of nu_max, given the number of bins */
    updated_nu_max = psd->sd_detector_nu_min+psd->sd_detector_nu_delta*psd->sd_detector_bin_number;
    if (fabs(updated_nu_max-psd->sd_detector_nu_max) > ppr->tol_sd_detector){
      printf(" -> WARNING: The value of 'sd_detector_nu_max' has been updated to %7.3e to accommodate the binning of your detector.\n",updated_nu_max);
      psd->sd_detector_nu_max = updated_nu_max;
    }
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_delta_Ic",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_delta_Ic = 1.0e-26*param1;
      psd->has_user_defined_detector = _TRUE_;
    }
  }

  /* Final tests */
  class_test(psd->sd_branching_approx != bra_exact && psd->sd_PCA_size > 0,
             errmsg,
             "The PCA expansion is possible only for 'branching_approx = exact'");
  class_test(psd->has_detector_file && psd->has_user_defined_detector,
             errmsg,
             "You can only enter the noise file {'%s'} or the specifications {'%s','%s'/'%s','%s'}.",
             "sd_detector_file","sd_detector_nu_min","sd_detector_nu_max",
             "sd_detector_nu_delta","sd_detector_bin_number","sd_detector_delta_Ic");


  /** 2) Only calculate exotic energy injections and no LCDM processes for spectral distortions ? */
  class_read_flag("sd_only_exotic",psd->include_only_exotic);


  /** 3) Include g distortions? */
  class_read_flag("sd_include_g_distortion",psd->include_g_distortion);


  /** 4) Set g-distortions to zero? */
  class_call(parser_read_double(pfc,"sd_add_y",&psd->sd_add_y,&flag1,errmsg),
             errmsg,
             errmsg);
  class_call(parser_read_double(pfc,"sd_add_mu",&psd->sd_add_mu,&flag1,errmsg),
             errmsg,
             errmsg);


  /** 5) Include SZ effect from reionization? */
  class_read_flag("include_SZ_effect",psd->has_SZ_effect);

  if (psd->has_SZ_effect == _TRUE_){
    /** 5.a) Type of calculation */
    /* Read */
    class_call(parser_read_string(pfc,"sd_reio_type",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      if (strcmp(string1,"Nozawa_2005") == 0){
        psd->sd_reio_type = sd_reio_Nozawa;
      }
      else if (strcmp(string1,"Chluba_2012") == 0){
        psd->sd_reio_type = sd_reio_Chluba;
      }
      else {
        class_stop(errmsg,
                   "You specified 'sd_reio_type' as '%s'. It has to be one of {'Nozawa_2005','Chluba_2012'}.",string1);
      }
    }
  }

  return _SUCCESS_;

}

// Assembly:
subq $0x108a8, %rsp          # imm = 0x108A8
movq %rdi, 0x10898(%rsp)
movq %rsi, 0x10890(%rsp)
movq %rdx, 0x10888(%rsp)
movq %rcx, 0x10880(%rsp)
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151d08(%rip), %rsi    # 0x1ebfd6
leaq 0x10470(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x9a347
leaq 0xfc50(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x1380d9(%rip), %rsi    # 0x1d23d8
leaq 0x151ce4(%rip), %rdx    # 0x1ebfea
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xfc50(%rsp), %r8
leaq 0x137d10(%rip), %rsi    # 0x1d2034
leaq 0x151d04(%rip), %rdx    # 0x1ec02f
movl $0x1b1a, %ecx           # imm = 0x1B1A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9a557
leaq 0x10470(%rsp), %rdi
leaq 0x151ced(%rip), %rsi    # 0x1ec051
callq 0x80c0
cmpq $0x0, %rax
jne 0x9a389
leaq 0x10470(%rsp), %rdi
leaq 0x151cdf(%rip), %rsi    # 0x1ec05d
callq 0x80c0
cmpq $0x0, %rax
je 0x9a3ab
movq 0x10888(%rsp), %rax
movl $0x0, (%rax)
movq 0x10888(%rsp), %rax
movl $0x0, 0x4(%rax)
jmp 0x9a555
leaq 0x10470(%rsp), %rdi
leaq 0x151caf(%rip), %rsi    # 0x1ec069
callq 0x80c0
cmpq $0x0, %rax
jne 0x9a3df
leaq 0x10470(%rsp), %rdi
leaq 0x151ca0(%rip), %rsi    # 0x1ec074
callq 0x80c0
cmpq $0x0, %rax
je 0x9a401
movq 0x10888(%rsp), %rax
movl $0x1, (%rax)
movq 0x10888(%rsp), %rax
movl $0x0, 0x4(%rax)
jmp 0x9a553
leaq 0x10470(%rsp), %rdi
leaq 0x151c6f(%rip), %rsi    # 0x1ec07f
callq 0x80c0
cmpq $0x0, %rax
jne 0x9a435
leaq 0x10470(%rsp), %rdi
leaq 0x151c5f(%rip), %rsi    # 0x1ec089
callq 0x80c0
cmpq $0x0, %rax
je 0x9a457
movq 0x10888(%rsp), %rax
movl $0x2, (%rax)
movq 0x10888(%rsp), %rax
movl $0x0, 0x4(%rax)
jmp 0x9a551
leaq 0x10470(%rsp), %rdi
leaq 0x151c2d(%rip), %rsi    # 0x1ec093
callq 0x80c0
cmpq $0x0, %rax
jne 0x9a48b
leaq 0x10470(%rsp), %rdi
leaq 0x151c22(%rip), %rsi    # 0x1ec0a2
callq 0x80c0
cmpq $0x0, %rax
je 0x9a4ad
movq 0x10888(%rsp), %rax
movl $0x3, (%rax)
movq 0x10888(%rsp), %rax
movl $0x0, 0x4(%rax)
jmp 0x9a54f
leaq 0x10470(%rsp), %rdi
leaq 0x171824(%rip), %rsi    # 0x20bce0
callq 0x80c0
cmpq $0x0, %rax
je 0x9a4d7
movq 0x10888(%rsp), %rax
movl $0x4, (%rax)
jmp 0x9a54d
leaq 0xf450(%rsp), %rdi
leaq 0x10470(%rsp), %rdx
leaq 0x151bc3(%rip), %rsi    # 0x1ec0b1
movb $0x0, %al
callq 0x5b9c0
leaq 0xec50(%rsp), %rdi
leaq 0xf450(%rsp), %rdx
leaq 0x138061(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xec50(%rsp), %r8
leaq 0x137b0a(%rip), %rsi    # 0x1d2034
leaq 0x151afe(%rip), %rdx    # 0x1ec02f
movl $0x1b32, %ecx           # imm = 0x1B32
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
jmp 0x9a54f
jmp 0x9a551
jmp 0x9a553
jmp 0x9a555
jmp 0x9a557
movq 0x10888(%rsp), %rax
cmpl $0x4, (%rax)
jne 0x9ad80
jmp 0x9a56a
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151bb1(%rip), %rsi    # 0x1ec132
leaq 0xec4c(%rsp), %rdx
leaq 0xec48(%rsp), %rcx
callq 0x38300
cmpl $0x1, %eax
jne 0x9a5fa
leaq 0xe440(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x137e26(%rip), %rsi    # 0x1d23d8
leaq 0x151b85(%rip), %rdx    # 0x1ec13e
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xe440(%rsp), %r8
leaq 0x137a5d(%rip), %rsi    # 0x1d2034
leaq 0x151a51(%rip), %rdx    # 0x1ec02f
movl $0x1b3b, %ecx           # imm = 0x1B3B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0xec48(%rsp)
jne 0x9a616
movl 0xec4c(%rsp), %ecx
movq 0x10888(%rsp), %rax
movl %ecx, 0x4(%rax)
jmp 0x9a618
movq 0x10888(%rsp), %rax
cmpl $0x0, 0x4(%rax)
jl 0x9a634
movq 0x10888(%rsp), %rax
cmpl $0x6, 0x4(%rax)
jle 0x9a643
movq 0x10888(%rsp), %rax
movl $0x6, 0x4(%rax)
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151b23(%rip), %rsi    # 0x1ec17d
leaq 0x10470(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x9a6d3
leaq 0xdc40(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x137d4d(%rip), %rsi    # 0x1d23d8
leaq 0x151afc(%rip), %rdx    # 0x1ec18e
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xdc40(%rsp), %r8
leaq 0x137984(%rip), %rsi    # 0x1d2034
leaq 0x151978(%rip), %rdx    # 0x1ec02f
movl $0x1b45, %ecx           # imm = 0x1B45
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9a70b
movq 0x10888(%rsp), %rdi
addq $0x26c, %rdi            # imm = 0x26C
leaq 0x10470(%rsp), %rsi
callq 0x8370
movq 0x10888(%rsp), %rax
movl $0x1, 0xcd8(%rax)
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151aae(%rip), %rsi    # 0x1ec1d0
leaq 0x10470(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x9a79b
leaq 0xd440(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x137c85(%rip), %rsi    # 0x1d23d8
leaq 0x151a87(%rip), %rdx    # 0x1ec1e1
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xd440(%rsp), %r8
leaq 0x1378bc(%rip), %rsi    # 0x1d2034
leaq 0x1518b0(%rip), %rdx    # 0x1ec02f
movl $0x1b51, %ecx           # imm = 0x1B51
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9a7d0
movq 0x10888(%rsp), %rdi
addq $0x8, %rdi
leaq 0x10470(%rsp), %rsi
callq 0x8370
movq 0x10888(%rsp), %rax
movl $0x1, 0xcdc(%rax)
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151a3c(%rip), %rsi    # 0x1ec223
leaq 0x10468(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9a860
leaq 0xcc40(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x137bc0(%rip), %rsi    # 0x1d23d8
leaq 0x151a17(%rip), %rdx    # 0x1ec236
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xcc40(%rsp), %r8
leaq 0x1377f7(%rip), %rsi    # 0x1d2034
leaq 0x1517eb(%rip), %rdx    # 0x1ec02f
movl $0x1b5c, %ecx           # imm = 0x1B5C
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9a895
movsd 0x10468(%rsp), %xmm0
movq 0x10888(%rsp), %rax
movsd %xmm0, 0x2d0(%rax)
movq 0x10888(%rsp), %rax
movl $0x1, 0xcd4(%rax)
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x1519cd(%rip), %rsi    # 0x1ec279
leaq 0x10468(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9a925
leaq 0xc440(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x137afb(%rip), %rsi    # 0x1d23d8
leaq 0x1519a8(%rip), %rdx    # 0x1ec28c
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xc440(%rsp), %r8
leaq 0x137732(%rip), %rsi    # 0x1d2034
leaq 0x151726(%rip), %rdx    # 0x1ec02f
movl $0x1b65, %ecx           # imm = 0x1B65
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9a95a
movsd 0x10468(%rsp), %xmm0
movq 0x10888(%rsp), %rax
movsd %xmm0, 0x2d8(%rax)
movq 0x10888(%rsp), %rax
movl $0x1, 0xcd4(%rax)
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x15195e(%rip), %rsi    # 0x1ec2cf
leaq 0x10468(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9a9ea
leaq 0xbc40(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x137a36(%rip), %rsi    # 0x1d23d8
leaq 0x15193b(%rip), %rdx    # 0x1ec2e4
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xbc40(%rsp), %r8
leaq 0x13766d(%rip), %rsi    # 0x1d2034
leaq 0x151661(%rip), %rdx    # 0x1ec02f
movl $0x1b6e, %ecx           # imm = 0x1B6E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151928(%rip), %rsi    # 0x1ec329
leaq 0x10460(%rsp), %rdx
leaq 0x10878(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9aa7a
leaq 0xb440(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x1379a6(%rip), %rsi    # 0x1d23d8
leaq 0x151907(%rip), %rdx    # 0x1ec340
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xb440(%rsp), %r8
leaq 0x1375dd(%rip), %rsi    # 0x1d2034
leaq 0x1515d1(%rip), %rdx    # 0x1ec02f
movl $0x1b71, %ecx           # imm = 0x1B71
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9ab29
cmpl $0x1, 0x10878(%rsp)
jne 0x9ab29
leaq 0xac40(%rsp), %rdi
movq 0x10888(%rsp), %rax
movsd 0x2e0(%rax), %xmm0
movq 0x10888(%rsp), %rax
movl 0x2e8(%rax), %edx
leaq 0x1518c4(%rip), %rsi    # 0x1ec387
movb $0x1, %al
callq 0x5b9c0
leaq 0xa440(%rsp), %rdi
leaq 0xac40(%rsp), %rcx
leaq 0x1375a1(%rip), %rsi    # 0x1d2082
leaq 0x13cca7(%rip), %rdx    # 0x1d778f
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0xa440(%rsp), %r8
leaq 0x13752e(%rip), %rsi    # 0x1d2034
leaq 0x151522(%rip), %rdx    # 0x1ec02f
movl $0x1b76, %ecx           # imm = 0x1B76
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9ab9e
movsd 0x10468(%rsp), %xmm0
movq 0x10888(%rsp), %rax
movsd %xmm0, 0x2e0(%rax)
movq 0x10888(%rsp), %rax
movsd 0x2d8(%rax), %xmm0
movq 0x10888(%rsp), %rax
subsd 0x2d0(%rax), %xmm0
divsd 0x10468(%rsp), %xmm0
callq 0x8070
cvttsd2si %xmm0, %ecx
movq 0x10888(%rsp), %rax
movl %ecx, 0x2e8(%rax)
movq 0x10888(%rsp), %rax
movl $0x1, 0xcd4(%rax)
cmpl $0x1, 0x10878(%rsp)
jne 0x9ac0a
movq 0x10888(%rsp), %rax
movsd 0x2d8(%rax), %xmm0
movq 0x10888(%rsp), %rax
subsd 0x2d0(%rax), %xmm0
divsd 0x10460(%rsp), %xmm0
movq 0x10888(%rsp), %rax
movsd %xmm0, 0x2e0(%rax)
cvttsd2si 0x10460(%rsp), %ecx
movq 0x10888(%rsp), %rax
movl %ecx, 0x2e8(%rax)
movq 0x10888(%rsp), %rax
movl $0x1, 0xcd4(%rax)
movq 0x10888(%rsp), %rax
movsd 0x2d0(%rax), %xmm1
movq 0x10888(%rsp), %rax
movsd 0x2e0(%rax), %xmm0
movq 0x10888(%rsp), %rax
cvtsi2sdl 0x2e8(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x10458(%rsp)
movsd 0x10458(%rsp), %xmm0
movq 0x10888(%rsp), %rax
subsd 0x2d8(%rax), %xmm0
movaps 0x1375c5(%rip), %xmm1   # 0x1d2230
pand %xmm1, %xmm0
movq 0x10890(%rsp), %rax
ucomisd 0x920(%rax), %xmm0
jbe 0x9acb1
movsd 0x10458(%rsp), %xmm0
leaq 0x151744(%rip), %rdi    # 0x1ec3d5
movb $0x1, %al
callq 0x8030
movsd 0x10458(%rsp), %xmm0
movq 0x10888(%rsp), %rax
movsd %xmm0, 0x2d8(%rax)
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151784(%rip), %rsi    # 0x1ec44c
leaq 0x10468(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9ad41
leaq 0x9c40(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x1376df(%rip), %rsi    # 0x1d23d8
leaq 0x151761(%rip), %rdx    # 0x1ec461
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x9c40(%rsp), %r8
leaq 0x137316(%rip), %rsi    # 0x1d2034
leaq 0x15130a(%rip), %rdx    # 0x1ec02f
movl $0x1b8b, %ecx           # imm = 0x1B8B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9ad7e
movsd 0x13bad5(%rip), %xmm0   # 0x1d6828
mulsd 0x10468(%rsp), %xmm0
movq 0x10888(%rsp), %rax
movsd %xmm0, 0x2f0(%rax)
movq 0x10888(%rsp), %rax
movl $0x1, 0xcd4(%rax)
jmp 0x9ad80
movq 0x10888(%rsp), %rax
cmpl $0x4, (%rax)
je 0x9ae14
movq 0x10888(%rsp), %rax
cmpl $0x0, 0x4(%rax)
jle 0x9ae14
leaq 0x9440(%rsp), %rdi
leaq 0x1516f8(%rip), %rsi    # 0x1ec4a6
movb $0x0, %al
callq 0x5b9c0
leaq 0x8c40(%rsp), %rdi
leaq 0x9440(%rsp), %rcx
leaq 0x1372b6(%rip), %rsi    # 0x1d2082
leaq 0x151715(%rip), %rdx    # 0x1ec4e8
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x8c40(%rsp), %r8
leaq 0x137243(%rip), %rsi    # 0x1d2034
leaq 0x151237(%rip), %rdx    # 0x1ec02f
movl $0x1b96, %ecx           # imm = 0x1B96
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
movq 0x10888(%rsp), %rax
cmpl $0x0, 0xcdc(%rax)
je 0x9aee6
movq 0x10888(%rsp), %rax
cmpl $0x0, 0xcd4(%rax)
je 0x9aee6
leaq 0x8440(%rsp), %rdi
leaq 0x1516d9(%rip), %rsi    # 0x1ec526
leaq 0x15137c(%rip), %rdx    # 0x1ec1d0
leaq 0x1513c8(%rip), %rcx    # 0x1ec223
leaq 0x151417(%rip), %r8     # 0x1ec279
leaq 0x151466(%rip), %r9     # 0x1ec2cf
leaq 0x1514b9(%rip), %r10    # 0x1ec329
leaq 0x1515d5(%rip), %rax    # 0x1ec44c
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x0, %al
callq 0x5b9c0
leaq 0x7c40(%rsp), %rdi
leaq 0x8440(%rsp), %rcx
leaq 0x1371e4(%rip), %rsi    # 0x1d2082
leaq 0x1516d7(%rip), %rdx    # 0x1ec57c
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x7c40(%rsp), %r8
leaq 0x137171(%rip), %rsi    # 0x1d2034
leaq 0x151165(%rip), %rdx    # 0x1ec02f
movl $0x1b9b, %ecx           # imm = 0x1B9B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
jmp 0x9aee8
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x1516b6(%rip), %rsi    # 0x1ec5b5
leaq 0x7840(%rsp), %rdx
leaq 0x783c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x9af78
leaq 0x7030(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x1374a8(%rip), %rsi    # 0x1d23d8
leaq 0x15168d(%rip), %rdx    # 0x1ec5c4
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x7030(%rsp), %r8
leaq 0x1370df(%rip), %rsi    # 0x1d2034
leaq 0x1510d3(%rip), %rdx    # 0x1ec02f
movl $0x1b9f, %ecx           # imm = 0x1B9F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x783c(%rsp)
jne 0x9b08e
leaq 0x7840(%rsp), %rdi
movl $0x79, %esi
callq 0x5bcd0
cmpl $0x0, %eax
jne 0x9afb4
leaq 0x7840(%rsp), %rdi
movl $0x59, %esi
callq 0x5bcd0
cmpl $0x0, %eax
je 0x9afcb
movq 0x10888(%rsp), %rax
movl $0x1, 0xce4(%rax)
jmp 0x9b08c
leaq 0x7840(%rsp), %rdi
movl $0x6e, %esi
callq 0x5bcd0
cmpl $0x0, %eax
jne 0x9aff9
leaq 0x7840(%rsp), %rdi
movl $0x4e, %esi
callq 0x5bcd0
cmpl $0x0, %eax
je 0x9b00d
movq 0x10888(%rsp), %rax
movl $0x0, 0xce4(%rax)
jmp 0x9b08a
leaq 0x6830(%rsp), %rdi
leaq 0x7840(%rsp), %rdx
leaq 0x13bc68(%rip), %rsi    # 0x1d6c8c
leaq 0x15158a(%rip), %rcx    # 0x1ec5b5
movb $0x0, %al
callq 0x5b9c0
leaq 0x6030(%rsp), %rdi
leaq 0x6830(%rsp), %rdx
leaq 0x137524(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x6030(%rsp), %r8
leaq 0x136fcd(%rip), %rsi    # 0x1d2034
leaq 0x150fc1(%rip), %rdx    # 0x1ec02f
movl $0x1b9f, %ecx           # imm = 0x1B9F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
jmp 0x9b08c
jmp 0x9b08e
jmp 0x9b090
jmp 0x9b092
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151563(%rip), %rsi    # 0x1ec60c
leaq 0x5c30(%rsp), %rdx
leaq 0x5c2c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x9b122
leaq 0x5420(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x1372fe(%rip), %rsi    # 0x1d23d8
leaq 0x151543(%rip), %rdx    # 0x1ec624
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x5420(%rsp), %r8
leaq 0x136f35(%rip), %rsi    # 0x1d2034
leaq 0x150f29(%rip), %rdx    # 0x1ec02f
movl $0x1ba3, %ecx           # imm = 0x1BA3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x5c2c(%rsp)
jne 0x9b238
leaq 0x5c30(%rsp), %rdi
movl $0x79, %esi
callq 0x5bcd0
cmpl $0x0, %eax
jne 0x9b15e
leaq 0x5c30(%rsp), %rdi
movl $0x59, %esi
callq 0x5bcd0
cmpl $0x0, %eax
je 0x9b175
movq 0x10888(%rsp), %rax
movl $0x1, 0xce8(%rax)
jmp 0x9b236
leaq 0x5c30(%rsp), %rdi
movl $0x6e, %esi
callq 0x5bcd0
cmpl $0x0, %eax
jne 0x9b1a3
leaq 0x5c30(%rsp), %rdi
movl $0x4e, %esi
callq 0x5bcd0
cmpl $0x0, %eax
je 0x9b1b7
movq 0x10888(%rsp), %rax
movl $0x0, 0xce8(%rax)
jmp 0x9b234
leaq 0x4c20(%rsp), %rdi
leaq 0x5c30(%rsp), %rdx
leaq 0x13babe(%rip), %rsi    # 0x1d6c8c
leaq 0x151437(%rip), %rcx    # 0x1ec60c
movb $0x0, %al
callq 0x5b9c0
leaq 0x4420(%rsp), %rdi
leaq 0x4c20(%rsp), %rdx
leaq 0x13737a(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x4420(%rsp), %r8
leaq 0x136e23(%rip), %rsi    # 0x1d2034
leaq 0x150e17(%rip), %rdx    # 0x1ec02f
movl $0x1ba3, %ecx           # imm = 0x1BA3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
jmp 0x9b236
jmp 0x9b238
jmp 0x9b23a
movq 0x10898(%rsp), %rdi
movq 0x10888(%rsp), %rdx
addq $0x300, %rdx            # imm = 0x300
movq 0x10880(%rsp), %r8
leaq 0x151415(%rip), %rsi    # 0x1ec675
leaq 0x1087c(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9b2d1
leaq 0x3c20(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x13714f(%rip), %rsi    # 0x1d23d8
leaq 0x1513ee(%rip), %rdx    # 0x1ec67e
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x3c20(%rsp), %r8
leaq 0x136d86(%rip), %rsi    # 0x1d2034
leaq 0x150d7a(%rip), %rdx    # 0x1ec02f
movl $0x1ba9, %ecx           # imm = 0x1BA9
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
movq 0x10898(%rsp), %rdi
movq 0x10888(%rsp), %rdx
addq $0x308, %rdx            # imm = 0x308
movq 0x10880(%rsp), %r8
leaq 0x1513c7(%rip), %rsi    # 0x1ec6be
leaq 0x1087c(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9b368
leaq 0x3420(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x1370b8(%rip), %rsi    # 0x1d23d8
leaq 0x1513a1(%rip), %rdx    # 0x1ec6c8
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x3420(%rsp), %r8
leaq 0x136cef(%rip), %rsi    # 0x1d2034
leaq 0x150ce3(%rip), %rdx    # 0x1ec02f
movl $0x1bac, %ecx           # imm = 0x1BAC
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
jmp 0x9b36a
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151389(%rip), %rsi    # 0x1ec70a
leaq 0x3020(%rsp), %rdx
leaq 0x301c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x9b3fa
leaq 0x2810(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x137026(%rip), %rsi    # 0x1d23d8
leaq 0x151363(%rip), %rdx    # 0x1ec71c
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x2810(%rsp), %r8
leaq 0x136c5d(%rip), %rsi    # 0x1d2034
leaq 0x150c51(%rip), %rdx    # 0x1ec02f
movl $0x1bb0, %ecx           # imm = 0x1BB0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x301c(%rsp)
jne 0x9b510
leaq 0x3020(%rsp), %rdi
movl $0x79, %esi
callq 0x5bcd0
cmpl $0x0, %eax
jne 0x9b436
leaq 0x3020(%rsp), %rdi
movl $0x59, %esi
callq 0x5bcd0
cmpl $0x0, %eax
je 0x9b44d
movq 0x10888(%rsp), %rax
movl $0x1, 0xce0(%rax)
jmp 0x9b50e
leaq 0x3020(%rsp), %rdi
movl $0x6e, %esi
callq 0x5bcd0
cmpl $0x0, %eax
jne 0x9b47b
leaq 0x3020(%rsp), %rdi
movl $0x4e, %esi
callq 0x5bcd0
cmpl $0x0, %eax
je 0x9b48f
movq 0x10888(%rsp), %rax
movl $0x0, 0xce0(%rax)
jmp 0x9b50c
leaq 0x2010(%rsp), %rdi
leaq 0x3020(%rsp), %rdx
leaq 0x13b7e6(%rip), %rsi    # 0x1d6c8c
leaq 0x15125d(%rip), %rcx    # 0x1ec70a
movb $0x0, %al
callq 0x5b9c0
leaq 0x1810(%rsp), %rdi
leaq 0x2010(%rsp), %rdx
leaq 0x1370a2(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x1810(%rsp), %r8
leaq 0x136b4b(%rip), %rsi    # 0x1d2034
leaq 0x150b3f(%rip), %rdx    # 0x1ec02f
movl $0x1bb0, %ecx           # imm = 0x1BB0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
jmp 0x9b50e
jmp 0x9b510
jmp 0x9b512
movq 0x10888(%rsp), %rax
cmpl $0x1, 0xce0(%rax)
jne 0x9b695
movq 0x10898(%rsp), %rdi
movq 0x10880(%rsp), %r8
leaq 0x151229(%rip), %rsi    # 0x1ec767
leaq 0x10470(%rsp), %rdx
leaq 0x1087c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x9b5b7
leaq 0x1010(%rsp), %rdi
movq 0x10880(%rsp), %rcx
leaq 0x136e69(%rip), %rsi    # 0x1d23d8
leaq 0x1511fe(%rip), %rdx    # 0x1ec774
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x1010(%rsp), %r8
leaq 0x136aa0(%rip), %rsi    # 0x1d2034
leaq 0x150a94(%rip), %rdx    # 0x1ec02f
movl $0x1bb7, %ecx           # imm = 0x1BB7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
cmpl $0x1, 0x1087c(%rsp)
jne 0x9b693
leaq 0x10470(%rsp), %rdi
leaq 0x1511de(%rip), %rsi    # 0x1ec7b2
callq 0x84b0
cmpl $0x0, %eax
jne 0x9b5f5
movq 0x10888(%rsp), %rax
movl $0x0, 0x2f8(%rax)
jmp 0x9b691
leaq 0x10470(%rsp), %rdi
leaq 0x1511ba(%rip), %rsi    # 0x1ec7be
callq 0x84b0
cmpl $0x0, %eax
jne 0x9b622
movq 0x10888(%rsp), %rax
movl $0x1, 0x2f8(%rax)
jmp 0x9b68f
leaq 0x810(%rsp), %rdi
leaq 0x10470(%rsp), %rdx
leaq 0x151191(%rip), %rsi    # 0x1ec7ca
movb $0x0, %al
callq 0x5b9c0
leaq 0x10(%rsp), %rdi
leaq 0x810(%rsp), %rdx
leaq 0x136f19(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x10880(%rsp), %rdi
leaq 0x10(%rsp), %r8
leaq 0x1369c5(%rip), %rsi    # 0x1d2034
leaq 0x1509b9(%rip), %rdx    # 0x1ec02f
movl $0x1bc2, %ecx           # imm = 0x1BC2
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x108a4(%rsp)
jmp 0x9b6a0
jmp 0x9b691
jmp 0x9b693
jmp 0x9b695
movl $0x0, 0x108a4(%rsp)
movl 0x108a4(%rsp), %eax
addq $0x108a8, %rsp          # imm = 0x108A8
retq
nop