// File: /workspace/github_cpp_makefile_star2_O2/kaityo256[P]thermostats/thermostats.cpp
// Function: main
int
main(void) {
  integrate(RungeKutta<NoseHoover>(dt), "nh_rk");
  integrate(Euler<NoseHoover>(dt), "nh_euler");

  integrate(RungeKutta<KineticMoments>(dt), "km_rk");
  integrate(Euler<KineticMoments>(dt), "km_euler");

  integrate(RungeKutta<NoseHooverChain>(dt), "nhc_rk");
  integrate(Euler<NoseHooverChain>(dt), "nhc_euler");

  integrate(Euler<Langevin>(dt), "langevin");
}

// Assembly:
pushq %rbx
subq $0x2910, %rsp           # imm = 0x2910
movaps 0x3d35(%rip), %xmm0     # 0x5010
movaps %xmm0, 0x1410(%rsp)
movabsq $0x4010000000000000, %rax # imm = 0x4010000000000000
movq %rax, 0x1420(%rsp)
leaq 0x3e18(%rip), %rsi      # 0x5114
leaq 0x1530(%rsp), %rdi
leaq 0x13cf(%rsp), %rdx
callq 0x1040
movq 0x1420(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x1410(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x1530(%rsp), %rdi
callq 0x162a
leaq 0x1530(%rsp), %rdi
callq 0x1050
leaq 0x3dcf(%rip), %rsi      # 0x511a
leaq 0x1510(%rsp), %rdi
leaq 0x13cf(%rsp), %rdx
callq 0x1040
movsd 0x3d48(%rip), %xmm0     # 0x50b0
movsd 0x3d48(%rip), %xmm1     # 0x50b8
leaq 0x1510(%rsp), %rdi
callq 0x1a2c
leaq 0x1510(%rsp), %rdi
callq 0x1050
movaps 0x3c7f(%rip), %xmm0     # 0x5010
movaps %xmm0, 0x1450(%rsp)
movaps 0x3c80(%rip), %xmm0     # 0x5020
movaps %xmm0, 0x1460(%rsp)
leaq 0x3d74(%rip), %rsi      # 0x5123
leaq 0x14f0(%rsp), %rdi
leaq 0x13cf(%rsp), %rdx
callq 0x1040
movaps 0x1450(%rsp), %xmm0
movaps 0x1460(%rsp), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x14f0(%rsp), %rdi
callq 0x1e38
leaq 0x14f0(%rsp), %rdi
callq 0x1050
movaps 0x3c32(%rip), %xmm0     # 0x5030
movaps %xmm0, 0x13f0(%rsp)
movabsq $0x4018000000000000, %rax # imm = 0x4018000000000000
movq %rax, 0x1400(%rsp)
leaq 0x3d0a(%rip), %rsi      # 0x5129
leaq 0x14d0(%rsp), %rdi
leaq 0x13cf(%rsp), %rdx
callq 0x1040
movq 0x1400(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x13f0(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x14d0(%rsp), %rdi
callq 0x2240
leaq 0x14d0(%rsp), %rdi
callq 0x1050
movaps 0x3ba2(%rip), %xmm0     # 0x5010
movaps %xmm0, 0x1430(%rsp)
movaps 0x3bc3(%rip), %xmm0     # 0x5040
movaps %xmm0, 0x1440(%rsp)
leaq 0x3ca6(%rip), %rsi      # 0x5132
leaq 0x14b0(%rsp), %rdi
leaq 0x13cf(%rsp), %rdx
callq 0x1040
movaps 0x1430(%rsp), %xmm0
movaps 0x1440(%rsp), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x14b0(%rsp), %rdi
callq 0x2648
leaq 0x14b0(%rsp), %rdi
callq 0x1050
movaps 0x3b75(%rip), %xmm0     # 0x5050
movaps %xmm0, 0x13d0(%rsp)
movabsq $0x4014000000000000, %rax # imm = 0x4014000000000000
movq %rax, 0x13e0(%rsp)
leaq 0x3c3d(%rip), %rsi      # 0x5139
leaq 0x1490(%rsp), %rdi
leaq 0x13cf(%rsp), %rdx
callq 0x1040
movq 0x13e0(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x13d0(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x1490(%rsp), %rdi
callq 0x2a50
leaq 0x1490(%rsp), %rdi
callq 0x1050
movabsq $0x3f50624dd2f1a9fc, %rax # imm = 0x3F50624DD2F1A9FC
leaq 0x1558(%rsp), %rdi
movq %rax, -0x8(%rdi)
callq 0x456c
leaq 0x3bdd(%rip), %rsi      # 0x5143
leaq 0x1470(%rsp), %rdi
leaq 0x13cf(%rsp), %rdx
callq 0x1040
leaq 0x1550(%rsp), %rsi
movl $0x278, %ecx            # imm = 0x278
movq %rsp, %rdi
rep  movsq (%rsi), %es:(%rdi)
leaq 0x1470(%rsp), %rdi
callq 0x2e58
leaq 0x1470(%rsp), %rdi
callq 0x1050
xorl %eax, %eax
addq $0x2910, %rsp           # imm = 0x2910
popq %rbx
retq
movq %rax, %rbx
leaq 0x1470(%rsp), %rdi
jmp 0x1618
jmp 0x161f
movq %rax, %rbx
leaq 0x1490(%rsp), %rdi
jmp 0x1618
jmp 0x161f
movq %rax, %rbx
leaq 0x14b0(%rsp), %rdi
jmp 0x1618
jmp 0x161f
movq %rax, %rbx
leaq 0x14d0(%rsp), %rdi
jmp 0x1618
jmp 0x161f
movq %rax, %rbx
leaq 0x14f0(%rsp), %rdi
jmp 0x1618
jmp 0x161f
movq %rax, %rbx
leaq 0x1510(%rsp), %rdi
jmp 0x1618
jmp 0x161f
movq %rax, %rbx
leaq 0x1530(%rsp), %rdi
callq 0x1050
jmp 0x1622
movq %rax, %rbx
movq %rbx, %rdi
callq 0x1180