void foo2(int j, int k) {
  int i;
  int a[100];
  for (i = 0; i <= 98; i += 1) {
    a[i + j] = a[i + k] + 1;
  }
}


x86 assembly (clang, -O0):
<foo2>:
push   %rbp
mov    %rsp,%rbp
sub    $0x120,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
movl   $0x0,-0xc(%rbp)
cmpl   $0x62,-0xc(%rbp)
jg     1151 <foo2+0x51>
mov    -0xc(%rbp),%eax
add    -0x8(%rbp),%eax
cltq
mov    -0x1a0(%rbp,%rax,4),%ecx
add    $0x1,%ecx
mov    -0xc(%rbp),%eax
add    -0x4(%rbp),%eax
cltq
mov    %ecx,-0x1a0(%rbp,%rax,4)
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1118 <foo2+0x18>
add    $0x120,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<foo2>:
sub    $0x118,%rsp
movslq %esi,%rsi
movslq %edi,%rdx
lea    (%rsp,%rdx,4),%rax
add    $0xffffffffffffff80,%rax
lea    (%rsp,%rsi,4),%rcx
add    $0xffffffffffffff80,%rcx
lea    (%rsp,%rsi,4),%rdi
add    $0x10c,%rdi
cmp    %rdi,%rax
jae    1144 <foo2+0x44>
lea    (%rsp,%rdx,4),%rdi
add    $0x10c,%rdi
cmp    %rdi,%rcx
jae    1144 <foo2+0x44>
xor    %edi,%edi
jmp    12fb <foo2+0x1fb>
movdqu -0x80(%rsp,%rsi,4),%xmm1
pcmpeqd %xmm0,%xmm0
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x80(%rsp,%rdx,4)
movdqu -0x70(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x70(%rsp,%rdx,4)
movdqu -0x60(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x60(%rsp,%rdx,4)
movdqu -0x50(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x50(%rsp,%rdx,4)
movdqu -0x40(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x40(%rsp,%rdx,4)
movdqu -0x30(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x30(%rsp,%rdx,4)
movdqu -0x20(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x20(%rsp,%rdx,4)
movdqu -0x10(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,-0x10(%rsp,%rdx,4)
movdqu (%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,(%rsp,%rdx,4)
movdqu 0x10(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x10(%rsp,%rdx,4)
movdqu 0x20(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x20(%rsp,%rdx,4)
movdqu 0x30(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x30(%rsp,%rdx,4)
movdqu 0x40(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x40(%rsp,%rdx,4)
movdqu 0x50(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x50(%rsp,%rdx,4)
movdqu 0x60(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x60(%rsp,%rdx,4)
movdqu 0x70(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x70(%rsp,%rdx,4)
movdqu 0x80(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x80(%rsp,%rdx,4)
movdqu 0x90(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0x90(%rsp,%rdx,4)
movdqu 0xa0(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0xa0(%rsp,%rdx,4)
movdqu 0xb0(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0xb0(%rsp,%rdx,4)
movdqu 0xc0(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0xc0(%rsp,%rdx,4)
movdqu 0xd0(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0xd0(%rsp,%rdx,4)
movdqu 0xe0(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0xe0(%rsp,%rdx,4)
movdqu 0xf0(%rsp,%rsi,4),%xmm1
psubd  %xmm0,%xmm1
movdqu %xmm1,0xf0(%rsp,%rdx,4)
mov    $0x60,%edi
add    %rdi,%rsi
mov    -0x80(%rsp,%rsi,4),%esi
add    $0x1,%esi
add    %rdi,%rdx
mov    %esi,-0x80(%rsp,%rdx,4)
add    $0x2,%rdi
mov    -0x4(%rcx,%rdi,4),%edx
add    $0x1,%edx
mov    %edx,-0x4(%rax,%rdi,4)
mov    (%rcx,%rdi,4),%edx
add    $0x1,%edx
mov    %edx,(%rax,%rdi,4)
add    $0x2,%rdi
cmp    $0x64,%rdi
jne    1310 <foo2+0x210>
add    $0x118,%rsp
ret

LLVM IR (-O0):
define void @foo2(i32 %0, i32 %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca [100 x i32]
store i32 %0, i32* %3
store i32 %1, i32* %4
store i32 0, i32* %5
br label %7
7: ; preds = %23, %2
%8 = load i32, i32* %5
%9 = icmp sle i32 %8, 98
br i1 %9, label %10, label %26
10: ; preds = %7
%11 = load i32, i32* %5
%12 = load i32, i32* %4
%13 = add nsw i32 %11, %12
%14 = sext i32 %13 to i64
%15 = getelementptr inbounds [100 x i32], [100 x i32]* %6, i64 0, i64 %14
%16 = load i32, i32* %15
%17 = add nsw i32 %16, 1
%18 = load i32, i32* %5
%19 = load i32, i32* %3
%20 = add nsw i32 %18, %19
%21 = sext i32 %20 to i64
%22 = getelementptr inbounds [100 x i32], [100 x i32]* %6, i64 0, i64 %21
store i32 %17, i32* %22
br label %23
23: ; preds = %10
%24 = load i32, i32* %5
%25 = add nsw i32 %24, 1
store i32 %25, i32* %5
br label %7
26: ; preds = %7
ret void
}

LLVM IR (-O2):
define void @foo2(i32 %0, i32 %1) {
%3 = alloca [100 x i32]
%4 = bitcast [100 x i32]* %3 to i8*
%5 = sext i32 %1 to i64
%6 = sext i32 %0 to i64
%7 = getelementptr [100 x i32], [100 x i32]* %3, i64 0, i64 %6
%8 = add nsw i64 %6, 99
%9 = getelementptr [100 x i32], [100 x i32]* %3, i64 0, i64 %8
%10 = getelementptr [100 x i32], [100 x i32]* %3, i64 0, i64 %5
%11 = add nsw i64 %5, 99
%12 = getelementptr [100 x i32], [100 x i32]* %3, i64 0, i64 %11
%13 = icmp ult i32* %7, %12
%14 = icmp ult i32* %10, %9
%15 = and i1 %13, %14
br i1 %15, label %207, label %16
16: ; preds = %2
%17 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %5
%18 = bitcast i32* %17 to <4 x i32>*
%19 = load <4 x i32>, <4 x i32>* %18
%20 = add nsw <4 x i32> %19, <i32 1, i32 1, i32 1, i32 1>
%21 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %6
%22 = bitcast i32* %21 to <4 x i32>*
store <4 x i32> %20, <4 x i32>* %22
%23 = add nsw i64 %5, 4
%24 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %23
%25 = bitcast i32* %24 to <4 x i32>*
%26 = load <4 x i32>, <4 x i32>* %25
%27 = add nsw <4 x i32> %26, <i32 1, i32 1, i32 1, i32 1>
%28 = add nsw i64 %6, 4
%29 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %28
%30 = bitcast i32* %29 to <4 x i32>*
store <4 x i32> %27, <4 x i32>* %30
%31 = add nsw i64 %5, 8
%32 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %31
%33 = bitcast i32* %32 to <4 x i32>*
%34 = load <4 x i32>, <4 x i32>* %33
%35 = add nsw <4 x i32> %34, <i32 1, i32 1, i32 1, i32 1>
%36 = add nsw i64 %6, 8
%37 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %36
%38 = bitcast i32* %37 to <4 x i32>*
store <4 x i32> %35, <4 x i32>* %38
%39 = add nsw i64 %5, 12
%40 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %39
%41 = bitcast i32* %40 to <4 x i32>*
%42 = load <4 x i32>, <4 x i32>* %41
%43 = add nsw <4 x i32> %42, <i32 1, i32 1, i32 1, i32 1>
%44 = add nsw i64 %6, 12
%45 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %44
%46 = bitcast i32* %45 to <4 x i32>*
store <4 x i32> %43, <4 x i32>* %46
%47 = add nsw i64 %5, 16
%48 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %47
%49 = bitcast i32* %48 to <4 x i32>*
%50 = load <4 x i32>, <4 x i32>* %49
%51 = add nsw <4 x i32> %50, <i32 1, i32 1, i32 1, i32 1>
%52 = add nsw i64 %6, 16
%53 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %52
%54 = bitcast i32* %53 to <4 x i32>*
store <4 x i32> %51, <4 x i32>* %54
%55 = add nsw i64 %5, 20
%56 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %55
%57 = bitcast i32* %56 to <4 x i32>*
%58 = load <4 x i32>, <4 x i32>* %57
%59 = add nsw <4 x i32> %58, <i32 1, i32 1, i32 1, i32 1>
%60 = add nsw i64 %6, 20
%61 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %60
%62 = bitcast i32* %61 to <4 x i32>*
store <4 x i32> %59, <4 x i32>* %62
%63 = add nsw i64 %5, 24
%64 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %63
%65 = bitcast i32* %64 to <4 x i32>*
%66 = load <4 x i32>, <4 x i32>* %65
%67 = add nsw <4 x i32> %66, <i32 1, i32 1, i32 1, i32 1>
%68 = add nsw i64 %6, 24
%69 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %68
%70 = bitcast i32* %69 to <4 x i32>*
store <4 x i32> %67, <4 x i32>* %70
%71 = add nsw i64 %5, 28
%72 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %71
%73 = bitcast i32* %72 to <4 x i32>*
%74 = load <4 x i32>, <4 x i32>* %73
%75 = add nsw <4 x i32> %74, <i32 1, i32 1, i32 1, i32 1>
%76 = add nsw i64 %6, 28
%77 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %76
%78 = bitcast i32* %77 to <4 x i32>*
store <4 x i32> %75, <4 x i32>* %78
%79 = add nsw i64 %5, 32
%80 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %79
%81 = bitcast i32* %80 to <4 x i32>*
%82 = load <4 x i32>, <4 x i32>* %81
%83 = add nsw <4 x i32> %82, <i32 1, i32 1, i32 1, i32 1>
%84 = add nsw i64 %6, 32
%85 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %84
%86 = bitcast i32* %85 to <4 x i32>*
store <4 x i32> %83, <4 x i32>* %86
%87 = add nsw i64 %5, 36
%88 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %87
%89 = bitcast i32* %88 to <4 x i32>*
%90 = load <4 x i32>, <4 x i32>* %89
%91 = add nsw <4 x i32> %90, <i32 1, i32 1, i32 1, i32 1>
%92 = add nsw i64 %6, 36
%93 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %92
%94 = bitcast i32* %93 to <4 x i32>*
store <4 x i32> %91, <4 x i32>* %94
%95 = add nsw i64 %5, 40
%96 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %95
%97 = bitcast i32* %96 to <4 x i32>*
%98 = load <4 x i32>, <4 x i32>* %97
%99 = add nsw <4 x i32> %98, <i32 1, i32 1, i32 1, i32 1>
%100 = add nsw i64 %6, 40
%101 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %100
%102 = bitcast i32* %101 to <4 x i32>*
store <4 x i32> %99, <4 x i32>* %102
%103 = add nsw i64 %5, 44
%104 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %103
%105 = bitcast i32* %104 to <4 x i32>*
%106 = load <4 x i32>, <4 x i32>* %105
%107 = add nsw <4 x i32> %106, <i32 1, i32 1, i32 1, i32 1>
%108 = add nsw i64 %6, 44
%109 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %108
%110 = bitcast i32* %109 to <4 x i32>*
store <4 x i32> %107, <4 x i32>* %110
%111 = add nsw i64 %5, 48
%112 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %111
%113 = bitcast i32* %112 to <4 x i32>*
%114 = load <4 x i32>, <4 x i32>* %113
%115 = add nsw <4 x i32> %114, <i32 1, i32 1, i32 1, i32 1>
%116 = add nsw i64 %6, 48
%117 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %116
%118 = bitcast i32* %117 to <4 x i32>*
store <4 x i32> %115, <4 x i32>* %118
%119 = add nsw i64 %5, 52
%120 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %119
%121 = bitcast i32* %120 to <4 x i32>*
%122 = load <4 x i32>, <4 x i32>* %121
%123 = add nsw <4 x i32> %122, <i32 1, i32 1, i32 1, i32 1>
%124 = add nsw i64 %6, 52
%125 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %124
%126 = bitcast i32* %125 to <4 x i32>*
store <4 x i32> %123, <4 x i32>* %126
%127 = add nsw i64 %5, 56
%128 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %127
%129 = bitcast i32* %128 to <4 x i32>*
%130 = load <4 x i32>, <4 x i32>* %129
%131 = add nsw <4 x i32> %130, <i32 1, i32 1, i32 1, i32 1>
%132 = add nsw i64 %6, 56
%133 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %132
%134 = bitcast i32* %133 to <4 x i32>*
store <4 x i32> %131, <4 x i32>* %134
%135 = add nsw i64 %5, 60
%136 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %135
%137 = bitcast i32* %136 to <4 x i32>*
%138 = load <4 x i32>, <4 x i32>* %137
%139 = add nsw <4 x i32> %138, <i32 1, i32 1, i32 1, i32 1>
%140 = add nsw i64 %6, 60
%141 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %140
%142 = bitcast i32* %141 to <4 x i32>*
store <4 x i32> %139, <4 x i32>* %142
%143 = add nsw i64 %5, 64
%144 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %143
%145 = bitcast i32* %144 to <4 x i32>*
%146 = load <4 x i32>, <4 x i32>* %145
%147 = add nsw <4 x i32> %146, <i32 1, i32 1, i32 1, i32 1>
%148 = add nsw i64 %6, 64
%149 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %148
%150 = bitcast i32* %149 to <4 x i32>*
store <4 x i32> %147, <4 x i32>* %150
%151 = add nsw i64 %5, 68
%152 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %151
%153 = bitcast i32* %152 to <4 x i32>*
%154 = load <4 x i32>, <4 x i32>* %153
%155 = add nsw <4 x i32> %154, <i32 1, i32 1, i32 1, i32 1>
%156 = add nsw i64 %6, 68
%157 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %156
%158 = bitcast i32* %157 to <4 x i32>*
store <4 x i32> %155, <4 x i32>* %158
%159 = add nsw i64 %5, 72
%160 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %159
%161 = bitcast i32* %160 to <4 x i32>*
%162 = load <4 x i32>, <4 x i32>* %161
%163 = add nsw <4 x i32> %162, <i32 1, i32 1, i32 1, i32 1>
%164 = add nsw i64 %6, 72
%165 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %164
%166 = bitcast i32* %165 to <4 x i32>*
store <4 x i32> %163, <4 x i32>* %166
%167 = add nsw i64 %5, 76
%168 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %167
%169 = bitcast i32* %168 to <4 x i32>*
%170 = load <4 x i32>, <4 x i32>* %169
%171 = add nsw <4 x i32> %170, <i32 1, i32 1, i32 1, i32 1>
%172 = add nsw i64 %6, 76
%173 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %172
%174 = bitcast i32* %173 to <4 x i32>*
store <4 x i32> %171, <4 x i32>* %174
%175 = add nsw i64 %5, 80
%176 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %175
%177 = bitcast i32* %176 to <4 x i32>*
%178 = load <4 x i32>, <4 x i32>* %177
%179 = add nsw <4 x i32> %178, <i32 1, i32 1, i32 1, i32 1>
%180 = add nsw i64 %6, 80
%181 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %180
%182 = bitcast i32* %181 to <4 x i32>*
store <4 x i32> %179, <4 x i32>* %182
%183 = add nsw i64 %5, 84
%184 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %183
%185 = bitcast i32* %184 to <4 x i32>*
%186 = load <4 x i32>, <4 x i32>* %185
%187 = add nsw <4 x i32> %186, <i32 1, i32 1, i32 1, i32 1>
%188 = add nsw i64 %6, 84
%189 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %188
%190 = bitcast i32* %189 to <4 x i32>*
store <4 x i32> %187, <4 x i32>* %190
%191 = add nsw i64 %5, 88
%192 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %191
%193 = bitcast i32* %192 to <4 x i32>*
%194 = load <4 x i32>, <4 x i32>* %193
%195 = add nsw <4 x i32> %194, <i32 1, i32 1, i32 1, i32 1>
%196 = add nsw i64 %6, 88
%197 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %196
%198 = bitcast i32* %197 to <4 x i32>*
store <4 x i32> %195, <4 x i32>* %198
%199 = add nsw i64 %5, 92
%200 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %199
%201 = bitcast i32* %200 to <4 x i32>*
%202 = load <4 x i32>, <4 x i32>* %201
%203 = add nsw <4 x i32> %202, <i32 1, i32 1, i32 1, i32 1>
%204 = add nsw i64 %6, 92
%205 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %204
%206 = bitcast i32* %205 to <4 x i32>*
store <4 x i32> %203, <4 x i32>* %206
br label %207
207: ; preds = %16, %2
%208 = phi i64 [ 0, %2 ], [ 96, %16 ]
%209 = add nsw i64 %208, %5
%210 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %209
%211 = load i32, i32* %210
%212 = add nsw i32 %211, 1
%213 = add nsw i64 %208, %6
%214 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %213
store i32 %212, i32* %214
%215 = or i64 %208, 1
br label %216
216: ; preds = %216, %207
%217 = phi i64 [ %215, %207 ], [ %231, %216 ]
%218 = add nsw i64 %217, %5
%219 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %218
%220 = load i32, i32* %219
%221 = add nsw i32 %220, 1
%222 = add nsw i64 %217, %6
%223 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %222
store i32 %221, i32* %223
%224 = add nuw nsw i64 %217, 1
%225 = add nsw i64 %224, %5
%226 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %225
%227 = load i32, i32* %226
%228 = add nsw i32 %227, 1
%229 = add nsw i64 %224, %6
%230 = getelementptr inbounds [100 x i32], [100 x i32]* %3, i64 0, i64 %229
store i32 %228, i32* %230
%231 = add nuw nsw i64 %217, 2
%232 = icmp eq i64 %231, 99
br i1 %232, label %233, label %216
233: ; preds = %216
ret void
}