int GetLengthSymbol(int l) {
  static const int table[259] = {
      0,   0,   0,   257, 258, 259, 260, 261, 262, 263, 264, 265, 265, 266, 266,
      267, 267, 268, 268, 269, 269, 269, 269, 270, 270, 270, 270, 271, 271, 271,
      271, 272, 272, 272, 272, 273, 273, 273, 273, 273, 273, 273, 273, 274, 274,
      274, 274, 274, 274, 274, 274, 275, 275, 275, 275, 275, 275, 275, 275, 276,
      276, 276, 276, 276, 276, 276, 276, 277, 277, 277, 277, 277, 277, 277, 277,
      277, 277, 277, 277, 277, 277, 277, 277, 278, 278, 278, 278, 278, 278, 278,
      278, 278, 278, 278, 278, 278, 278, 278, 278, 279, 279, 279, 279, 279, 279,
      279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 280, 280, 280, 280, 280,
      280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 281, 281, 281,
      281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
      281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 282, 282,
      282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282,
      282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282,
      283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
      283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
      283, 283, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
      284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
      284, 284, 284, 285};
  return table[l];
}


x86 assembly (clang, -O0):
<GetLengthSymbol>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
movslq -0x4(%rbp),%rcx
lea    0xeee(%rip),%rax
mov    (%rax,%rcx,4),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<GetLengthSymbol>:
movslq %edi,%rax
lea    0xef6(%rip),%rcx
mov    (%rcx,%rax,4),%eax
ret

LLVM IR (-O0):
@GetLengthSymbol.table = internal constant [259 x i32] [i32 0, i32 0, i32 0, i32 257, i32 258, i32 259, i32 260, i32 261, i32 262, i32 263, i32 264, i32 265, i32 265, i32 266, i32 266, i32 267, i32 267, i32 268, i32 268, i32 269, i32 269, i32 269, i32 269, i32 270, i32 270, i32 270, i32 270, i32 271, i32 271, i32 271, i32 271, i32 272, i32 272, i32 272, i32 272, i32 273, i32 273, i32 273, i32 273, i32 273, i32 273, i32 273, i32 273, i32 274, i32 274, i32 274, i32 274, i32 274, i32 274, i32 274, i32 274, i32 275, i32 275, i32 275, i32 275, i32 275, i32 275, i32 275, i32 275, i32 276, i32 276, i32 276, i32 276, i32 276, i32 276, i32 276, i32 276, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 285]
define i32 @GetLengthSymbol(i32 %0) {
%2 = alloca i32
store i32 %0, i32* %2
%3 = load i32, i32* %2
%4 = sext i32 %3 to i64
%5 = getelementptr inbounds [259 x i32], [259 x i32]* @GetLengthSymbol.table, i64 0, i64 %4
%6 = load i32, i32* %5
ret i32 %6
}

LLVM IR (-O2):
@GetLengthSymbol.table = internal unnamed_addr constant [259 x i32] [i32 0, i32 0, i32 0, i32 257, i32 258, i32 259, i32 260, i32 261, i32 262, i32 263, i32 264, i32 265, i32 265, i32 266, i32 266, i32 267, i32 267, i32 268, i32 268, i32 269, i32 269, i32 269, i32 269, i32 270, i32 270, i32 270, i32 270, i32 271, i32 271, i32 271, i32 271, i32 272, i32 272, i32 272, i32 272, i32 273, i32 273, i32 273, i32 273, i32 273, i32 273, i32 273, i32 273, i32 274, i32 274, i32 274, i32 274, i32 274, i32 274, i32 274, i32 274, i32 275, i32 275, i32 275, i32 275, i32 275, i32 275, i32 275, i32 275, i32 276, i32 276, i32 276, i32 276, i32 276, i32 276, i32 276, i32 276, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 277, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 278, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 279, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 280, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 281, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 282, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 283, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 284, i32 285]
define i32 @GetLengthSymbol(i32 %0) {
%2 = sext i32 %0 to i64
%3 = getelementptr inbounds [259 x i32], [259 x i32]* @GetLengthSymbol.table, i64 0, i64 %2
%4 = load i32, i32* %3
ret i32 %4
}