void seq2xy(int *x, int *y, unsigned seq) {
  unsigned rep;
  if (seq >=
      ((long)(((24 - 2 * 3) * ((2 * 2 + (24 * (65 - 1) + 2 * 3)) - 2 * 2)) +
              ((2 * 3) * ((24 - 2 * 3) * (65 - 1)))) *
           (93 - 1) +
       ((2 * 3) * ((24 - 2 * 3) * (65 - 1))))) {
    *x = -1;
    *y = -1;
    return;
  }
  rep = seq / (((24 - 2 * 3) * ((2 * 2 + (24 * (65 - 1) + 2 * 3)) - 2 * 2)) +
               ((2 * 3) * ((24 - 2 * 3) * (65 - 1))));
  seq = seq % (((24 - 2 * 3) * ((2 * 2 + (24 * (65 - 1) + 2 * 3)) - 2 * 2)) +
               ((2 * 3) * ((24 - 2 * 3) * (65 - 1))));
  *y = ((2 * 3) + (24 - 2 * 3)) * rep;
  if (seq >= ((2 * 3) * ((24 - 2 * 3) * (65 - 1)))) {
    *y += (2 * 3);
    seq -= ((2 * 3) * ((24 - 2 * 3) * (65 - 1)));
    *y += seq / ((2 * 2 + (24 * (65 - 1) + 2 * 3)) - 2 * 2);
    *x = seq % ((2 * 2 + (24 * (65 - 1) + 2 * 3)) - 2 * 2);
  } else {
    unsigned gap;
    *x = 2 * 3;
    *y += seq / ((24 - 2 * 3) * (65 - 1));
    seq %= ((24 - 2 * 3) * (65 - 1));
    gap = seq / (24 - 2 * 3);
    *x += gap * 24;
    seq %= (24 - 2 * 3);
    *x += seq;
  }
}


x86 assembly (clang, -O0):
<seq2xy>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    -0x14(%rbp),%eax
cmp    $0x30c5d0,%rax
jl     1137 <seq2xy+0x37>
mov    -0x8(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
jmp    1213 <seq2xy+0x113>
mov    -0x14(%rbp),%eax
mov    $0x876c,%ecx
xor    %edx,%edx
div    %ecx
mov    %eax,-0x18(%rbp)
mov    -0x14(%rbp),%eax
mov    $0x876c,%ecx
xor    %edx,%edx
div    %ecx
mov    %edx,-0x14(%rbp)
imul   $0x18,-0x18(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,(%rax)
cmpl   $0x1b00,-0x14(%rbp)
jb     11af <seq2xy+0xaf>
mov    -0x10(%rbp),%rax
mov    (%rax),%ecx
add    $0x6,%ecx
mov    %ecx,(%rax)
mov    -0x14(%rbp),%eax
sub    $0x1b00,%eax
mov    %eax,-0x14(%rbp)
mov    -0x14(%rbp),%eax
mov    $0x606,%ecx
xor    %edx,%edx
div    %ecx
mov    %eax,%ecx
mov    -0x10(%rbp),%rax
add    (%rax),%ecx
mov    %ecx,(%rax)
mov    -0x14(%rbp),%eax
mov    $0x606,%ecx
xor    %edx,%edx
div    %ecx
mov    -0x8(%rbp),%rax
mov    %edx,(%rax)
jmp    1213 <seq2xy+0x113>
mov    -0x8(%rbp),%rax
movl   $0x6,(%rax)
mov    -0x14(%rbp),%eax
mov    $0x480,%ecx
xor    %edx,%edx
div    %ecx
mov    %eax,%ecx
mov    -0x10(%rbp),%rax
add    (%rax),%ecx
mov    %ecx,(%rax)
mov    -0x14(%rbp),%eax
mov    $0x480,%ecx
xor    %edx,%edx
div    %ecx
mov    %edx,-0x14(%rbp)
mov    -0x14(%rbp),%eax
mov    $0x12,%ecx
xor    %edx,%edx
div    %ecx
mov    %eax,-0x1c(%rbp)
imul   $0x18,-0x1c(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    (%rax),%ecx
mov    %ecx,(%rax)
mov    -0x14(%rbp),%eax
mov    $0x12,%ecx
xor    %edx,%edx
div    %ecx
mov    %edx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    (%rax),%ecx
mov    %ecx,(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<seq2xy>:
cmp    $0x30c5d0,%edx
jb     1115 <seq2xy+0x15>
movl   $0xffffffff,(%rdi)
movl   $0xffffffff,(%rsi)
ret
mov    %edx,%eax
imul   $0x78fc217,%rax,%rax
shr    $0x2a,%rax
imul   $0x876c,%eax,%ecx
sub    %ecx,%edx
shl    $0x3,%eax
lea    (%rax,%rax,2),%eax
mov    %eax,(%rsi)
cmp    $0x1b00,%edx
jb     1161 <seq2xy+0x61>
or     $0x6,%eax
add    $0xffffe500,%edx
movzwl %dx,%ecx
imul   $0xaa01,%ecx,%ecx
shr    $0x1a,%ecx
add    %ecx,%eax
mov    %eax,(%rsi)
imul   $0x606,%ecx,%eax
sub    %eax,%edx
movzwl %dx,%eax
mov    %eax,(%rdi)
ret
movl   $0x6,(%rdi)
movzwl %dx,%eax
imul   $0xe38f,%eax,%eax
shr    $0x1a,%eax
add    %eax,(%rsi)
shl    $0x7,%eax
lea    (%rax,%rax,8),%eax
sub    %eax,%edx
movzwl %dx,%eax
imul   $0xe38f,%eax,%eax
shr    $0x14,%eax
lea    (%rax,%rax,2),%ecx
add    %eax,%eax
lea    (%rax,%rax,8),%eax
sub    %eax,%edx
lea    (%rdx,%rcx,8),%eax
movzwl %ax,%eax
add    (%rdi),%eax
mov    %eax,(%rdi)
ret

LLVM IR (-O0):
define void @seq2xy(i32* %0, i32* %1, i32 %2) {
%4 = alloca i32*
%5 = alloca i32*
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
store i32* %0, i32** %4
store i32* %1, i32** %5
store i32 %2, i32* %6
%9 = load i32, i32* %6
%10 = zext i32 %9 to i64
%11 = icmp sge i64 %10, 3196368
br i1 %11, label %12, label %15
12: ; preds = %3
%13 = load i32*, i32** %4
store i32 -1, i32* %13
%14 = load i32*, i32** %5
store i32 -1, i32* %14
br label %61
15: ; preds = %3
%16 = load i32, i32* %6
%17 = udiv i32 %16, 34668
store i32 %17, i32* %7
%18 = load i32, i32* %6
%19 = urem i32 %18, 34668
store i32 %19, i32* %6
%20 = load i32, i32* %7
%21 = mul i32 24, %20
%22 = load i32*, i32** %5
store i32 %21, i32* %22
%23 = load i32, i32* %6
%24 = icmp uge i32 %23, 6912
br i1 %24, label %25, label %39
25: ; preds = %15
%26 = load i32*, i32** %5
%27 = load i32, i32* %26
%28 = add nsw i32 %27, 6
store i32 %28, i32* %26
%29 = load i32, i32* %6
%30 = sub i32 %29, 6912
store i32 %30, i32* %6
%31 = load i32, i32* %6
%32 = udiv i32 %31, 1542
%33 = load i32*, i32** %5
%34 = load i32, i32* %33
%35 = add i32 %34, %32
store i32 %35, i32* %33
%36 = load i32, i32* %6
%37 = urem i32 %36, 1542
%38 = load i32*, i32** %4
store i32 %37, i32* %38
br label %61
39: ; preds = %15
%40 = load i32*, i32** %4
store i32 6, i32* %40
%41 = load i32, i32* %6
%42 = udiv i32 %41, 1152
%43 = load i32*, i32** %5
%44 = load i32, i32* %43
%45 = add i32 %44, %42
store i32 %45, i32* %43
%46 = load i32, i32* %6
%47 = urem i32 %46, 1152
store i32 %47, i32* %6
%48 = load i32, i32* %6
%49 = udiv i32 %48, 18
store i32 %49, i32* %8
%50 = load i32, i32* %8
%51 = mul i32 %50, 24
%52 = load i32*, i32** %4
%53 = load i32, i32* %52
%54 = add i32 %53, %51
store i32 %54, i32* %52
%55 = load i32, i32* %6
%56 = urem i32 %55, 18
store i32 %56, i32* %6
%57 = load i32, i32* %6
%58 = load i32*, i32** %4
%59 = load i32, i32* %58
%60 = add i32 %59, %57
store i32 %60, i32* %58
br label %61
61: ; preds = %12, %39, %25
ret void
}

LLVM IR (-O2):
define void @seq2xy(i32* nocapture %0, i32* nocapture %1, i32 %2) {
%4 = icmp ugt i32 %2, 3196367
br i1 %4, label %5, label %6
5: ; preds = %3
store i32 -1, i32* %0
store i32 -1, i32* %1
br label %36
6: ; preds = %3
%7 = udiv i32 %2, 34668
%8 = urem i32 %2, 34668
%9 = mul nuw nsw i32 %7, 24
store i32 %9, i32* %1
%10 = icmp ugt i32 %8, 6911
br i1 %10, label %11, label %20
11: ; preds = %6
%12 = or i32 %9, 6
%13 = trunc i32 %8 to i16
%14 = add i16 %13, -6912
%15 = udiv i16 %14, 1542
%16 = zext i16 %15 to i32
%17 = add nuw nsw i32 %12, %16
store i32 %17, i32* %1
%18 = urem i16 %14, 1542
%19 = zext i16 %18 to i32
br label %34
20: ; preds = %6
store i32 6, i32* %0
%21 = trunc i32 %8 to i16
%22 = udiv i16 %21, 1152
%23 = zext i16 %22 to i32
%24 = load i32, i32* %1
%25 = add i32 %24, %23
store i32 %25, i32* %1
%26 = urem i16 %21, 1152
%27 = udiv i16 %26, 18
%28 = mul nuw nsw i16 %27, 24
%29 = load i32, i32* %0
%30 = urem i16 %26, 18
%31 = add nuw nsw i16 %28, %30
%32 = zext i16 %31 to i32
%33 = add i32 %29, %32
br label %34
34: ; preds = %20, %11
%35 = phi i32 [ %33, %20 ], [ %19, %11 ]
store i32 %35, i32* %0
br label %36
36: ; preds = %34, %5
ret void
}