// File: /workspace/github_cpp_makefile_star2_O1/antoniogarro[P]Hara/./mersenne.h
// Function: genrand64_int64()
static unsigned long long genrand64_int64(void)
{
    int i;
    unsigned long long x;
    static unsigned long long mag01[2]={0ULL, MATRIX_A};

    if (mti >= NN) { /* generate NN words at one time */

        /* if init_genrand64() has not been called, */
        /* a default initial seed is used     */
        if (mti == NN+1) 
            init_genrand64(5489ULL); 

        for (i=0;i<NN-MM;i++) {
            x = (mt[i]&UM)|(mt[i+1]&LM);
            mt[i] = mt[i+MM] ^ (x>>1) ^ mag01[(int)(x&1ULL)];
        }
        for (;i<NN-1;i++) {
            x = (mt[i]&UM)|(mt[i+1]&LM);
            mt[i] = mt[i+(MM-NN)] ^ (x>>1) ^ mag01[(int)(x&1ULL)];
        }
        x = (mt[NN-1]&UM)|(mt[0]&LM);
        mt[NN-1] = mt[MM-1] ^ (x>>1) ^ mag01[(int)(x&1ULL)];

        mti = 0;
    }
  
    x = mt[mti++];

    x ^= (x >> 29) & 0x5555555555555555ULL;
    x ^= (x << 17) & 0x71D67FFFEDA60000ULL;
    x ^= (x << 37) & 0xFFF7EEE000000000ULL;
    x ^= (x >> 43);

    return x;
}

// Assembly:
movl 0x551e(%rip), %eax      # 0x101c8
cmpl $0x138, %eax            # imm = 0x138
jl 0xae02
cmpl $0x139, %eax            # imm = 0x139
jne 0xad0f
movq $0x1571, 0x5ef9(%rip) # imm = 0x1571
movl $0x1, %eax
movl $0x1571, %edi           # imm = 0x1571
movabsq $0x5851f42d4c957f2d, %rcx # imm = 0x5851F42D4C957F2D
leaq 0x5ede(%rip), %rdx      # 0x10bc0
movq %rdi, %rsi
shrq $0x3e, %rsi
xorq %rdi, %rsi
imulq %rcx, %rsi
addq %rax, %rsi
movq %rsi, (%rdx,%rax,8)
incq %rax
movq %rsi, %rdi
cmpq $0x138, %rax            # imm = 0x138
jne 0xace5
movl $0x138, 0x54b9(%rip)    # imm = 0x138
movq $-0x9c, %rdx
leaq 0x5ea3(%rip), %rcx      # 0x10bc0
movq $-0x80000000, %rsi      # imm = 0x80000000
leaq 0xb55(%rip), %rax       # 0xb880
movq 0x4e0(%rcx,%rdx,8), %rdi
andq %rsi, %rdi
movq 0x4e8(%rcx,%rdx,8), %r8
movl %r8d, %r9d
andl $0x7ffffffe, %r9d       # imm = 0x7FFFFFFE
orq %rdi, %r9
andl $0x1, %r8d
movq (%rax,%r8,8), %rdi
xorq 0x9c0(%rcx,%rdx,8), %rdi
shrq %r9
xorq %r9, %rdi
movq %rdi, 0x4e0(%rcx,%rdx,8)
incq %rdx
jne 0xad2b
xorl %edx, %edx
movq $-0x80000000, %rsi      # imm = 0x80000000
movq 0x4e0(%rcx,%rdx,8), %rdi
andq %rsi, %rdi
movq 0x4e8(%rcx,%rdx,8), %r8
movl %r8d, %r9d
andl $0x7ffffffe, %r9d       # imm = 0x7FFFFFFE
orq %rdi, %r9
shrq %r9
andl $0x1, %r8d
movq (%rax,%r8,8), %rdi
xorq (%rcx,%rdx,8), %rdi
xorq %r9, %rdi
movq %rdi, 0x4e0(%rcx,%rdx,8)
incq %rdx
cmpq $0x9b, %rdx
jne 0xad77
movq $-0x80000000, %rcx      # imm = 0x80000000
andq 0x67ad(%rip), %rcx      # 0x11578
movq 0x5dee(%rip), %rdx      # 0x10bc0
movl %edx, %esi
andl $0x7ffffffe, %esi       # imm = 0x7FFFFFFE
orq %rcx, %rsi
andl $0x1, %edx
movq (%rax,%rdx,8), %rax
xorq 0x62ad(%rip), %rax      # 0x11098
shrq %rsi
xorq %rsi, %rax
movq %rax, 0x6780(%rip)      # 0x11578
movl $0x0, 0x53c6(%rip)      # 0x101c8
movslq 0x53bf(%rip), %rax      # 0x101c8
leal 0x1(%rax), %ecx
movl %ecx, 0x53b6(%rip)      # 0x101c8
leaq 0x5da7(%rip), %rcx      # 0x10bc0
movq (%rcx,%rax,8), %rax
movq %rax, %rcx
shrq $0x1d, %rcx
movabsq $0x555555555, %rdx      # imm = 0x555555555
andq %rcx, %rdx
xorq %rax, %rdx
movq %rdx, %rax
shlq $0x11, %rax
movabsq $0x71d67fffeda60000, %rcx # imm = 0x71D67FFFEDA60000
andq %rax, %rcx
xorq %rdx, %rcx
movl %ecx, %edx
andl $0x7ffbf77, %edx        # imm = 0x7FFBF77
shlq $0x25, %rdx
xorq %rcx, %rdx
movq %rdx, %rax
shrq $0x2b, %rax
xorq %rdx, %rax
retq
nop