int mit_hrtf_findAzimuthFor40Elev(int azimuth) {
  if (azimuth >= 0 && azimuth < 4)
    return 0;
  else if (azimuth >= 4 && azimuth < 10)
    return 6;
  else if (azimuth >= 10 && azimuth < 17)
    return 13;
  else if (azimuth >= 17 && azimuth < 23)
    return 19;
  else if (azimuth >= 23 && azimuth < 30)
    return 26;
  else if (azimuth >= 30 && azimuth < 36)
    return 32;
  else if (azimuth >= 36 && azimuth < 43)
    return 39;
  else if (azimuth >= 43 && azimuth < 49)
    return 45;
  else if (azimuth >= 49 && azimuth < 55)
    return 51;
  else if (azimuth >= 55 && azimuth < 62)
    return 58;
  else if (azimuth >= 62 && azimuth < 68)
    return 64;
  else if (azimuth >= 68 && azimuth < 75)
    return 71;
  else if (azimuth >= 75 && azimuth < 81)
    return 77;
  else if (azimuth >= 81 && azimuth < 88)
    return 84;
  else if (azimuth >= 88 && azimuth < 94)
    return 90;
  else if (azimuth >= 94 && azimuth < 100)
    return 96;
  else if (azimuth >= 100 && azimuth < 107)
    return 103;
  else if (azimuth >= 107 && azimuth < 113)
    return 109;
  else if (azimuth >= 113 && azimuth < 120)
    return 116;
  else if (azimuth >= 120 && azimuth < 126)
    return 122;
  else if (azimuth >= 126 && azimuth < 133)
    return 129;
  else if (azimuth >= 133 && azimuth < 139)
    return 135;
  else if (azimuth >= 139 && azimuth < 145)
    return 141;
  else if (azimuth >= 145 && azimuth < 152)
    return 148;
  else if (azimuth >= 152 && azimuth < 158)
    return 154;
  else if (azimuth >= 158 && azimuth < 165)
    return 161;
  else if (azimuth >= 165 && azimuth < 171)
    return 167;
  else if (azimuth >= 171 && azimuth < 178)
    return 174;
  else
    return 180;
}


x86 assembly (clang, -O0):
<mit_hrtf_findAzimuthFor40Elev>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x8(%rbp)
cmpl   $0x0,-0x8(%rbp)
jl     1127 <mit_hrtf_findAzimuthFor40Elev+0x27>
cmpl   $0x4,-0x8(%rbp)
jge    1127 <mit_hrtf_findAzimuthFor40Elev+0x27>
movl   $0x0,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x4,-0x8(%rbp)
jl     1147 <mit_hrtf_findAzimuthFor40Elev+0x47>
cmpl   $0xa,-0x8(%rbp)
jge    1147 <mit_hrtf_findAzimuthFor40Elev+0x47>
movl   $0x6,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0xa,-0x8(%rbp)
jl     1167 <mit_hrtf_findAzimuthFor40Elev+0x67>
cmpl   $0x11,-0x8(%rbp)
jge    1167 <mit_hrtf_findAzimuthFor40Elev+0x67>
movl   $0xd,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x11,-0x8(%rbp)
jl     1187 <mit_hrtf_findAzimuthFor40Elev+0x87>
cmpl   $0x17,-0x8(%rbp)
jge    1187 <mit_hrtf_findAzimuthFor40Elev+0x87>
movl   $0x13,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x17,-0x8(%rbp)
jl     11a7 <mit_hrtf_findAzimuthFor40Elev+0xa7>
cmpl   $0x1e,-0x8(%rbp)
jge    11a7 <mit_hrtf_findAzimuthFor40Elev+0xa7>
movl   $0x1a,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x1e,-0x8(%rbp)
jl     11c7 <mit_hrtf_findAzimuthFor40Elev+0xc7>
cmpl   $0x24,-0x8(%rbp)
jge    11c7 <mit_hrtf_findAzimuthFor40Elev+0xc7>
movl   $0x20,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x24,-0x8(%rbp)
jl     11e7 <mit_hrtf_findAzimuthFor40Elev+0xe7>
cmpl   $0x2b,-0x8(%rbp)
jge    11e7 <mit_hrtf_findAzimuthFor40Elev+0xe7>
movl   $0x27,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x2b,-0x8(%rbp)
jl     1207 <mit_hrtf_findAzimuthFor40Elev+0x107>
cmpl   $0x31,-0x8(%rbp)
jge    1207 <mit_hrtf_findAzimuthFor40Elev+0x107>
movl   $0x2d,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x31,-0x8(%rbp)
jl     1227 <mit_hrtf_findAzimuthFor40Elev+0x127>
cmpl   $0x37,-0x8(%rbp)
jge    1227 <mit_hrtf_findAzimuthFor40Elev+0x127>
movl   $0x33,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x37,-0x8(%rbp)
jl     1247 <mit_hrtf_findAzimuthFor40Elev+0x147>
cmpl   $0x3e,-0x8(%rbp)
jge    1247 <mit_hrtf_findAzimuthFor40Elev+0x147>
movl   $0x3a,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x3e,-0x8(%rbp)
jl     1267 <mit_hrtf_findAzimuthFor40Elev+0x167>
cmpl   $0x44,-0x8(%rbp)
jge    1267 <mit_hrtf_findAzimuthFor40Elev+0x167>
movl   $0x40,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x44,-0x8(%rbp)
jl     1287 <mit_hrtf_findAzimuthFor40Elev+0x187>
cmpl   $0x4b,-0x8(%rbp)
jge    1287 <mit_hrtf_findAzimuthFor40Elev+0x187>
movl   $0x47,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x4b,-0x8(%rbp)
jl     12a7 <mit_hrtf_findAzimuthFor40Elev+0x1a7>
cmpl   $0x51,-0x8(%rbp)
jge    12a7 <mit_hrtf_findAzimuthFor40Elev+0x1a7>
movl   $0x4d,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x51,-0x8(%rbp)
jl     12c7 <mit_hrtf_findAzimuthFor40Elev+0x1c7>
cmpl   $0x58,-0x8(%rbp)
jge    12c7 <mit_hrtf_findAzimuthFor40Elev+0x1c7>
movl   $0x54,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x58,-0x8(%rbp)
jl     12e7 <mit_hrtf_findAzimuthFor40Elev+0x1e7>
cmpl   $0x5e,-0x8(%rbp)
jge    12e7 <mit_hrtf_findAzimuthFor40Elev+0x1e7>
movl   $0x5a,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x5e,-0x8(%rbp)
jl     1307 <mit_hrtf_findAzimuthFor40Elev+0x207>
cmpl   $0x64,-0x8(%rbp)
jge    1307 <mit_hrtf_findAzimuthFor40Elev+0x207>
movl   $0x60,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x64,-0x8(%rbp)
jl     1327 <mit_hrtf_findAzimuthFor40Elev+0x227>
cmpl   $0x6b,-0x8(%rbp)
jge    1327 <mit_hrtf_findAzimuthFor40Elev+0x227>
movl   $0x67,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x6b,-0x8(%rbp)
jl     1347 <mit_hrtf_findAzimuthFor40Elev+0x247>
cmpl   $0x71,-0x8(%rbp)
jge    1347 <mit_hrtf_findAzimuthFor40Elev+0x247>
movl   $0x6d,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x71,-0x8(%rbp)
jl     1367 <mit_hrtf_findAzimuthFor40Elev+0x267>
cmpl   $0x78,-0x8(%rbp)
jge    1367 <mit_hrtf_findAzimuthFor40Elev+0x267>
movl   $0x74,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x78,-0x8(%rbp)
jl     1387 <mit_hrtf_findAzimuthFor40Elev+0x287>
cmpl   $0x7e,-0x8(%rbp)
jge    1387 <mit_hrtf_findAzimuthFor40Elev+0x287>
movl   $0x7a,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x7e,-0x8(%rbp)
jl     13aa <mit_hrtf_findAzimuthFor40Elev+0x2aa>
cmpl   $0x85,-0x8(%rbp)
jge    13aa <mit_hrtf_findAzimuthFor40Elev+0x2aa>
movl   $0x81,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x85,-0x8(%rbp)
jl     13d0 <mit_hrtf_findAzimuthFor40Elev+0x2d0>
cmpl   $0x8b,-0x8(%rbp)
jge    13d0 <mit_hrtf_findAzimuthFor40Elev+0x2d0>
movl   $0x87,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x8b,-0x8(%rbp)
jl     13f6 <mit_hrtf_findAzimuthFor40Elev+0x2f6>
cmpl   $0x91,-0x8(%rbp)
jge    13f6 <mit_hrtf_findAzimuthFor40Elev+0x2f6>
movl   $0x8d,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x91,-0x8(%rbp)
jl     141c <mit_hrtf_findAzimuthFor40Elev+0x31c>
cmpl   $0x98,-0x8(%rbp)
jge    141c <mit_hrtf_findAzimuthFor40Elev+0x31c>
movl   $0x94,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x98,-0x8(%rbp)
jl     1442 <mit_hrtf_findAzimuthFor40Elev+0x342>
cmpl   $0x9e,-0x8(%rbp)
jge    1442 <mit_hrtf_findAzimuthFor40Elev+0x342>
movl   $0x9a,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0x9e,-0x8(%rbp)
jl     1468 <mit_hrtf_findAzimuthFor40Elev+0x368>
cmpl   $0xa5,-0x8(%rbp)
jge    1468 <mit_hrtf_findAzimuthFor40Elev+0x368>
movl   $0xa1,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0xa5,-0x8(%rbp)
jl     148e <mit_hrtf_findAzimuthFor40Elev+0x38e>
cmpl   $0xab,-0x8(%rbp)
jge    148e <mit_hrtf_findAzimuthFor40Elev+0x38e>
movl   $0xa7,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
cmpl   $0xab,-0x8(%rbp)
jl     14b4 <mit_hrtf_findAzimuthFor40Elev+0x3b4>
cmpl   $0xb2,-0x8(%rbp)
jge    14b4 <mit_hrtf_findAzimuthFor40Elev+0x3b4>
movl   $0xae,-0x4(%rbp)
jmp    14bb <mit_hrtf_findAzimuthFor40Elev+0x3bb>
movl   $0xb4,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<mit_hrtf_findAzimuthFor40Elev>:
xor    %eax,%eax
cmp    $0x4,%edi
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x4(%rdi),%ecx
mov    $0x6,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0xa(%rdi),%ecx
mov    $0xd,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x11(%rdi),%ecx
mov    $0x13,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x17(%rdi),%ecx
mov    $0x1a,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x1e(%rdi),%ecx
mov    $0x20,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x24(%rdi),%ecx
mov    $0x27,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x2b(%rdi),%ecx
mov    $0x2d,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x31(%rdi),%ecx
mov    $0x33,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x37(%rdi),%ecx
mov    $0x3a,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x3e(%rdi),%ecx
mov    $0x40,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x44(%rdi),%ecx
mov    $0x47,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x4b(%rdi),%ecx
mov    $0x4d,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x51(%rdi),%ecx
mov    $0x54,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x58(%rdi),%ecx
mov    $0x5a,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x5e(%rdi),%ecx
mov    $0x60,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x64(%rdi),%ecx
mov    $0x67,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x6b(%rdi),%ecx
mov    $0x6d,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x71(%rdi),%ecx
mov    $0x74,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x78(%rdi),%ecx
mov    $0x7a,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x7e(%rdi),%ecx
mov    $0x81,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x85(%rdi),%ecx
mov    $0x87,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x8b(%rdi),%ecx
mov    $0x8d,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x91(%rdi),%ecx
mov    $0x94,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x98(%rdi),%ecx
mov    $0x9a,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0x9e(%rdi),%ecx
mov    $0xa1,%eax
cmp    $0x7,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
lea    -0xa5(%rdi),%ecx
mov    $0xa7,%eax
cmp    $0x6,%ecx
jb     12d1 <mit_hrtf_findAzimuthFor40Elev+0x1d1>
add    $0xffffff55,%edi
cmp    $0x7,%edi
mov    $0xae,%ecx
mov    $0xb4,%eax
cmovb  %ecx,%eax
ret

LLVM IR (-O0):
define i32 @mit_hrtf_findAzimuthFor40Elev(i32 %0) {
%2 = alloca i32
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
%5 = icmp sge i32 %4, 0
br i1 %5, label %6, label %10
6: ; preds = %1
%7 = load i32, i32* %3
%8 = icmp slt i32 %7, 4
br i1 %8, label %9, label %10
9: ; preds = %6
store i32 0, i32* %2
br label %200
10: ; preds = %6, %1
%11 = load i32, i32* %3
%12 = icmp sge i32 %11, 4
br i1 %12, label %13, label %17
13: ; preds = %10
%14 = load i32, i32* %3
%15 = icmp slt i32 %14, 10
br i1 %15, label %16, label %17
16: ; preds = %13
store i32 6, i32* %2
br label %200
17: ; preds = %13, %10
%18 = load i32, i32* %3
%19 = icmp sge i32 %18, 10
br i1 %19, label %20, label %24
20: ; preds = %17
%21 = load i32, i32* %3
%22 = icmp slt i32 %21, 17
br i1 %22, label %23, label %24
23: ; preds = %20
store i32 13, i32* %2
br label %200
24: ; preds = %20, %17
%25 = load i32, i32* %3
%26 = icmp sge i32 %25, 17
br i1 %26, label %27, label %31
27: ; preds = %24
%28 = load i32, i32* %3
%29 = icmp slt i32 %28, 23
br i1 %29, label %30, label %31
30: ; preds = %27
store i32 19, i32* %2
br label %200
31: ; preds = %27, %24
%32 = load i32, i32* %3
%33 = icmp sge i32 %32, 23
br i1 %33, label %34, label %38
34: ; preds = %31
%35 = load i32, i32* %3
%36 = icmp slt i32 %35, 30
br i1 %36, label %37, label %38
37: ; preds = %34
store i32 26, i32* %2
br label %200
38: ; preds = %34, %31
%39 = load i32, i32* %3
%40 = icmp sge i32 %39, 30
br i1 %40, label %41, label %45
41: ; preds = %38
%42 = load i32, i32* %3
%43 = icmp slt i32 %42, 36
br i1 %43, label %44, label %45
44: ; preds = %41
store i32 32, i32* %2
br label %200
45: ; preds = %41, %38
%46 = load i32, i32* %3
%47 = icmp sge i32 %46, 36
br i1 %47, label %48, label %52
48: ; preds = %45
%49 = load i32, i32* %3
%50 = icmp slt i32 %49, 43
br i1 %50, label %51, label %52
51: ; preds = %48
store i32 39, i32* %2
br label %200
52: ; preds = %48, %45
%53 = load i32, i32* %3
%54 = icmp sge i32 %53, 43
br i1 %54, label %55, label %59
55: ; preds = %52
%56 = load i32, i32* %3
%57 = icmp slt i32 %56, 49
br i1 %57, label %58, label %59
58: ; preds = %55
store i32 45, i32* %2
br label %200
59: ; preds = %55, %52
%60 = load i32, i32* %3
%61 = icmp sge i32 %60, 49
br i1 %61, label %62, label %66
62: ; preds = %59
%63 = load i32, i32* %3
%64 = icmp slt i32 %63, 55
br i1 %64, label %65, label %66
65: ; preds = %62
store i32 51, i32* %2
br label %200
66: ; preds = %62, %59
%67 = load i32, i32* %3
%68 = icmp sge i32 %67, 55
br i1 %68, label %69, label %73
69: ; preds = %66
%70 = load i32, i32* %3
%71 = icmp slt i32 %70, 62
br i1 %71, label %72, label %73
72: ; preds = %69
store i32 58, i32* %2
br label %200
73: ; preds = %69, %66
%74 = load i32, i32* %3
%75 = icmp sge i32 %74, 62
br i1 %75, label %76, label %80
76: ; preds = %73
%77 = load i32, i32* %3
%78 = icmp slt i32 %77, 68
br i1 %78, label %79, label %80
79: ; preds = %76
store i32 64, i32* %2
br label %200
80: ; preds = %76, %73
%81 = load i32, i32* %3
%82 = icmp sge i32 %81, 68
br i1 %82, label %83, label %87
83: ; preds = %80
%84 = load i32, i32* %3
%85 = icmp slt i32 %84, 75
br i1 %85, label %86, label %87
86: ; preds = %83
store i32 71, i32* %2
br label %200
87: ; preds = %83, %80
%88 = load i32, i32* %3
%89 = icmp sge i32 %88, 75
br i1 %89, label %90, label %94
90: ; preds = %87
%91 = load i32, i32* %3
%92 = icmp slt i32 %91, 81
br i1 %92, label %93, label %94
93: ; preds = %90
store i32 77, i32* %2
br label %200
94: ; preds = %90, %87
%95 = load i32, i32* %3
%96 = icmp sge i32 %95, 81
br i1 %96, label %97, label %101
97: ; preds = %94
%98 = load i32, i32* %3
%99 = icmp slt i32 %98, 88
br i1 %99, label %100, label %101
100: ; preds = %97
store i32 84, i32* %2
br label %200
101: ; preds = %97, %94
%102 = load i32, i32* %3
%103 = icmp sge i32 %102, 88
br i1 %103, label %104, label %108
104: ; preds = %101
%105 = load i32, i32* %3
%106 = icmp slt i32 %105, 94
br i1 %106, label %107, label %108
107: ; preds = %104
store i32 90, i32* %2
br label %200
108: ; preds = %104, %101
%109 = load i32, i32* %3
%110 = icmp sge i32 %109, 94
br i1 %110, label %111, label %115
111: ; preds = %108
%112 = load i32, i32* %3
%113 = icmp slt i32 %112, 100
br i1 %113, label %114, label %115
114: ; preds = %111
store i32 96, i32* %2
br label %200
115: ; preds = %111, %108
%116 = load i32, i32* %3
%117 = icmp sge i32 %116, 100
br i1 %117, label %118, label %122
118: ; preds = %115
%119 = load i32, i32* %3
%120 = icmp slt i32 %119, 107
br i1 %120, label %121, label %122
121: ; preds = %118
store i32 103, i32* %2
br label %200
122: ; preds = %118, %115
%123 = load i32, i32* %3
%124 = icmp sge i32 %123, 107
br i1 %124, label %125, label %129
125: ; preds = %122
%126 = load i32, i32* %3
%127 = icmp slt i32 %126, 113
br i1 %127, label %128, label %129
128: ; preds = %125
store i32 109, i32* %2
br label %200
129: ; preds = %125, %122
%130 = load i32, i32* %3
%131 = icmp sge i32 %130, 113
br i1 %131, label %132, label %136
132: ; preds = %129
%133 = load i32, i32* %3
%134 = icmp slt i32 %133, 120
br i1 %134, label %135, label %136
135: ; preds = %132
store i32 116, i32* %2
br label %200
136: ; preds = %132, %129
%137 = load i32, i32* %3
%138 = icmp sge i32 %137, 120
br i1 %138, label %139, label %143
139: ; preds = %136
%140 = load i32, i32* %3
%141 = icmp slt i32 %140, 126
br i1 %141, label %142, label %143
142: ; preds = %139
store i32 122, i32* %2
br label %200
143: ; preds = %139, %136
%144 = load i32, i32* %3
%145 = icmp sge i32 %144, 126
br i1 %145, label %146, label %150
146: ; preds = %143
%147 = load i32, i32* %3
%148 = icmp slt i32 %147, 133
br i1 %148, label %149, label %150
149: ; preds = %146
store i32 129, i32* %2
br label %200
150: ; preds = %146, %143
%151 = load i32, i32* %3
%152 = icmp sge i32 %151, 133
br i1 %152, label %153, label %157
153: ; preds = %150
%154 = load i32, i32* %3
%155 = icmp slt i32 %154, 139
br i1 %155, label %156, label %157
156: ; preds = %153
store i32 135, i32* %2
br label %200
157: ; preds = %153, %150
%158 = load i32, i32* %3
%159 = icmp sge i32 %158, 139
br i1 %159, label %160, label %164
160: ; preds = %157
%161 = load i32, i32* %3
%162 = icmp slt i32 %161, 145
br i1 %162, label %163, label %164
163: ; preds = %160
store i32 141, i32* %2
br label %200
164: ; preds = %160, %157
%165 = load i32, i32* %3
%166 = icmp sge i32 %165, 145
br i1 %166, label %167, label %171
167: ; preds = %164
%168 = load i32, i32* %3
%169 = icmp slt i32 %168, 152
br i1 %169, label %170, label %171
170: ; preds = %167
store i32 148, i32* %2
br label %200
171: ; preds = %167, %164
%172 = load i32, i32* %3
%173 = icmp sge i32 %172, 152
br i1 %173, label %174, label %178
174: ; preds = %171
%175 = load i32, i32* %3
%176 = icmp slt i32 %175, 158
br i1 %176, label %177, label %178
177: ; preds = %174
store i32 154, i32* %2
br label %200
178: ; preds = %174, %171
%179 = load i32, i32* %3
%180 = icmp sge i32 %179, 158
br i1 %180, label %181, label %185
181: ; preds = %178
%182 = load i32, i32* %3
%183 = icmp slt i32 %182, 165
br i1 %183, label %184, label %185
184: ; preds = %181
store i32 161, i32* %2
br label %200
185: ; preds = %181, %178
%186 = load i32, i32* %3
%187 = icmp sge i32 %186, 165
br i1 %187, label %188, label %192
188: ; preds = %185
%189 = load i32, i32* %3
%190 = icmp slt i32 %189, 171
br i1 %190, label %191, label %192
191: ; preds = %188
store i32 167, i32* %2
br label %200
192: ; preds = %188, %185
%193 = load i32, i32* %3
%194 = icmp sge i32 %193, 171
br i1 %194, label %195, label %199
195: ; preds = %192
%196 = load i32, i32* %3
%197 = icmp slt i32 %196, 178
br i1 %197, label %198, label %199
198: ; preds = %195
store i32 174, i32* %2
br label %200
199: ; preds = %195, %192
store i32 180, i32* %2
br label %200
200: ; preds = %199, %198, %191, %184, %177, %170, %163, %156, %149, %142, %135, %128, %121, %114, %107, %100, %93, %86, %79, %72, %65, %58, %51, %44, %37, %30, %23, %16, %9
%201 = load i32, i32* %2
ret i32 %201
}

LLVM IR (-O2):
define i32 @mit_hrtf_findAzimuthFor40Elev(i32 %0) {
%2 = icmp ult i32 %0, 4
br i1 %2, label %85, label %3
3: ; preds = %1
%4 = add i32 %0, -4
%5 = icmp ult i32 %4, 6
br i1 %5, label %85, label %6
6: ; preds = %3
%7 = add i32 %0, -10
%8 = icmp ult i32 %7, 7
br i1 %8, label %85, label %9
9: ; preds = %6
%10 = add i32 %0, -17
%11 = icmp ult i32 %10, 6
br i1 %11, label %85, label %12
12: ; preds = %9
%13 = add i32 %0, -23
%14 = icmp ult i32 %13, 7
br i1 %14, label %85, label %15
15: ; preds = %12
%16 = add i32 %0, -30
%17 = icmp ult i32 %16, 6
br i1 %17, label %85, label %18
18: ; preds = %15
%19 = add i32 %0, -36
%20 = icmp ult i32 %19, 7
br i1 %20, label %85, label %21
21: ; preds = %18
%22 = add i32 %0, -43
%23 = icmp ult i32 %22, 6
br i1 %23, label %85, label %24
24: ; preds = %21
%25 = add i32 %0, -49
%26 = icmp ult i32 %25, 6
br i1 %26, label %85, label %27
27: ; preds = %24
%28 = add i32 %0, -55
%29 = icmp ult i32 %28, 7
br i1 %29, label %85, label %30
30: ; preds = %27
%31 = add i32 %0, -62
%32 = icmp ult i32 %31, 6
br i1 %32, label %85, label %33
33: ; preds = %30
%34 = add i32 %0, -68
%35 = icmp ult i32 %34, 7
br i1 %35, label %85, label %36
36: ; preds = %33
%37 = add i32 %0, -75
%38 = icmp ult i32 %37, 6
br i1 %38, label %85, label %39
39: ; preds = %36
%40 = add i32 %0, -81
%41 = icmp ult i32 %40, 7
br i1 %41, label %85, label %42
42: ; preds = %39
%43 = add i32 %0, -88
%44 = icmp ult i32 %43, 6
br i1 %44, label %85, label %45
45: ; preds = %42
%46 = add i32 %0, -94
%47 = icmp ult i32 %46, 6
br i1 %47, label %85, label %48
48: ; preds = %45
%49 = add i32 %0, -100
%50 = icmp ult i32 %49, 7
br i1 %50, label %85, label %51
51: ; preds = %48
%52 = add i32 %0, -107
%53 = icmp ult i32 %52, 6
br i1 %53, label %85, label %54
54: ; preds = %51
%55 = add i32 %0, -113
%56 = icmp ult i32 %55, 7
br i1 %56, label %85, label %57
57: ; preds = %54
%58 = add i32 %0, -120
%59 = icmp ult i32 %58, 6
br i1 %59, label %85, label %60
60: ; preds = %57
%61 = add i32 %0, -126
%62 = icmp ult i32 %61, 7
br i1 %62, label %85, label %63
63: ; preds = %60
%64 = add i32 %0, -133
%65 = icmp ult i32 %64, 6
br i1 %65, label %85, label %66
66: ; preds = %63
%67 = add i32 %0, -139
%68 = icmp ult i32 %67, 6
br i1 %68, label %85, label %69
69: ; preds = %66
%70 = add i32 %0, -145
%71 = icmp ult i32 %70, 7
br i1 %71, label %85, label %72
72: ; preds = %69
%73 = add i32 %0, -152
%74 = icmp ult i32 %73, 6
br i1 %74, label %85, label %75
75: ; preds = %72
%76 = add i32 %0, -158
%77 = icmp ult i32 %76, 7
br i1 %77, label %85, label %78
78: ; preds = %75
%79 = add i32 %0, -165
%80 = icmp ult i32 %79, 6
br i1 %80, label %85, label %81
81: ; preds = %78
%82 = add i32 %0, -171
%83 = icmp ult i32 %82, 7
%84 = select i1 %83, i32 174, i32 180
br label %85
85: ; preds = %81, %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9, %6, %3, %1
%86 = phi i32 [ 0, %1 ], [ 6, %3 ], [ 13, %6 ], [ 19, %9 ], [ 26, %12 ], [ 32, %15 ], [ 39, %18 ], [ 45, %21 ], [ 51, %24 ], [ 58, %27 ], [ 64, %30 ], [ 71, %33 ], [ 77, %36 ], [ 84, %39 ], [ 90, %42 ], [ 96, %45 ], [ 103, %48 ], [ 109, %51 ], [ 116, %54 ], [ 122, %57 ], [ 129, %60 ], [ 135, %63 ], [ 141, %66 ], [ 148, %69 ], [ 154, %72 ], [ 161, %75 ], [ 167, %78 ], [ %84, %81 ]
ret i32 %86
}