// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/thermodynamics.c
// Function: thermodynamics_output_summary
int thermodynamics_output_summary(
                                  struct background* pba,
                                  struct thermodynamics* pth
                                  ) {

  /** Summary: */

  /** Define local variables */
  double tau_reio;

  printf(" -> recombination (maximum of visibility function) at z = %f\n",pth->z_rec);
  printf("    corresponding to conformal time = %f Mpc\n",pth->tau_rec);
  printf("    with comoving sound horizon = %f Mpc\n",pth->rs_rec);
  printf("    angular diameter distance = %f Mpc\n",pth->da_rec);
  printf("    sound horizon angle 100*theta_s = %f\n",100.*pth->rs_rec/pth->ra_rec);
  if (pth->compute_damping_scale == _TRUE_) {
    printf("    comoving photon damping scale = %f Mpc\n",pth->rd_rec);
    printf("    comoving damping wavenumber k_d = %f 1/Mpc\n",2.*_PI_/pth->rd_rec);
  }
  printf("    Thomson optical depth crosses one at z_* = %f\n",pth->z_star);
  printf("    giving an angle 100*theta_* = %f\n",100.*pth->rs_star/pth->ra_star);
  printf(" -> baryon drag stops at z = %f\n",pth->z_d);
  printf("    corresponding to conformal time = %f Mpc\n",pth->tau_d);
  printf("    with comoving sound horizon rs = %f Mpc\n",pth->rs_d);

  switch (pth->reio_parametrization) {

  case reio_none:
    /* the information returned by this line could be interesting when
       using reio_none + exotic energy ionjection, since there could
       still be a global minimum of x_e(z) */
    printf(" -> no reionization requested, optical depth = %f\n",pth->tau_reio);
    break;

  case reio_camb:
  case reio_half_tanh:
    switch (pth->reio_z_or_tau) {
    case reio_tau:
      printf(" -> reionization at z = %f\n",pth->z_reio);
      break;
    case reio_z:
      printf(" -> reionization with optical depth = %f\n",pth->tau_reio);
      break;
    }
    printf("    corresponding to conformal time = %f Mpc\n",pth->conf_time_reio);
    break;

  case reio_bins_tanh:
    printf(" -> binned reionization gives optical depth = %f\n",pth->tau_reio);
    break;

  case reio_many_tanh:
    printf(" -> many-step reionization gives optical depth = %f\n",pth->tau_reio);
    break;

  case reio_inter:
    printf(" -> interpolated reionization history gives optical depth = %f\n",pth->tau_reio);
    break;

  default:
    class_stop(pth->error_message,
               "value of reio_parametrization=%d unclear",pth->reio_parametrization);
    break;
  }

  if (pth->thermodynamics_verbose > 1)
    printf(" -> free-streaming approximation can be turned on as soon as tau=%g Mpc\n",pth->tau_free_streaming);
  if ((pba->has_idr == _TRUE_)&&(pth->thermodynamics_verbose > 1))
    printf(" -> dark free-streaming approximation can be turned on as soon as tau=%g Mpc\n",pth->tau_idr_free_streaming);

  return _SUCCESS_;
}

// Assembly:
subq $0x1038, %rsp           # imm = 0x1038
movq %rdi, 0x1028(%rsp)
movq %rsi, 0x1020(%rsp)
movq 0x1020(%rsp), %rax
movsd 0xf30(%rax), %xmm0
leaq 0x138f47(%rip), %rdi    # 0x1f34c5
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movsd 0xf38(%rax), %xmm0
leaq 0x136774(%rip), %rdi    # 0x1f0d10
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movsd 0xf40(%rax), %xmm0
leaq 0x138f49(%rip), %rdi    # 0x1f3503
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movsd 0xf58(%rax), %xmm0
leaq 0x138f55(%rip), %rdi    # 0x1f352d
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movsd 0x118669(%rip), %xmm0   # 0x1d2c58
mulsd 0xf40(%rax), %xmm0
movq 0x1020(%rsp), %rax
divsd 0xf50(%rax), %xmm0
leaq 0x138f47(%rip), %rdi    # 0x1f3555
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movswl 0x32(%rax), %eax
cmpl $0x1, %eax
jne 0xba66a
movq 0x1020(%rsp), %rax
movsd 0xf60(%rax), %xmm0
leaq 0x138f42(%rip), %rdi    # 0x1f357f
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movsd 0x11ae34(%rip), %xmm0   # 0x1d5488
divsd 0xf60(%rax), %xmm0
leaq 0x138f48(%rip), %rdi    # 0x1f35ab
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movsd 0xf68(%rax), %xmm0
leaq 0x138f5a(%rip), %rdi    # 0x1f35db
movb $0x1, %al
movb %al, 0x7(%rsp)
callq 0x8030
movb 0x7(%rsp), %al
movq 0x1020(%rsp), %rcx
movsd 0xf78(%rcx), %xmm0
movsd 0xf88(%rcx), %xmm1
movsd 0x1185a8(%rip), %xmm2   # 0x1d2c58
mulsd %xmm2, %xmm0
divsd %xmm1, %xmm0
leaq 0x138f4f(%rip), %rdi    # 0x1f360e
callq 0x8030
movb 0x7(%rsp), %al
movq 0x1020(%rsp), %rcx
movsd 0xfa0(%rcx), %xmm0
leaq 0x138f55(%rip), %rdi    # 0x1f3634
callq 0x8030
movb 0x7(%rsp), %al
movq 0x1020(%rsp), %rcx
movsd 0xfa8(%rcx), %xmm0
leaq 0x136611(%rip), %rdi    # 0x1f0d10
callq 0x8030
movb 0x7(%rsp), %al
movq 0x1020(%rsp), %rcx
movsd 0xfb8(%rcx), %xmm0
leaq 0x138f36(%rip), %rdi    # 0x1f3655
callq 0x8030
movq 0x1020(%rsp), %rax
movl 0x18(%rax), %eax
movq %rax, 0x8(%rsp)
subq $0x5, %rax
ja 0xba849
movq 0x8(%rsp), %rax
leaq 0x136e9e(%rip), %rcx    # 0x1f15e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x1020(%rsp), %rax
movsd 0x20(%rax), %xmm0
leaq 0x138f1b(%rip), %rdi    # 0x1f3682
movb $0x1, %al
callq 0x8030
jmp 0xba8c3
movq 0x1020(%rsp), %rax
movl 0x1c(%rax), %eax
movl %eax, (%rsp)
testl %eax, %eax
je 0xba7ae
jmp 0xba787
movl (%rsp), %eax
subl $0x1, %eax
jne 0xba7c9
jmp 0xba791
movq 0x1020(%rsp), %rax
movsd 0x28(%rax), %xmm0
leaq 0x138f10(%rip), %rdi    # 0x1f36b5
movb $0x1, %al
callq 0x8030
jmp 0xba7c9
movq 0x1020(%rsp), %rax
movsd 0x20(%rax), %xmm0
leaq 0x138f0f(%rip), %rdi    # 0x1f36d1
movb $0x1, %al
callq 0x8030
movq 0x1020(%rsp), %rax
movsd 0xfc0(%rax), %xmm0
leaq 0x136530(%rip), %rdi    # 0x1f0d10
movb $0x1, %al
callq 0x8030
jmp 0xba8c3
movq 0x1020(%rsp), %rax
movsd 0x20(%rax), %xmm0
leaq 0x138efb(%rip), %rdi    # 0x1f36fb
movb $0x1, %al
callq 0x8030
jmp 0xba8c3
movq 0x1020(%rsp), %rax
movsd 0x20(%rax), %xmm0
leaq 0x138f0d(%rip), %rdi    # 0x1f372d
movb $0x1, %al
callq 0x8030
jmp 0xba8c3
movq 0x1020(%rsp), %rax
movsd 0x20(%rax), %xmm0
leaq 0x138f22(%rip), %rdi    # 0x1f3762
movb $0x1, %al
callq 0x8030
jmp 0xba8c3
leaq 0x810(%rsp), %rdi
movq 0x1020(%rsp), %rax
movl 0x18(%rax), %edx
leaq 0x137ddf(%rip), %rsi    # 0x1f2642
movb $0x0, %al
callq 0x5b9c0
leaq 0x10(%rsp), %rdi
leaq 0x810(%rsp), %rdx
leaq 0x117cef(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x1020(%rsp), %rdi
addq $0x1064, %rdi           # imm = 0x1064
leaq 0x10(%rsp), %r8
leaq 0x117794(%rip), %rsi    # 0x1d2034
leaq 0x138efb(%rip), %rdx    # 0x1f37a2
movl $0x73e, %ecx            # imm = 0x73E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1034(%rsp)
jmp 0xba946
movq 0x1020(%rsp), %rax
movswl 0x1060(%rax), %eax
cmpl $0x1, %eax
jle 0xba8f5
movq 0x1020(%rsp), %rax
movsd 0xfd8(%rax), %xmm0
leaq 0x138ed2(%rip), %rdi    # 0x1f37c0
movb $0x1, %al
callq 0x8030
movq 0x1028(%rsp), %rax
movswl 0x4c6(%rax), %eax
cmpl $0x1, %eax
jne 0xba93b
movq 0x1020(%rsp), %rax
movswl 0x1060(%rax), %eax
cmpl $0x1, %eax
jle 0xba93b
movq 0x1020(%rsp), %rax
movsd 0xfe0(%rax), %xmm0
leaq 0x138ed5(%rip), %rdi    # 0x1f3809
movb $0x1, %al
callq 0x8030
movl $0x0, 0x1034(%rsp)
movl 0x1034(%rsp), %eax
addq $0x1038, %rsp           # imm = 0x1038
retq
nopw %cs:(%rax,%rax)