// File: /workspace/github_cpp_makefile_star2_O2/zyLiu6707[P]Arknights-Pull-Simulation/./utils.h
// Function: display_simulation_settings(ProbabilityWrapper const&, unsigned long long, unsigned int, unsigned long long)
void display_simulation_settings(const ProbabilityWrapper& probability_wrapper,
                                 const unsigned long long int total_pull_time,
                                 const unsigned int pity_starting_point,
                                 const unsigned long long int current_pull) {
  std::cout << "The simulation settings are:\n";
  std::cout << "\tTotal Pulling Times: " << total_pull_time << "\n";
  std::cout << "\tPity System Starting Point: " << pity_starting_point << "\n";
  std::cout << "\tCurrent Pull Times: " << current_pull << "\n";

  if (probability_wrapper.get_on_banner_star6_conditional_rate() ==
      limited_banner_on_banner_star6_conditional_rate) {
    std::cout << "\tBanner Type: Limited Banner, the conditional rate is "
              << limited_banner_on_banner_star6_conditional_rate * 100
              << " %\n";
  } else if (probability_wrapper.get_on_banner_star6_conditional_rate() ==
             standard_banner_on_banner_star6_conditional_rate) {
    std::cout << "\tBanner Type: Standard Banner, the conditional rate is "
              << standard_banner_on_banner_star6_conditional_rate * 100
              << " %\n";
  }
  std::cout << "\tRate-Up Operator(s): "
            << probability_wrapper.get_banner_operator_num() << " operator(s)\n"
            << std::endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rcx, %r14
movl %edx, %ebp
movq %rsi, %r12
movq %rdi, %rbx
movq 0x7458(%rip), %r15      # 0xafd0
leaq 0x3603(%rip), %rsi      # 0x7182
movq %r15, %rdi
callq 0x21a0
leaq 0x3612(%rip), %rsi      # 0x71a0
movq %r15, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r12, %rsi
callq 0x2100
leaq 0x3348(%rip), %r12      # 0x6ef0
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
leaq 0x35fd(%rip), %rsi      # 0x71b7
movq %r15, %rdi
callq 0x21a0
movl %ebp, %esi
movq %rax, %rdi
callq 0x2110
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
leaq 0x35f7(%rip), %rsi      # 0x71d5
movq %r15, %rdi
callq 0x21a0
movq %rax, %rdi
movq %r14, %rsi
callq 0x2100
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
movq %rbx, %rdi
callq 0x5daa
ucomisd 0x240c(%rip), %xmm0     # 0x6018
jne 0x3c27
jp 0x3c27
movsd 0x2408(%rip), %xmm0     # 0x6020
movsd %xmm0, 0x8(%rsp)
leaq 0x35c6(%rip), %rsi      # 0x71eb
jmp 0x3c50
movq %rbx, %rdi
callq 0x5daa
ucomisd 0x23d9(%rip), %xmm0     # 0x6010
jne 0x3c79
jp 0x3c79
movsd 0x23e5(%rip), %xmm0     # 0x6028
movsd %xmm0, 0x8(%rsp)
leaq 0x35d6(%rip), %rsi      # 0x7226
movq 0x7379(%rip), %rdi      # 0xafd0
callq 0x21a0
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x2260
leaq 0x35b1(%rip), %rsi      # 0x7222
movq %rax, %rdi
callq 0x21a0
movq 0x7350(%rip), %rdi      # 0xafd0
leaq 0x35d7(%rip), %rsi      # 0x725e
callq 0x21a0
movq %rax, %r14
movq %rbx, %rdi
callq 0x5db6
movl %eax, %esi
movq %r14, %rdi
callq 0x2110
leaq 0x35cd(%rip), %rsi      # 0x7275
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x20c0