// File: /workspace/github_c_makefile_star2_O0/hermantb[P]fast_convert/tst_convert.c
// Function: init
static uint64_t
init (uint64_t r, unsigned int sign, unsigned int size, unsigned int base,
      unsigned int prefix)
{
  unsigned int i;

  for (i = 0; i < N; i++) {
    unsigned int t;
    uint64_t v;
    uint64_t m = UINT64_C (1) << (size - 1);
    char tmp[70];
    char *cp;

    r = r * RAND_IA + RAND_IC;
    v = (r >> 16) & UINT64_C (0xFFFFFFFF);
    if (size == 64) {
      r = r * RAND_IA + RAND_IC;
      v |= ((r >> 16) & UINT64_C (0xFFFFFFFF)) << 32;
    }
    cp = &tmp[sizeof (tmp) - 1];
    *cp = '\0';
    t = 0;
    if (sign && (v & m)) {
      t = 1;
      v = ~v + 1;
      if (size == 32) {
	v &= UINT64_C (0xFFFFFFFF);
      }
    }
    do {
      *--cp = "0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ"[v % base];
      v /= base;
    } while (v);
    if (prefix && base == 8) {
      *--cp = '0';
    }
    if (prefix && base == 10) {
      *--cp = '0';
    }
    if (prefix && base == 16) {
      *--cp = 'x';
      *--cp = '0';
    }
    if (t) {
      *--cp = '-';
    }
    strcpy (str[i], cp);
  }
  return r;
}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movl %esi, 0x7c(%rsp)
movl %edx, 0x78(%rsp)
movl %ecx, 0x74(%rsp)
movl %r8d, 0x70(%rsp)
movl $0x0, 0x6c(%rsp)
cmpl $0x100000, 0x6c(%rsp)   # imm = 0x100000
jae 0x11177
movl 0x78(%rsp), %eax
subl $0x1, %eax
movl %eax, %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, 0x58(%rsp)
movabsq $0x5851f42d4c957f2d, %rax # imm = 0x5851F42D4C957F2D
imulq 0x80(%rsp), %rax
movabsq $0x14057b7ef767814f, %rcx # imm = 0x14057B7EF767814F
addq %rcx, %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rax
shrq $0x10, %rax
movabsq $0xffffffff, %rcx       # imm = 0xFFFFFFFF
andq %rcx, %rax
movq %rax, 0x60(%rsp)
cmpl $0x40, 0x78(%rsp)
jne 0x10ffa
movabsq $0x5851f42d4c957f2d, %rax # imm = 0x5851F42D4C957F2D
imulq 0x80(%rsp), %rax
movabsq $0x14057b7ef767814f, %rcx # imm = 0x14057B7EF767814F
addq %rcx, %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rax
shrq $0x10, %rax
movabsq $0xffffffff, %rcx       # imm = 0xFFFFFFFF
andq %rcx, %rax
shlq $0x20, %rax
orq 0x60(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x10(%rsp), %rax
addq $0x45, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movb $0x0, (%rax)
movl $0x0, 0x68(%rsp)
cmpl $0x0, 0x7c(%rsp)
je 0x11066
movq 0x60(%rsp), %rax
andq 0x58(%rsp), %rax
cmpq $0x0, %rax
je 0x11066
movl $0x1, 0x68(%rsp)
movq 0x60(%rsp), %rax
xorq $-0x1, %rax
addq $0x1, %rax
movq %rax, 0x60(%rsp)
cmpl $0x20, 0x78(%rsp)
jne 0x11064
movabsq $0xffffffff, %rax       # imm = 0xFFFFFFFF
andq 0x60(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x11066
jmp 0x11068
movq 0x60(%rsp), %rax
movl 0x74(%rsp), %ecx
xorl %edx, %edx
divq %rcx
leaq 0x10294(%rip), %rax     # 0x21311
movb (%rax,%rdx), %cl
movq 0x8(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, 0x8(%rsp)
movb %cl, -0x1(%rax)
movl 0x74(%rsp), %eax
movl %eax, %ecx
movq 0x60(%rsp), %rax
xorl %edx, %edx
divq %rcx
movq %rax, 0x60(%rsp)
cmpq $0x0, 0x60(%rsp)
jne 0x11068
cmpl $0x0, 0x70(%rsp)
je 0x110d4
cmpl $0x8, 0x74(%rsp)
jne 0x110d4
movq 0x8(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x8(%rsp)
movb $0x30, -0x1(%rax)
cmpl $0x0, 0x70(%rsp)
je 0x110f7
cmpl $0xa, 0x74(%rsp)
jne 0x110f7
movq 0x8(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x8(%rsp)
movb $0x30, -0x1(%rax)
cmpl $0x0, 0x70(%rsp)
je 0x1112f
cmpl $0x10, 0x74(%rsp)
jne 0x1112f
movq 0x8(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x8(%rsp)
movb $0x78, -0x1(%rax)
movq 0x8(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x8(%rsp)
movb $0x30, -0x1(%rax)
cmpl $0x0, 0x68(%rsp)
je 0x1114b
movq 0x8(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x8(%rsp)
movb $0x2d, -0x1(%rax)
movl 0x6c(%rsp), %eax
leaq 0x126fa(%rip), %rdi     # 0x23850
imulq $0x46, %rax, %rax
addq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0x1040
movl 0x6c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6c(%rsp)
jmp 0x10f38
movq 0x80(%rsp), %rax
addq $0x88, %rsp
retq