// File: /workspace/github_cpp_makefile_star2_O3/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
movq %rcx, %r14
movl %edx, %ebp
movq %rsi, %r12
movq %rdi, %rbx
movq 0x6fcb(%rip), %r15      # 0xafd0
leaq 0x41a6(%rip), %rsi      # 0x81b2
movl $0x1d, %edx
movq %r15, %rdi
callq 0x21c0
leaq 0x41b0(%rip), %rsi      # 0x81d0
movl $0x16, %edx
movq %r15, %rdi
callq 0x21c0
movq %r15, %rdi
movq %r12, %rsi
callq 0x20e0
leaq 0x3ee1(%rip), %r12      # 0x7f20
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21c0
leaq 0x4191(%rip), %rsi      # 0x81e7
movl $0x1d, %edx
movq %r15, %rdi
callq 0x21c0
movl %ebp, %esi
movq %r15, %rdi
callq 0x20f0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21c0
leaq 0x4181(%rip), %rsi      # 0x8205
movl $0x15, %edx
movq %r15, %rdi
callq 0x21c0
movq %r15, %rdi
movq %r14, %rsi
callq 0x20e0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21c0
movq %rbx, %rdi
callq 0x679a
ucomisd 0x2f5c(%rip), %xmm0     # 0x7018
jne 0x40e2
jp 0x40e2
movq 0x6f09(%rip), %rdi      # 0xafd0
leaq 0x414d(%rip), %rsi      # 0x821b
movl $0x36, %edx
callq 0x21c0
movsd 0x2f48(%rip), %xmm0     # 0x7028
jmp 0x4116
movq %rbx, %rdi
callq 0x679a
ucomisd 0x2f1e(%rip), %xmm0     # 0x7010
jne 0x4136
jp 0x4136
movq 0x6ed3(%rip), %rdi      # 0xafd0
leaq 0x4152(%rip), %rsi      # 0x8256
movl $0x37, %edx
callq 0x21c0
movsd 0x2f0a(%rip), %xmm0     # 0x7020
movq 0x6eb3(%rip), %rdi      # 0xafd0
callq 0x2230
leaq 0x4129(%rip), %rsi      # 0x8252
movl $0x3, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x6e93(%rip), %r14      # 0xafd0
leaq 0x414a(%rip), %rsi      # 0x828e
movl $0x16, %edx
movq %r14, %rdi
callq 0x21c0
movq %rbx, %rdi
callq 0x67a6
movl %eax, %esi
movq %r14, %rdi
callq 0x20f0
movq %rax, %rbx
leaq 0x4138(%rip), %rsi      # 0x82a5
movl $0xd, %edx
movq %rax, %rdi
callq 0x21c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x2100