// File: /workspace/github_cpp_makefile_star2_O1/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 0x6f31(%rip), %r15      # 0xafd0
leaq 0x40cc(%rip), %rsi      # 0x8172
movl $0x1d, %edx
movq %r15, %rdi
callq 0x21c0
leaq 0x40d6(%rip), %rsi      # 0x8190
movl $0x16, %edx
movq %r15, %rdi
callq 0x21c0
movq %r15, %rdi
movq %r12, %rsi
callq 0x20e0
leaq 0x3e07(%rip), %r12      # 0x7ee0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21c0
leaq 0x40b7(%rip), %rsi      # 0x81a7
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 0x40a7(%rip), %rsi      # 0x81c5
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 0x688a
ucomisd 0x2ec2(%rip), %xmm0     # 0x7018
jne 0x417c
jp 0x417c
movq 0x6e6f(%rip), %rdi      # 0xafd0
leaq 0x4073(%rip), %rsi      # 0x81db
movl $0x36, %edx
callq 0x21c0
movsd 0x2eae(%rip), %xmm0     # 0x7028
jmp 0x41b0
movq %rbx, %rdi
callq 0x688a
ucomisd 0x2e84(%rip), %xmm0     # 0x7010
jne 0x41d0
jp 0x41d0
movq 0x6e39(%rip), %rdi      # 0xafd0
leaq 0x4078(%rip), %rsi      # 0x8216
movl $0x37, %edx
callq 0x21c0
movsd 0x2e70(%rip), %xmm0     # 0x7020
movq 0x6e19(%rip), %rdi      # 0xafd0
callq 0x2230
leaq 0x404f(%rip), %rsi      # 0x8212
movl $0x3, %edx
movq %rax, %rdi
callq 0x21c0
movq 0x6df9(%rip), %r14      # 0xafd0
leaq 0x4070(%rip), %rsi      # 0x824e
movl $0x16, %edx
movq %r14, %rdi
callq 0x21c0
movq %rbx, %rdi
callq 0x6896
movl %eax, %esi
movq %r14, %rdi
callq 0x20f0
movq %rax, %rbx
leaq 0x405e(%rip), %rsi      # 0x8265
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