// File: kobanium[P]Ray/src/learn/MinorizationMaximization.cpp
// Function: OutputAllParameters(int)
static void
OutputAllParameters( const int step )
{
  const std::string result_directory = GetWorkingDirectory() + PATH_SEPARATOR +
    LEARNING_RESULT_DIR_NAME + PATH_SEPARATOR +
    SIMULATION_RESULT_DIR_NAME + PATH_SEPARATOR +
    "result" + std::to_string(step) + PATH_SEPARATOR;
  const std::string cmd = "mkdir " + result_directory;
  std::string path;

  system(cmd.c_str());

  // 戦術的特徴
  path = result_directory + "CaptureFeature.txt";
  OutputGamma(path, capture[0]);
  path = result_directory + "SaveExtensionFeature.txt";
  OutputGamma(path, save_extension[0]);
  path = result_directory + "AtariFeature.txt";
  OutputGamma(path, atari[0]);
  path = result_directory + "ExtensionFeature.txt";
  OutputGamma(path, extension[0]);
  path = result_directory + "DameFeature.txt";
  OutputGamma(path, dame[0]);
  path = result_directory + "ThrowInFeature.txt";
  OutputGamma(path, throw_in[0]);

  // 直前からの着手距離
  path = result_directory + "PreviousDistance.txt";
  OutputGamma(path, previous_distance[0]);

  // 3x3
  path = result_directory + "Pat3.txt";
  OutputGamma(path, pat3[0]);

  // md2
  path = result_directory + "MD2.txt";
  OutputGamma(path, md2[0], md2_list);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x470, %rsp            # imm = 0x470
movl %edi, -0x4(%rbp)
leaq -0x128(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0x2ccc0
movq -0x3e0(%rbp), %rsi
leaq 0x75e91(%rip), %rdx     # 0xea290
leaq -0x108(%rbp), %rdi
callq 0x632c0
jmp 0x7440d
leaq 0x3a95c(%rip), %rdx     # 0xaed70
leaq -0xe8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x63310
jmp 0x74429
leaq 0x75e60(%rip), %rdx     # 0xea290
leaq -0xc8(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x632c0
jmp 0x74445
leaq 0x3a960(%rip), %rdx     # 0xaedac
leaq -0xa8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x63310
jmp 0x74461
leaq 0x75e28(%rip), %rdx     # 0xea290
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x632c0
jmp 0x7447d
leaq 0x3aa5c(%rip), %rdx     # 0xaeee0
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x63310
jmp 0x74496
movl -0x4(%rbp), %esi
leaq -0x158(%rbp), %rdi
callq 0x669f0
jmp 0x744a7
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x158(%rbp), %rdx
callq 0x66810
jmp 0x744bd
leaq 0x75dcc(%rip), %rdx     # 0xea290
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x632c0
jmp 0x744d3
leaq -0x48(%rbp), %rdi
callq 0x7ae8
leaq -0x158(%rbp), %rdi
callq 0x7ae8
leaq -0x68(%rbp), %rdi
callq 0x7ae8
leaq -0x88(%rbp), %rdi
callq 0x7ae8
leaq -0xa8(%rbp), %rdi
callq 0x7ae8
leaq -0xc8(%rbp), %rdi
callq 0x7ae8
leaq -0xe8(%rbp), %rdi
callq 0x7ae8
leaq -0x108(%rbp), %rdi
callq 0x7ae8
leaq -0x128(%rbp), %rdi
callq 0x7ae8
leaq 0x39cb9(%rip), %rsi     # 0xae1f9
leaq -0x178(%rbp), %rdi
leaq -0x28(%rbp), %rdx
callq 0x668e0
jmp 0x74552
leaq -0x198(%rbp), %rdi
callq 0x7770
leaq -0x178(%rbp), %rdi
callq 0x71d0
movq %rax, %rdi
callq 0x7450
jmp 0x74574
leaq 0x39b6a(%rip), %rdx     # 0xae0e5
leaq -0x1b8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x7458d
leaq -0x198(%rbp), %rdi
movq %rdi, -0x3e8(%rbp)
leaq -0x1b8(%rbp), %rsi
movq %rsi, -0x3f0(%rbp)
callq 0x76b0
movq -0x3f0(%rbp), %rdi
callq 0x7ae8
movq -0x3e8(%rbp), %rsi
leaq -0x1d8(%rbp), %rdi
callq 0x71f0
jmp 0x745cf
leaq 0x75d52(%rip), %rdi     # 0xea328
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x1d8(%rbp), %rdi
callq 0x7af90
jmp 0x745f0
leaq -0x1d8(%rbp), %rdi
callq 0x7ae8
leaq 0x39af5(%rip), %rdx     # 0xae0f8
leaq -0x1f8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x74615
leaq -0x198(%rbp), %rdi
movq %rdi, -0x3f8(%rbp)
leaq -0x1f8(%rbp), %rsi
movq %rsi, -0x400(%rbp)
callq 0x76b0
movq -0x400(%rbp), %rdi
callq 0x7ae8
movq -0x3f8(%rbp), %rsi
leaq -0x218(%rbp), %rdi
callq 0x71f0
jmp 0x74657
leaq 0x75ce2(%rip), %rdi     # 0xea340
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x218(%rbp), %rdi
callq 0x7af90
jmp 0x74678
leaq -0x218(%rbp), %rdi
callq 0x7ae8
leaq 0x39a86(%rip), %rdx     # 0xae111
leaq -0x238(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x7469d
leaq -0x198(%rbp), %rdi
movq %rdi, -0x408(%rbp)
leaq -0x238(%rbp), %rsi
movq %rsi, -0x410(%rbp)
callq 0x76b0
movq -0x410(%rbp), %rdi
callq 0x7ae8
movq -0x408(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x71f0
jmp 0x746df
leaq 0x75c72(%rip), %rdi     # 0xea358
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x258(%rbp), %rdi
callq 0x7af90
jmp 0x74700
leaq -0x258(%rbp), %rdi
callq 0x7ae8
leaq 0x399e9(%rip), %rdx     # 0xae0fc
leaq -0x278(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x74725
leaq -0x198(%rbp), %rdi
movq %rdi, -0x418(%rbp)
leaq -0x278(%rbp), %rsi
movq %rsi, -0x420(%rbp)
callq 0x76b0
movq -0x420(%rbp), %rdi
callq 0x7ae8
movq -0x418(%rbp), %rsi
leaq -0x298(%rbp), %rdi
callq 0x71f0
jmp 0x74767
leaq 0x75c02(%rip), %rdi     # 0xea370
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x298(%rbp), %rdi
callq 0x7af90
jmp 0x74788
leaq -0x298(%rbp), %rdi
callq 0x7ae8
leaq 0x39987(%rip), %rdx     # 0xae122
leaq -0x2b8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x747ad
leaq -0x198(%rbp), %rdi
movq %rdi, -0x428(%rbp)
leaq -0x2b8(%rbp), %rsi
movq %rsi, -0x430(%rbp)
callq 0x76b0
movq -0x430(%rbp), %rdi
callq 0x7ae8
movq -0x428(%rbp), %rsi
leaq -0x2d8(%rbp), %rdi
callq 0x71f0
jmp 0x747ef
leaq 0x75b92(%rip), %rdi     # 0xea388
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x2d8(%rbp), %rdi
callq 0x7af90
jmp 0x74810
leaq -0x2d8(%rbp), %rdi
callq 0x7ae8
leaq 0x39922(%rip), %rdx     # 0xae145
leaq -0x2f8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x74835
leaq -0x198(%rbp), %rdi
movq %rdi, -0x438(%rbp)
leaq -0x2f8(%rbp), %rsi
movq %rsi, -0x440(%rbp)
callq 0x76b0
movq -0x440(%rbp), %rdi
callq 0x7ae8
movq -0x438(%rbp), %rsi
leaq -0x318(%rbp), %rdi
callq 0x71f0
jmp 0x74877
leaq 0x75b22(%rip), %rdi     # 0xea3a0
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x318(%rbp), %rdi
callq 0x7af90
jmp 0x74898
leaq -0x318(%rbp), %rdi
callq 0x7ae8
leaq 0x3a498(%rip), %rdx     # 0xaed43
leaq -0x338(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x748bd
leaq -0x198(%rbp), %rdi
movq %rdi, -0x448(%rbp)
leaq -0x338(%rbp), %rsi
movq %rsi, -0x450(%rbp)
callq 0x76b0
movq -0x450(%rbp), %rdi
callq 0x7ae8
movq -0x448(%rbp), %rsi
leaq -0x358(%rbp), %rdi
callq 0x71f0
jmp 0x748ff
leaq 0x759da(%rip), %rdi     # 0xea2e0
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x358(%rbp), %rdi
callq 0x7af90
jmp 0x74920
leaq -0x358(%rbp), %rdi
callq 0x7ae8
leaq 0x39877(%rip), %rdx     # 0xae1aa
leaq -0x378(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x74945
leaq -0x198(%rbp), %rdi
movq %rdi, -0x458(%rbp)
leaq -0x378(%rbp), %rsi
movq %rsi, -0x460(%rbp)
callq 0x76b0
movq -0x460(%rbp), %rdi
callq 0x7ae8
movq -0x458(%rbp), %rsi
leaq -0x398(%rbp), %rdi
callq 0x71f0
jmp 0x74987
leaq 0x7596a(%rip), %rdi     # 0xea2f8
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq -0x398(%rbp), %rdi
callq 0x7af90
jmp 0x749a8
leaq -0x398(%rbp), %rdi
callq 0x7ae8
leaq 0x397f8(%rip), %rdx     # 0xae1b3
leaq -0x3b8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x63360
jmp 0x749cd
leaq -0x198(%rbp), %rdi
movq %rdi, -0x468(%rbp)
leaq -0x3b8(%rbp), %rsi
movq %rsi, -0x470(%rbp)
callq 0x76b0
movq -0x470(%rbp), %rdi
callq 0x7ae8
movq -0x468(%rbp), %rsi
leaq -0x3d8(%rbp), %rdi
callq 0x71f0
jmp 0x74a0f
leaq 0x758fa(%rip), %rdi     # 0xea310
xorl %eax, %eax
movl %eax, %esi
callq 0x792c0
movq %rax, %rsi
leaq 0x7598f(%rip), %rdx     # 0xea3b8
leaq -0x3d8(%rbp), %rdi
callq 0x7b180
jmp 0x74a37
leaq -0x3d8(%rbp), %rdi
callq 0x7ae8
leaq -0x198(%rbp), %rdi
callq 0x7ae8
leaq -0x178(%rbp), %rdi
callq 0x7ae8
leaq -0x28(%rbp), %rdi
callq 0x7ae8
addq $0x470, %rsp            # imm = 0x470
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74b34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x7ae8
leaq -0x158(%rbp), %rdi
callq 0x7ae8
leaq -0x68(%rbp), %rdi
callq 0x7ae8
leaq -0x88(%rbp), %rdi
callq 0x7ae8
leaq -0xa8(%rbp), %rdi
callq 0x7ae8
leaq -0xc8(%rbp), %rdi
callq 0x7ae8
leaq -0xe8(%rbp), %rdi
callq 0x7ae8
leaq -0x108(%rbp), %rdi
callq 0x7ae8
leaq -0x128(%rbp), %rdi
callq 0x7ae8
jmp 0x74d0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74d06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x398(%rbp), %rdi
callq 0x7ae8
jmp 0x74cee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x7ae8
leaq -0x198(%rbp), %rdi
callq 0x7ae8
leaq -0x178(%rbp), %rdi
callq 0x7ae8
leaq -0x28(%rbp), %rdi
callq 0x7ae8
movq -0x130(%rbp), %rdi
callq 0x79b0
nopl (%rax,%rax)