// File: /workspace/github_cpp_makefile_star2_O1/SneachChea[P]Wolf-Monte-Carlo-Cpp/config.cpp
// Function: get_params()
parameters get_params(){
    ifstream param_file;
    parameters current_param;
    string line;
    string value;
    param_file.open("param.dat", ios::in);

    if(param_file.is_open()){
      cout<<"param.dat file found"<<endl;
    }else{
      cout<<"param.dat file not found"<<endl;
      exit(EXIT_FAILURE);
      return current_param;
    }
    while(param_file >>line>>value){
      cout<<line<<" "<<value<<endl;
      if(line =="L"){ current_param.L = stoi(value);}
      if(line =="Ntrials"){current_param.Ntrials= stoi(value);}
        if(line =="nT"){current_param.nT= stoi(value);}
        if(line =="Tmin"){current_param.Tmin= stod(value);}
        if(line =="Tmax"){current_param.Tmax= stod(value);}

        }
        
    return current_param;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x278, %rsp            # imm = 0x278
movq %rdi, 0x10(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2250
leaq 0x60(%rsp), %r14
movq %r14, -0x10(%r14)
xorl %eax, %eax
movq %rax, -0x8(%r14)
movb %al, (%r14)
leaq 0x40(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x17e1(%rip), %rsi      # 0x6340
movq %rbx, %rdi
movl $0x8, %edx
callq 0x2140
leaq 0xe8(%rsp), %rdi
callq 0x2060
testb %al, %al
je 0x50f0
movq 0x4450(%rip), %rbx      # 0x8fd8
leaq 0x17bb(%rip), %rsi      # 0x634a
movl $0x14, %edx
movq %rbx, %rdi
callq 0x2260
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq 0x441e(%rip), %rdi      # 0x8fd8
callq 0x2030
movq %rax, %rdi
callq 0x2160
movabsq $-0x100000000, %r14     # imm = 0xFFFFFFFF00000000
movq 0x10(%rsp), %rax
movl (%rax), %ecx
movl %ecx, 0xc(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x8(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x4(%rsp)
vmovsd 0x10(%rax), %xmm0
vmovsd %xmm0, 0x20(%rsp)
vmovsd 0x18(%rax), %xmm0
vmovsd %xmm0, 0x18(%rsp)
leaq 0x50(%rsp), %r15
leaq 0x28(%rsp), %r13
leaq 0x70(%rsp), %rdi
movq %r15, %rsi
callq 0x2290
movq %rax, %rdi
leaq 0x30(%rsp), %rsi
callq 0x2290
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x4ea0
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
movq 0x4391(%rip), %rdi      # 0x8fd8
callq 0x2260
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
leaq 0x171a(%rip), %rsi      # 0x6378
callq 0x2260
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq %rbp, %rdi
callq 0x2260
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2160
movq %r15, %rdi
leaq 0x1431(%rip), %rsi      # 0x60da
callq 0x2090
testl %eax, %eax
jne 0x4d0b
movq 0x30(%rsp), %rbx
callq 0x2040
movq %rax, %rbp
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x22b0
cmpq %rbx, 0x28(%rsp)
je 0x4fc9
leaq -0x80000000(%rax), %rcx
cmpq %r14, %rcx
jb 0x5004
movl (%rbp), %ecx
cmpl $0x22, %ecx
je 0x5004
testl %ecx, %ecx
jne 0x4d07
movl %r12d, (%rbp)
movl %eax, 0xc(%rsp)
movq %r15, %rdi
leaq 0x13c8(%rip), %rsi      # 0x60dd
callq 0x2090
testl %eax, %eax
jne 0x4d77
movq 0x30(%rsp), %rbx
callq 0x2040
movq %rax, %rbp
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x22b0
cmpq %rbx, 0x28(%rsp)
je 0x4f53
leaq -0x80000000(%rax), %rcx
cmpq %r14, %rcx
jb 0x4f8e
movl (%rbp), %ecx
cmpl $0x22, %ecx
je 0x4f8e
testl %ecx, %ecx
jne 0x4d73
movl %r12d, (%rbp)
movl %eax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x15f9(%rip), %rsi      # 0x637a
callq 0x2090
testl %eax, %eax
jne 0x4de3
movq 0x30(%rsp), %rbx
callq 0x2040
movq %rax, %rbp
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
movq %r13, %rsi
movl $0xa, %edx
callq 0x22b0
cmpq %rbx, 0x28(%rsp)
je 0x4f18
leaq -0x80000000(%rax), %rcx
cmpq %r14, %rcx
jb 0x503f
movl (%rbp), %ecx
cmpl $0x22, %ecx
je 0x503f
testl %ecx, %ecx
jne 0x4ddf
movl %r12d, (%rbp)
movl %eax, 0x4(%rsp)
movq %r15, %rdi
leaq 0x1590(%rip), %rsi      # 0x637d
callq 0x2090
testl %eax, %eax
jne 0x4e3d
movq 0x30(%rsp), %rbx
callq 0x2040
movq %rax, %rbp
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x21a0
cmpq %rbx, 0x28(%rsp)
je 0x507a
movl (%rbp), %eax
testl %eax, %eax
je 0x4e33
cmpl $0x22, %eax
jne 0x4e37
jmp 0x50b5
movl %r12d, (%rbp)
vmovsd %xmm0, 0x20(%rsp)
movq %r15, %rdi
leaq 0x153b(%rip), %rsi      # 0x6382
callq 0x2090
testl %eax, %eax
jne 0x4c0a
movq 0x30(%rsp), %rbx
callq 0x2040
movq %rax, %rbp
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x21a0
cmpq %rbx, 0x28(%rsp)
je 0x511e
movl (%rbp), %eax
testl %eax, %eax
je 0x4e91
cmpl $0x22, %eax
jne 0x4e95
jmp 0x5159
movl %r12d, (%rbp)
vmovsd %xmm0, 0x18(%rsp)
jmp 0x4c0a
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x4ee3
callq 0x2200
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x4ef7
callq 0x2200
leaq 0x70(%rsp), %rdi
callq 0x2070
movq 0x10(%rsp), %rax
addq $0x278, %rsp            # imm = 0x278
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x1439(%rip), %rdi      # 0x6387
callq 0x2130
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x13fe(%rip), %rdi      # 0x6387
callq 0x2130
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x13c3(%rip), %rdi      # 0x6387
callq 0x22d0
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x1388(%rip), %rdi      # 0x6387
callq 0x2130
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x134d(%rip), %rdi      # 0x6387
callq 0x22d0
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x1312(%rip), %rdi      # 0x6387
callq 0x22d0
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x12dc(%rip), %rdi      # 0x638c
callq 0x2130
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x12a1(%rip), %rdi      # 0x638c
callq 0x22d0
movq 0x3ee1(%rip), %rdi      # 0x8fd8
leaq 0x1261(%rip), %rsi      # 0x635f
movl $0x18, %edx
callq 0x2260
movq 0x3ec9(%rip), %rdi      # 0x8fd8
callq 0x20f0
movl $0x1, %edi
callq 0x2280
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x1238(%rip), %rdi      # 0x638c
callq 0x2130
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x11fd(%rip), %rdi      # 0x638c
callq 0x22d0
jmp 0x51a1
movq %rax, %rbx
jmp 0x51e7
jmp 0x51a1
jmp 0x51a1
jmp 0x51a1
movq %rax, %rbx
cmpl $0x0, (%rbp)
jne 0x51e2
movl %r12d, (%rbp)
jmp 0x51e2
movq %rax, %rbx
movq 0x10(%rsp), %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x4(%rax)
movl 0x4(%rsp), %ecx
movl %ecx, 0x8(%rax)
vmovsd 0x20(%rsp), %xmm0
vmovsd %xmm0, 0x10(%rax)
vmovsd 0x18(%rsp), %xmm0
vmovsd %xmm0, 0x18(%rax)
movl 0xc(%rsp), %ecx
movl %ecx, (%rax)
leaq 0x60(%rsp), %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x51fb
callq 0x2200
movq 0x50(%rsp), %rdi
cmpq %r14, %rdi
je 0x520a
callq 0x2200
leaq 0x70(%rsp), %rdi
callq 0x2070
movq %rbx, %rdi
callq 0x2350