; LLVM IR from aagdev/mlimgsynth :: src/ccommon (any)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.Any = type { i16, i16, i32, %union.AnyPayload }
%union.AnyPayload = type { i64 }

@.str.29 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [43 x i8], align 1
@__PRETTY_FUNCTION__.any_equal = external hidden unnamed_addr constant [42 x i8], align 1

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
define dso_local zeroext i1 @any_equal(ptr noundef %0, ptr noundef %1) #1 {
  %3 = alloca i1, align 1
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  %6 = load ptr, ptr %4, align 8, !tbaa !5
  %7 = getelementptr inbounds %struct.Any, ptr %6, i32 0, i32 0
  %8 = load i16, ptr %7, align 8, !tbaa !9
  %9 = zext i16 %8 to i32
  switch i32 %9, label %1619 [
    i32 0, label %10
    i32 1, label %86
    i32 2, label %230
    i32 3, label %361
    i32 4, label %492
    i32 5, label %623
    i32 6, label %743
    i32 7, label %863
    i32 8, label %994
    i32 9, label %1125
    i32 10, label %1245
    i32 11, label %1365
    i32 12, label %1492
  ]

10:                                               ; preds = %2
  br label %11

11:                                               ; preds = %10
  %12 = load ptr, ptr %5, align 8, !tbaa !5
  %13 = getelementptr inbounds %struct.Any, ptr %12, i32 0, i32 0
  %14 = load i16, ptr %13, align 8, !tbaa !9
  %15 = zext i16 %14 to i32
  switch i32 %15, label %84 [
    i32 0, label %16
    i32 1, label %17
    i32 2, label %24
    i32 3, label %30
    i32 4, label %36
    i32 5, label %42
    i32 6, label %47
    i32 7, label %52
    i32 8, label %58
    i32 9, label %64
    i32 10, label %69
    i32 11, label %74
    i32 12, label %79
  ]

16:                                               ; preds = %11
  store i1 true, ptr %3, align 1
  br label %1681

17:                                               ; preds = %11
  %18 = load ptr, ptr %5, align 8, !tbaa !5
  %19 = getelementptr inbounds %struct.Any, ptr %18, i32 0, i32 3
  %20 = load i8, ptr %19, align 8, !tbaa !13, !range !14, !noundef !15
  %21 = trunc i8 %20 to i1
  %22 = zext i1 %21 to i32
  %23 = icmp eq i32 0, %22
  store i1 %23, ptr %3, align 1
  br label %1681

24:                                               ; preds = %11
  %25 = load ptr, ptr %5, align 8, !tbaa !5
  %26 = getelementptr inbounds %struct.Any, ptr %25, i32 0, i32 3
  %27 = load i8, ptr %26, align 8, !tbaa !13
  %28 = sext i8 %27 to i32
  %29 = icmp eq i32 0, %28
  store i1 %29, ptr %3, align 1
  br label %1681

30:                                               ; preds = %11
  %31 = load ptr, ptr %5, align 8, !tbaa !5
  %32 = getelementptr inbounds %struct.Any, ptr %31, i32 0, i32 3
  %33 = load i8, ptr %32, align 8, !tbaa !13
  %34 = zext i8 %33 to i32
  %35 = icmp eq i32 0, %34
  store i1 %35, ptr %3, align 1
  br label %1681

36:                                               ; preds = %11
  %37 = load ptr, ptr %5, align 8, !tbaa !5
  %38 = getelementptr inbounds %struct.Any, ptr %37, i32 0, i32 3
  %39 = load i16, ptr %38, align 8, !tbaa !13
  %40 = zext i16 %39 to i32
  %41 = icmp eq i32 0, %40
  store i1 %41, ptr %3, align 1
  br label %1681

42:                                               ; preds = %11
  %43 = load ptr, ptr %5, align 8, !tbaa !5
  %44 = getelementptr inbounds %struct.Any, ptr %43, i32 0, i32 3
  %45 = load i32, ptr %44, align 8, !tbaa !13
  %46 = icmp eq i32 0, %45
  store i1 %46, ptr %3, align 1
  br label %1681

47:                                               ; preds = %11
  %48 = load ptr, ptr %5, align 8, !tbaa !5
  %49 = getelementptr inbounds %struct.Any, ptr %48, i32 0, i32 3
  %50 = load i64, ptr %49, align 8, !tbaa !13
  %51 = icmp eq i64 0, %50
  store i1 %51, ptr %3, align 1
  br label %1681

52:                                               ; preds = %11
  %53 = load ptr, ptr %5, align 8, !tbaa !5
  %54 = getelementptr inbounds %struct.Any, ptr %53, i32 0, i32 3
  %55 = load i8, ptr %54, align 8, !tbaa !13
  %56 = sext i8 %55 to i32
  %57 = icmp eq i32 0, %56
  store i1 %57, ptr %3, align 1
  br label %1681

58:                                               ; preds = %11
  %59 = load ptr, ptr %5, align 8, !tbaa !5
  %60 = getelementptr inbounds %struct.Any, ptr %59, i32 0, i32 3
  %61 = load i16, ptr %60, align 8, !tbaa !13
  %62 = sext i16 %61 to i32
  %63 = icmp eq i32 0, %62
  store i1 %63, ptr %3, align 1
  br label %1681

64:                                               ; preds = %11
  %65 = load ptr, ptr %5, align 8, !tbaa !5
  %66 = getelementptr inbounds %struct.Any, ptr %65, i32 0, i32 3
  %67 = load i32, ptr %66, align 8, !tbaa !13
  %68 = icmp eq i32 0, %67
  store i1 %68, ptr %3, align 1
  br label %1681

69:                                               ; preds = %11
  %70 = load ptr, ptr %5, align 8, !tbaa !5
  %71 = getelementptr inbounds %struct.Any, ptr %70, i32 0, i32 3
  %72 = load i64, ptr %71, align 8, !tbaa !13
  %73 = icmp eq i64 0, %72
  store i1 %73, ptr %3, align 1
  br label %1681

74:                                               ; preds = %11
  %75 = load ptr, ptr %5, align 8, !tbaa !5
  %76 = getelementptr inbounds %struct.Any, ptr %75, i32 0, i32 3
  %77 = load float, ptr %76, align 8, !tbaa !13
  %78 = fcmp oeq float 0.000000e+00, %77
  store i1 %78, ptr %3, align 1
  br label %1681

79:                                               ; preds = %11
  %80 = load ptr, ptr %5, align 8, !tbaa !5
  %81 = getelementptr inbounds %struct.Any, ptr %80, i32 0, i32 3
  %82 = load double, ptr %81, align 8, !tbaa !13
  %83 = fcmp oeq double 0.000000e+00, %82
  store i1 %83, ptr %3, align 1
  br label %1681

84:                                               ; preds = %11
  store i1 false, ptr %3, align 1
  br label %1681

85:                                               ; No predecessors!
  br label %86

86:                                               ; preds = %85, %2
  br label %87

87:                                               ; preds = %86
  %88 = load ptr, ptr %5, align 8, !tbaa !5
  %89 = getelementptr inbounds %struct.Any, ptr %88, i32 0, i32 0
  %90 = load i16, ptr %89, align 8, !tbaa !9
  %91 = zext i16 %90 to i32
  switch i32 %91, label %228 [
    i32 0, label %92
    i32 1, label %99
    i32 2, label %111
    i32 3, label %122
    i32 4, label %133
    i32 5, label %144
    i32 6, label %154
    i32 7, label %164
    i32 8, label %175
    i32 9, label %186
    i32 10, label %196
    i32 11, label %206
    i32 12, label %217
  ]

92:                                               ; preds = %87
  %93 = load ptr, ptr %4, align 8, !tbaa !5
  %94 = getelementptr inbounds %struct.Any, ptr %93, i32 0, i32 3
  %95 = load i8, ptr %94, align 8, !tbaa !13, !range !14, !noundef !15
  %96 = trunc i8 %95 to i1
  %97 = zext i1 %96 to i32
  %98 = icmp eq i32 %97, 0
  store i1 %98, ptr %3, align 1
  br label %1681

99:                                               ; preds = %87
  %100 = load ptr, ptr %4, align 8, !tbaa !5
  %101 = getelementptr inbounds %struct.Any, ptr %100, i32 0, i32 3
  %102 = load i8, ptr %101, align 8, !tbaa !13, !range !14, !noundef !15
  %103 = trunc i8 %102 to i1
  %104 = zext i1 %103 to i32
  %105 = load ptr, ptr %5, align 8, !tbaa !5
  %106 = getelementptr inbounds %struct.Any, ptr %105, i32 0, i32 3
  %107 = load i8, ptr %106, align 8, !tbaa !13, !range !14, !noundef !15
  %108 = trunc i8 %107 to i1
  %109 = zext i1 %108 to i32
  %110 = icmp eq i32 %104, %109
  store i1 %110, ptr %3, align 1
  br label %1681

111:                                              ; preds = %87
  %112 = load ptr, ptr %4, align 8, !tbaa !5
  %113 = getelementptr inbounds %struct.Any, ptr %112, i32 0, i32 3
  %114 = load i8, ptr %113, align 8, !tbaa !13, !range !14, !noundef !15
  %115 = trunc i8 %114 to i1
  %116 = zext i1 %115 to i32
  %117 = load ptr, ptr %5, align 8, !tbaa !5
  %118 = getelementptr inbounds %struct.Any, ptr %117, i32 0, i32 3
  %119 = load i8, ptr %118, align 8, !tbaa !13
  %120 = sext i8 %119 to i32
  %121 = icmp eq i32 %116, %120
  store i1 %121, ptr %3, align 1
  br label %1681

122:                                              ; preds = %87
  %123 = load ptr, ptr %4, align 8, !tbaa !5
  %124 = getelementptr inbounds %struct.Any, ptr %123, i32 0, i32 3
  %125 = load i8, ptr %124, align 8, !tbaa !13, !range !14, !noundef !15
  %126 = trunc i8 %125 to i1
  %127 = zext i1 %126 to i32
  %128 = load ptr, ptr %5, align 8, !tbaa !5
  %129 = getelementptr inbounds %struct.Any, ptr %128, i32 0, i32 3
  %130 = load i8, ptr %129, align 8, !tbaa !13
  %131 = zext i8 %130 to i32
  %132 = icmp eq i32 %127, %131
  store i1 %132, ptr %3, align 1
  br label %1681

133:                                              ; preds = %87
  %134 = load ptr, ptr %4, align 8, !tbaa !5
  %135 = getelementptr inbounds %struct.Any, ptr %134, i32 0, i32 3
  %136 = load i8, ptr %135, align 8, !tbaa !13, !range !14, !noundef !15
  %137 = trunc i8 %136 to i1
  %138 = zext i1 %137 to i32
  %139 = load ptr, ptr %5, align 8, !tbaa !5
  %140 = getelementptr inbounds %struct.Any, ptr %139, i32 0, i32 3
  %141 = load i16, ptr %140, align 8, !tbaa !13
  %142 = zext i16 %141 to i32
  %143 = icmp eq i32 %138, %142
  store i1 %143, ptr %3, align 1
  br label %1681

144:                                              ; preds = %87
  %145 = load ptr, ptr %4, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.Any, ptr %145, i32 0, i32 3
  %147 = load i8, ptr %146, align 8, !tbaa !13, !range !14, !noundef !15
  %148 = trunc i8 %147 to i1
  %149 = zext i1 %148 to i32
  %150 = load ptr, ptr %5, align 8, !tbaa !5
  %151 = getelementptr inbounds %struct.Any, ptr %150, i32 0, i32 3
  %152 = load i32, ptr %151, align 8, !tbaa !13
  %153 = icmp eq i32 %149, %152
  store i1 %153, ptr %3, align 1
  br label %1681

154:                                              ; preds = %87
  %155 = load ptr, ptr %4, align 8, !tbaa !5
  %156 = getelementptr inbounds %struct.Any, ptr %155, i32 0, i32 3
  %157 = load i8, ptr %156, align 8, !tbaa !13, !range !14, !noundef !15
  %158 = trunc i8 %157 to i1
  %159 = zext i1 %158 to i64
  %160 = load ptr, ptr %5, align 8, !tbaa !5
  %161 = getelementptr inbounds %struct.Any, ptr %160, i32 0, i32 3
  %162 = load i64, ptr %161, align 8, !tbaa !13
  %163 = icmp eq i64 %159, %162
  store i1 %163, ptr %3, align 1
  br label %1681

164:                                              ; preds = %87
  %165 = load ptr, ptr %4, align 8, !tbaa !5
  %166 = getelementptr inbounds %struct.Any, ptr %165, i32 0, i32 3
  %167 = load i8, ptr %166, align 8, !tbaa !13, !range !14, !noundef !15
  %168 = trunc i8 %167 to i1
  %169 = zext i1 %168 to i32
  %170 = load ptr, ptr %5, align 8, !tbaa !5
  %171 = getelementptr inbounds %struct.Any, ptr %170, i32 0, i32 3
  %172 = load i8, ptr %171, align 8, !tbaa !13
  %173 = sext i8 %172 to i32
  %174 = icmp eq i32 %169, %173
  store i1 %174, ptr %3, align 1
  br label %1681

175:                                              ; preds = %87
  %176 = load ptr, ptr %4, align 8, !tbaa !5
  %177 = getelementptr inbounds %struct.Any, ptr %176, i32 0, i32 3
  %178 = load i8, ptr %177, align 8, !tbaa !13, !range !14, !noundef !15
  %179 = trunc i8 %178 to i1
  %180 = zext i1 %179 to i32
  %181 = load ptr, ptr %5, align 8, !tbaa !5
  %182 = getelementptr inbounds %struct.Any, ptr %181, i32 0, i32 3
  %183 = load i16, ptr %182, align 8, !tbaa !13
  %184 = sext i16 %183 to i32
  %185 = icmp eq i32 %180, %184
  store i1 %185, ptr %3, align 1
  br label %1681

186:                                              ; preds = %87
  %187 = load ptr, ptr %4, align 8, !tbaa !5
  %188 = getelementptr inbounds %struct.Any, ptr %187, i32 0, i32 3
  %189 = load i8, ptr %188, align 8, !tbaa !13, !range !14, !noundef !15
  %190 = trunc i8 %189 to i1
  %191 = zext i1 %190 to i32
  %192 = load ptr, ptr %5, align 8, !tbaa !5
  %193 = getelementptr inbounds %struct.Any, ptr %192, i32 0, i32 3
  %194 = load i32, ptr %193, align 8, !tbaa !13
  %195 = icmp eq i32 %191, %194
  store i1 %195, ptr %3, align 1
  br label %1681

196:                                              ; preds = %87
  %197 = load ptr, ptr %4, align 8, !tbaa !5
  %198 = getelementptr inbounds %struct.Any, ptr %197, i32 0, i32 3
  %199 = load i8, ptr %198, align 8, !tbaa !13, !range !14, !noundef !15
  %200 = trunc i8 %199 to i1
  %201 = zext i1 %200 to i64
  %202 = load ptr, ptr %5, align 8, !tbaa !5
  %203 = getelementptr inbounds %struct.Any, ptr %202, i32 0, i32 3
  %204 = load i64, ptr %203, align 8, !tbaa !13
  %205 = icmp eq i64 %201, %204
  store i1 %205, ptr %3, align 1
  br label %1681

206:                                              ; preds = %87
  %207 = load ptr, ptr %4, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.Any, ptr %207, i32 0, i32 3
  %209 = load i8, ptr %208, align 8, !tbaa !13, !range !14, !noundef !15
  %210 = trunc i8 %209 to i1
  %211 = zext i1 %210 to i32
  %212 = sitofp i32 %211 to float
  %213 = load ptr, ptr %5, align 8, !tbaa !5
  %214 = getelementptr inbounds %struct.Any, ptr %213, i32 0, i32 3
  %215 = load float, ptr %214, align 8, !tbaa !13
  %216 = fcmp oeq float %212, %215
  store i1 %216, ptr %3, align 1
  br label %1681

217:                                              ; preds = %87
  %218 = load ptr, ptr %4, align 8, !tbaa !5
  %219 = getelementptr inbounds %struct.Any, ptr %218, i32 0, i32 3
  %220 = load i8, ptr %219, align 8, !tbaa !13, !range !14, !noundef !15
  %221 = trunc i8 %220 to i1
  %222 = zext i1 %221 to i32
  %223 = sitofp i32 %222 to double
  %224 = load ptr, ptr %5, align 8, !tbaa !5
  %225 = getelementptr inbounds %struct.Any, ptr %224, i32 0, i32 3
  %226 = load double, ptr %225, align 8, !tbaa !13
  %227 = fcmp oeq double %223, %226
  store i1 %227, ptr %3, align 1
  br label %1681

228:                                              ; preds = %87
  store i1 false, ptr %3, align 1
  br label %1681

229:                                              ; No predecessors!
  br label %230

230:                                              ; preds = %229, %2
  br label %231

231:                                              ; preds = %230
  %232 = load ptr, ptr %5, align 8, !tbaa !5
  %233 = getelementptr inbounds %struct.Any, ptr %232, i32 0, i32 0
  %234 = load i16, ptr %233, align 8, !tbaa !9
  %235 = zext i16 %234 to i32
  switch i32 %235, label %359 [
    i32 0, label %236
    i32 1, label %242
    i32 2, label %253
    i32 3, label %263
    i32 4, label %273
    i32 5, label %283
    i32 6, label %292
    i32 7, label %301
    i32 8, label %311
    i32 9, label %321
    i32 10, label %330
    i32 11, label %339
    i32 12, label %349
  ]

236:                                              ; preds = %231
  %237 = load ptr, ptr %4, align 8, !tbaa !5
  %238 = getelementptr inbounds %struct.Any, ptr %237, i32 0, i32 3
  %239 = load i8, ptr %238, align 8, !tbaa !13
  %240 = sext i8 %239 to i32
  %241 = icmp eq i32 %240, 0
  store i1 %241, ptr %3, align 1
  br label %1681

242:                                              ; preds = %231
  %243 = load ptr, ptr %4, align 8, !tbaa !5
  %244 = getelementptr inbounds %struct.Any, ptr %243, i32 0, i32 3
  %245 = load i8, ptr %244, align 8, !tbaa !13
  %246 = sext i8 %245 to i32
  %247 = load ptr, ptr %5, align 8, !tbaa !5
  %248 = getelementptr inbounds %struct.Any, ptr %247, i32 0, i32 3
  %249 = load i8, ptr %248, align 8, !tbaa !13, !range !14, !noundef !15
  %250 = trunc i8 %249 to i1
  %251 = zext i1 %250 to i32
  %252 = icmp eq i32 %246, %251
  store i1 %252, ptr %3, align 1
  br label %1681

253:                                              ; preds = %231
  %254 = load ptr, ptr %4, align 8, !tbaa !5
  %255 = getelementptr inbounds %struct.Any, ptr %254, i32 0, i32 3
  %256 = load i8, ptr %255, align 8, !tbaa !13
  %257 = sext i8 %256 to i32
  %258 = load ptr, ptr %5, align 8, !tbaa !5
  %259 = getelementptr inbounds %struct.Any, ptr %258, i32 0, i32 3
  %260 = load i8, ptr %259, align 8, !tbaa !13
  %261 = sext i8 %260 to i32
  %262 = icmp eq i32 %257, %261
  store i1 %262, ptr %3, align 1
  br label %1681

263:                                              ; preds = %231
  %264 = load ptr, ptr %4, align 8, !tbaa !5
  %265 = getelementptr inbounds %struct.Any, ptr %264, i32 0, i32 3
  %266 = load i8, ptr %265, align 8, !tbaa !13
  %267 = sext i8 %266 to i32
  %268 = load ptr, ptr %5, align 8, !tbaa !5
  %269 = getelementptr inbounds %struct.Any, ptr %268, i32 0, i32 3
  %270 = load i8, ptr %269, align 8, !tbaa !13
  %271 = zext i8 %270 to i32
  %272 = icmp eq i32 %267, %271
  store i1 %272, ptr %3, align 1
  br label %1681

273:                                              ; preds = %231
  %274 = load ptr, ptr %4, align 8, !tbaa !5
  %275 = getelementptr inbounds %struct.Any, ptr %274, i32 0, i32 3
  %276 = load i8, ptr %275, align 8, !tbaa !13
  %277 = sext i8 %276 to i32
  %278 = load ptr, ptr %5, align 8, !tbaa !5
  %279 = getelementptr inbounds %struct.Any, ptr %278, i32 0, i32 3
  %280 = load i16, ptr %279, align 8, !tbaa !13
  %281 = zext i16 %280 to i32
  %282 = icmp eq i32 %277, %281
  store i1 %282, ptr %3, align 1
  br label %1681

283:                                              ; preds = %231
  %284 = load ptr, ptr %4, align 8, !tbaa !5
  %285 = getelementptr inbounds %struct.Any, ptr %284, i32 0, i32 3
  %286 = load i8, ptr %285, align 8, !tbaa !13
  %287 = sext i8 %286 to i32
  %288 = load ptr, ptr %5, align 8, !tbaa !5
  %289 = getelementptr inbounds %struct.Any, ptr %288, i32 0, i32 3
  %290 = load i32, ptr %289, align 8, !tbaa !13
  %291 = icmp eq i32 %287, %290
  store i1 %291, ptr %3, align 1
  br label %1681

292:                                              ; preds = %231
  %293 = load ptr, ptr %4, align 8, !tbaa !5
  %294 = getelementptr inbounds %struct.Any, ptr %293, i32 0, i32 3
  %295 = load i8, ptr %294, align 8, !tbaa !13
  %296 = sext i8 %295 to i64
  %297 = load ptr, ptr %5, align 8, !tbaa !5
  %298 = getelementptr inbounds %struct.Any, ptr %297, i32 0, i32 3
  %299 = load i64, ptr %298, align 8, !tbaa !13
  %300 = icmp eq i64 %296, %299
  store i1 %300, ptr %3, align 1
  br label %1681

301:                                              ; preds = %231
  %302 = load ptr, ptr %4, align 8, !tbaa !5
  %303 = getelementptr inbounds %struct.Any, ptr %302, i32 0, i32 3
  %304 = load i8, ptr %303, align 8, !tbaa !13
  %305 = sext i8 %304 to i32
  %306 = load ptr, ptr %5, align 8, !tbaa !5
  %307 = getelementptr inbounds %struct.Any, ptr %306, i32 0, i32 3
  %308 = load i8, ptr %307, align 8, !tbaa !13
  %309 = sext i8 %308 to i32
  %310 = icmp eq i32 %305, %309
  store i1 %310, ptr %3, align 1
  br label %1681

311:                                              ; preds = %231
  %312 = load ptr, ptr %4, align 8, !tbaa !5
  %313 = getelementptr inbounds %struct.Any, ptr %312, i32 0, i32 3
  %314 = load i8, ptr %313, align 8, !tbaa !13
  %315 = sext i8 %314 to i32
  %316 = load ptr, ptr %5, align 8, !tbaa !5
  %317 = getelementptr inbounds %struct.Any, ptr %316, i32 0, i32 3
  %318 = load i16, ptr %317, align 8, !tbaa !13
  %319 = sext i16 %318 to i32
  %320 = icmp eq i32 %315, %319
  store i1 %320, ptr %3, align 1
  br label %1681

321:                                              ; preds = %231
  %322 = load ptr, ptr %4, align 8, !tbaa !5
  %323 = getelementptr inbounds %struct.Any, ptr %322, i32 0, i32 3
  %324 = load i8, ptr %323, align 8, !tbaa !13
  %325 = sext i8 %324 to i32
  %326 = load ptr, ptr %5, align 8, !tbaa !5
  %327 = getelementptr inbounds %struct.Any, ptr %326, i32 0, i32 3
  %328 = load i32, ptr %327, align 8, !tbaa !13
  %329 = icmp eq i32 %325, %328
  store i1 %329, ptr %3, align 1
  br label %1681

330:                                              ; preds = %231
  %331 = load ptr, ptr %4, align 8, !tbaa !5
  %332 = getelementptr inbounds %struct.Any, ptr %331, i32 0, i32 3
  %333 = load i8, ptr %332, align 8, !tbaa !13
  %334 = sext i8 %333 to i64
  %335 = load ptr, ptr %5, align 8, !tbaa !5
  %336 = getelementptr inbounds %struct.Any, ptr %335, i32 0, i32 3
  %337 = load i64, ptr %336, align 8, !tbaa !13
  %338 = icmp eq i64 %334, %337
  store i1 %338, ptr %3, align 1
  br label %1681

339:                                              ; preds = %231
  %340 = load ptr, ptr %4, align 8, !tbaa !5
  %341 = getelementptr inbounds %struct.Any, ptr %340, i32 0, i32 3
  %342 = load i8, ptr %341, align 8, !tbaa !13
  %343 = sext i8 %342 to i32
  %344 = sitofp i32 %343 to float
  %345 = load ptr, ptr %5, align 8, !tbaa !5
  %346 = getelementptr inbounds %struct.Any, ptr %345, i32 0, i32 3
  %347 = load float, ptr %346, align 8, !tbaa !13
  %348 = fcmp oeq float %344, %347
  store i1 %348, ptr %3, align 1
  br label %1681

349:                                              ; preds = %231
  %350 = load ptr, ptr %4, align 8, !tbaa !5
  %351 = getelementptr inbounds %struct.Any, ptr %350, i32 0, i32 3
  %352 = load i8, ptr %351, align 8, !tbaa !13
  %353 = sext i8 %352 to i32
  %354 = sitofp i32 %353 to double
  %355 = load ptr, ptr %5, align 8, !tbaa !5
  %356 = getelementptr inbounds %struct.Any, ptr %355, i32 0, i32 3
  %357 = load double, ptr %356, align 8, !tbaa !13
  %358 = fcmp oeq double %354, %357
  store i1 %358, ptr %3, align 1
  br label %1681

359:                                              ; preds = %231
  store i1 false, ptr %3, align 1
  br label %1681

360:                                              ; No predecessors!
  br label %361

361:                                              ; preds = %360, %2
  br label %362

362:                                              ; preds = %361
  %363 = load ptr, ptr %5, align 8, !tbaa !5
  %364 = getelementptr inbounds %struct.Any, ptr %363, i32 0, i32 0
  %365 = load i16, ptr %364, align 8, !tbaa !9
  %366 = zext i16 %365 to i32
  switch i32 %366, label %490 [
    i32 0, label %367
    i32 1, label %373
    i32 2, label %384
    i32 3, label %394
    i32 4, label %404
    i32 5, label %414
    i32 6, label %423
    i32 7, label %432
    i32 8, label %442
    i32 9, label %452
    i32 10, label %461
    i32 11, label %470
    i32 12, label %480
  ]

367:                                              ; preds = %362
  %368 = load ptr, ptr %4, align 8, !tbaa !5
  %369 = getelementptr inbounds %struct.Any, ptr %368, i32 0, i32 3
  %370 = load i8, ptr %369, align 8, !tbaa !13
  %371 = zext i8 %370 to i32
  %372 = icmp eq i32 %371, 0
  store i1 %372, ptr %3, align 1
  br label %1681

373:                                              ; preds = %362
  %374 = load ptr, ptr %4, align 8, !tbaa !5
  %375 = getelementptr inbounds %struct.Any, ptr %374, i32 0, i32 3
  %376 = load i8, ptr %375, align 8, !tbaa !13
  %377 = zext i8 %376 to i32
  %378 = load ptr, ptr %5, align 8, !tbaa !5
  %379 = getelementptr inbounds %struct.Any, ptr %378, i32 0, i32 3
  %380 = load i8, ptr %379, align 8, !tbaa !13, !range !14, !noundef !15
  %381 = trunc i8 %380 to i1
  %382 = zext i1 %381 to i32
  %383 = icmp eq i32 %377, %382
  store i1 %383, ptr %3, align 1
  br label %1681

384:                                              ; preds = %362
  %385 = load ptr, ptr %4, align 8, !tbaa !5
  %386 = getelementptr inbounds %struct.Any, ptr %385, i32 0, i32 3
  %387 = load i8, ptr %386, align 8, !tbaa !13
  %388 = zext i8 %387 to i32
  %389 = load ptr, ptr %5, align 8, !tbaa !5
  %390 = getelementptr inbounds %struct.Any, ptr %389, i32 0, i32 3
  %391 = load i8, ptr %390, align 8, !tbaa !13
  %392 = sext i8 %391 to i32
  %393 = icmp eq i32 %388, %392
  store i1 %393, ptr %3, align 1
  br label %1681

394:                                              ; preds = %362
  %395 = load ptr, ptr %4, align 8, !tbaa !5
  %396 = getelementptr inbounds %struct.Any, ptr %395, i32 0, i32 3
  %397 = load i8, ptr %396, align 8, !tbaa !13
  %398 = zext i8 %397 to i32
  %399 = load ptr, ptr %5, align 8, !tbaa !5
  %400 = getelementptr inbounds %struct.Any, ptr %399, i32 0, i32 3
  %401 = load i8, ptr %400, align 8, !tbaa !13
  %402 = zext i8 %401 to i32
  %403 = icmp eq i32 %398, %402
  store i1 %403, ptr %3, align 1
  br label %1681

404:                                              ; preds = %362
  %405 = load ptr, ptr %4, align 8, !tbaa !5
  %406 = getelementptr inbounds %struct.Any, ptr %405, i32 0, i32 3
  %407 = load i8, ptr %406, align 8, !tbaa !13
  %408 = zext i8 %407 to i32
  %409 = load ptr, ptr %5, align 8, !tbaa !5
  %410 = getelementptr inbounds %struct.Any, ptr %409, i32 0, i32 3
  %411 = load i16, ptr %410, align 8, !tbaa !13
  %412 = zext i16 %411 to i32
  %413 = icmp eq i32 %408, %412
  store i1 %413, ptr %3, align 1
  br label %1681

414:                                              ; preds = %362
  %415 = load ptr, ptr %4, align 8, !tbaa !5
  %416 = getelementptr inbounds %struct.Any, ptr %415, i32 0, i32 3
  %417 = load i8, ptr %416, align 8, !tbaa !13
  %418 = zext i8 %417 to i32
  %419 = load ptr, ptr %5, align 8, !tbaa !5
  %420 = getelementptr inbounds %struct.Any, ptr %419, i32 0, i32 3
  %421 = load i32, ptr %420, align 8, !tbaa !13
  %422 = icmp eq i32 %418, %421
  store i1 %422, ptr %3, align 1
  br label %1681

423:                                              ; preds = %362
  %424 = load ptr, ptr %4, align 8, !tbaa !5
  %425 = getelementptr inbounds %struct.Any, ptr %424, i32 0, i32 3
  %426 = load i8, ptr %425, align 8, !tbaa !13
  %427 = zext i8 %426 to i64
  %428 = load ptr, ptr %5, align 8, !tbaa !5
  %429 = getelementptr inbounds %struct.Any, ptr %428, i32 0, i32 3
  %430 = load i64, ptr %429, align 8, !tbaa !13
  %431 = icmp eq i64 %427, %430
  store i1 %431, ptr %3, align 1
  br label %1681

432:                                              ; preds = %362
  %433 = load ptr, ptr %4, align 8, !tbaa !5
  %434 = getelementptr inbounds %struct.Any, ptr %433, i32 0, i32 3
  %435 = load i8, ptr %434, align 8, !tbaa !13
  %436 = zext i8 %435 to i32
  %437 = load ptr, ptr %5, align 8, !tbaa !5
  %438 = getelementptr inbounds %struct.Any, ptr %437, i32 0, i32 3
  %439 = load i8, ptr %438, align 8, !tbaa !13
  %440 = sext i8 %439 to i32
  %441 = icmp eq i32 %436, %440
  store i1 %441, ptr %3, align 1
  br label %1681

442:                                              ; preds = %362
  %443 = load ptr, ptr %4, align 8, !tbaa !5
  %444 = getelementptr inbounds %struct.Any, ptr %443, i32 0, i32 3
  %445 = load i8, ptr %444, align 8, !tbaa !13
  %446 = zext i8 %445 to i32
  %447 = load ptr, ptr %5, align 8, !tbaa !5
  %448 = getelementptr inbounds %struct.Any, ptr %447, i32 0, i32 3
  %449 = load i16, ptr %448, align 8, !tbaa !13
  %450 = sext i16 %449 to i32
  %451 = icmp eq i32 %446, %450
  store i1 %451, ptr %3, align 1
  br label %1681

452:                                              ; preds = %362
  %453 = load ptr, ptr %4, align 8, !tbaa !5
  %454 = getelementptr inbounds %struct.Any, ptr %453, i32 0, i32 3
  %455 = load i8, ptr %454, align 8, !tbaa !13
  %456 = zext i8 %455 to i32
  %457 = load ptr, ptr %5, align 8, !tbaa !5
  %458 = getelementptr inbounds %struct.Any, ptr %457, i32 0, i32 3
  %459 = load i32, ptr %458, align 8, !tbaa !13
  %460 = icmp eq i32 %456, %459
  store i1 %460, ptr %3, align 1
  br label %1681

461:                                              ; preds = %362
  %462 = load ptr, ptr %4, align 8, !tbaa !5
  %463 = getelementptr inbounds %struct.Any, ptr %462, i32 0, i32 3
  %464 = load i8, ptr %463, align 8, !tbaa !13
  %465 = zext i8 %464 to i64
  %466 = load ptr, ptr %5, align 8, !tbaa !5
  %467 = getelementptr inbounds %struct.Any, ptr %466, i32 0, i32 3
  %468 = load i64, ptr %467, align 8, !tbaa !13
  %469 = icmp eq i64 %465, %468
  store i1 %469, ptr %3, align 1
  br label %1681

470:                                              ; preds = %362
  %471 = load ptr, ptr %4, align 8, !tbaa !5
  %472 = getelementptr inbounds %struct.Any, ptr %471, i32 0, i32 3
  %473 = load i8, ptr %472, align 8, !tbaa !13
  %474 = zext i8 %473 to i32
  %475 = sitofp i32 %474 to float
  %476 = load ptr, ptr %5, align 8, !tbaa !5
  %477 = getelementptr inbounds %struct.Any, ptr %476, i32 0, i32 3
  %478 = load float, ptr %477, align 8, !tbaa !13
  %479 = fcmp oeq float %475, %478
  store i1 %479, ptr %3, align 1
  br label %1681

480:                                              ; preds = %362
  %481 = load ptr, ptr %4, align 8, !tbaa !5
  %482 = getelementptr inbounds %struct.Any, ptr %481, i32 0, i32 3
  %483 = load i8, ptr %482, align 8, !tbaa !13
  %484 = zext i8 %483 to i32
  %485 = sitofp i32 %484 to double
  %486 = load ptr, ptr %5, align 8, !tbaa !5
  %487 = getelementptr inbounds %struct.Any, ptr %486, i32 0, i32 3
  %488 = load double, ptr %487, align 8, !tbaa !13
  %489 = fcmp oeq double %485, %488
  store i1 %489, ptr %3, align 1
  br label %1681

490:                                              ; preds = %362
  store i1 false, ptr %3, align 1
  br label %1681

491:                                              ; No predecessors!
  br label %492

492:                                              ; preds = %491, %2
  br label %493

493:                                              ; preds = %492
  %494 = load ptr, ptr %5, align 8, !tbaa !5
  %495 = getelementptr inbounds %struct.Any, ptr %494, i32 0, i32 0
  %496 = load i16, ptr %495, align 8, !tbaa !9
  %497 = zext i16 %496 to i32
  switch i32 %497, label %621 [
    i32 0, label %498
    i32 1, label %504
    i32 2, label %515
    i32 3, label %525
    i32 4, label %535
    i32 5, label %545
    i32 6, label %554
    i32 7, label %563
    i32 8, label %573
    i32 9, label %583
    i32 10, label %592
    i32 11, label %601
    i32 12, label %611
  ]

498:                                              ; preds = %493
  %499 = load ptr, ptr %4, align 8, !tbaa !5
  %500 = getelementptr inbounds %struct.Any, ptr %499, i32 0, i32 3
  %501 = load i16, ptr %500, align 8, !tbaa !13
  %502 = zext i16 %501 to i32
  %503 = icmp eq i32 %502, 0
  store i1 %503, ptr %3, align 1
  br label %1681

504:                                              ; preds = %493
  %505 = load ptr, ptr %4, align 8, !tbaa !5
  %506 = getelementptr inbounds %struct.Any, ptr %505, i32 0, i32 3
  %507 = load i16, ptr %506, align 8, !tbaa !13
  %508 = zext i16 %507 to i32
  %509 = load ptr, ptr %5, align 8, !tbaa !5
  %510 = getelementptr inbounds %struct.Any, ptr %509, i32 0, i32 3
  %511 = load i8, ptr %510, align 8, !tbaa !13, !range !14, !noundef !15
  %512 = trunc i8 %511 to i1
  %513 = zext i1 %512 to i32
  %514 = icmp eq i32 %508, %513
  store i1 %514, ptr %3, align 1
  br label %1681

515:                                              ; preds = %493
  %516 = load ptr, ptr %4, align 8, !tbaa !5
  %517 = getelementptr inbounds %struct.Any, ptr %516, i32 0, i32 3
  %518 = load i16, ptr %517, align 8, !tbaa !13
  %519 = zext i16 %518 to i32
  %520 = load ptr, ptr %5, align 8, !tbaa !5
  %521 = getelementptr inbounds %struct.Any, ptr %520, i32 0, i32 3
  %522 = load i8, ptr %521, align 8, !tbaa !13
  %523 = sext i8 %522 to i32
  %524 = icmp eq i32 %519, %523
  store i1 %524, ptr %3, align 1
  br label %1681

525:                                              ; preds = %493
  %526 = load ptr, ptr %4, align 8, !tbaa !5
  %527 = getelementptr inbounds %struct.Any, ptr %526, i32 0, i32 3
  %528 = load i16, ptr %527, align 8, !tbaa !13
  %529 = zext i16 %528 to i32
  %530 = load ptr, ptr %5, align 8, !tbaa !5
  %531 = getelementptr inbounds %struct.Any, ptr %530, i32 0, i32 3
  %532 = load i8, ptr %531, align 8, !tbaa !13
  %533 = zext i8 %532 to i32
  %534 = icmp eq i32 %529, %533
  store i1 %534, ptr %3, align 1
  br label %1681

535:                                              ; preds = %493
  %536 = load ptr, ptr %4, align 8, !tbaa !5
  %537 = getelementptr inbounds %struct.Any, ptr %536, i32 0, i32 3
  %538 = load i16, ptr %537, align 8, !tbaa !13
  %539 = zext i16 %538 to i32
  %540 = load ptr, ptr %5, align 8, !tbaa !5
  %541 = getelementptr inbounds %struct.Any, ptr %540, i32 0, i32 3
  %542 = load i16, ptr %541, align 8, !tbaa !13
  %543 = zext i16 %542 to i32
  %544 = icmp eq i32 %539, %543
  store i1 %544, ptr %3, align 1
  br label %1681

545:                                              ; preds = %493
  %546 = load ptr, ptr %4, align 8, !tbaa !5
  %547 = getelementptr inbounds %struct.Any, ptr %546, i32 0, i32 3
  %548 = load i16, ptr %547, align 8, !tbaa !13
  %549 = zext i16 %548 to i32
  %550 = load ptr, ptr %5, align 8, !tbaa !5
  %551 = getelementptr inbounds %struct.Any, ptr %550, i32 0, i32 3
  %552 = load i32, ptr %551, align 8, !tbaa !13
  %553 = icmp eq i32 %549, %552
  store i1 %553, ptr %3, align 1
  br label %1681

554:                                              ; preds = %493
  %555 = load ptr, ptr %4, align 8, !tbaa !5
  %556 = getelementptr inbounds %struct.Any, ptr %555, i32 0, i32 3
  %557 = load i16, ptr %556, align 8, !tbaa !13
  %558 = zext i16 %557 to i64
  %559 = load ptr, ptr %5, align 8, !tbaa !5
  %560 = getelementptr inbounds %struct.Any, ptr %559, i32 0, i32 3
  %561 = load i64, ptr %560, align 8, !tbaa !13
  %562 = icmp eq i64 %558, %561
  store i1 %562, ptr %3, align 1
  br label %1681

563:                                              ; preds = %493
  %564 = load ptr, ptr %4, align 8, !tbaa !5
  %565 = getelementptr inbounds %struct.Any, ptr %564, i32 0, i32 3
  %566 = load i16, ptr %565, align 8, !tbaa !13
  %567 = zext i16 %566 to i32
  %568 = load ptr, ptr %5, align 8, !tbaa !5
  %569 = getelementptr inbounds %struct.Any, ptr %568, i32 0, i32 3
  %570 = load i8, ptr %569, align 8, !tbaa !13
  %571 = sext i8 %570 to i32
  %572 = icmp eq i32 %567, %571
  store i1 %572, ptr %3, align 1
  br label %1681

573:                                              ; preds = %493
  %574 = load ptr, ptr %4, align 8, !tbaa !5
  %575 = getelementptr inbounds %struct.Any, ptr %574, i32 0, i32 3
  %576 = load i16, ptr %575, align 8, !tbaa !13
  %577 = zext i16 %576 to i32
  %578 = load ptr, ptr %5, align 8, !tbaa !5
  %579 = getelementptr inbounds %struct.Any, ptr %578, i32 0, i32 3
  %580 = load i16, ptr %579, align 8, !tbaa !13
  %581 = sext i16 %580 to i32
  %582 = icmp eq i32 %577, %581
  store i1 %582, ptr %3, align 1
  br label %1681

583:                                              ; preds = %493
  %584 = load ptr, ptr %4, align 8, !tbaa !5
  %585 = getelementptr inbounds %struct.Any, ptr %584, i32 0, i32 3
  %586 = load i16, ptr %585, align 8, !tbaa !13
  %587 = zext i16 %586 to i32
  %588 = load ptr, ptr %5, align 8, !tbaa !5
  %589 = getelementptr inbounds %struct.Any, ptr %588, i32 0, i32 3
  %590 = load i32, ptr %589, align 8, !tbaa !13
  %591 = icmp eq i32 %587, %590
  store i1 %591, ptr %3, align 1
  br label %1681

592:                                              ; preds = %493
  %593 = load ptr, ptr %4, align 8, !tbaa !5
  %594 = getelementptr inbounds %struct.Any, ptr %593, i32 0, i32 3
  %595 = load i16, ptr %594, align 8, !tbaa !13
  %596 = zext i16 %595 to i64
  %597 = load ptr, ptr %5, align 8, !tbaa !5
  %598 = getelementptr inbounds %struct.Any, ptr %597, i32 0, i32 3
  %599 = load i64, ptr %598, align 8, !tbaa !13
  %600 = icmp eq i64 %596, %599
  store i1 %600, ptr %3, align 1
  br label %1681

601:                                              ; preds = %493
  %602 = load ptr, ptr %4, align 8, !tbaa !5
  %603 = getelementptr inbounds %struct.Any, ptr %602, i32 0, i32 3
  %604 = load i16, ptr %603, align 8, !tbaa !13
  %605 = zext i16 %604 to i32
  %606 = sitofp i32 %605 to float
  %607 = load ptr, ptr %5, align 8, !tbaa !5
  %608 = getelementptr inbounds %struct.Any, ptr %607, i32 0, i32 3
  %609 = load float, ptr %608, align 8, !tbaa !13
  %610 = fcmp oeq float %606, %609
  store i1 %610, ptr %3, align 1
  br label %1681

611:                                              ; preds = %493
  %612 = load ptr, ptr %4, align 8, !tbaa !5
  %613 = getelementptr inbounds %struct.Any, ptr %612, i32 0, i32 3
  %614 = load i16, ptr %613, align 8, !tbaa !13
  %615 = zext i16 %614 to i32
  %616 = sitofp i32 %615 to double
  %617 = load ptr, ptr %5, align 8, !tbaa !5
  %618 = getelementptr inbounds %struct.Any, ptr %617, i32 0, i32 3
  %619 = load double, ptr %618, align 8, !tbaa !13
  %620 = fcmp oeq double %616, %619
  store i1 %620, ptr %3, align 1
  br label %1681

621:                                              ; preds = %493
  store i1 false, ptr %3, align 1
  br label %1681

622:                                              ; No predecessors!
  br label %623

623:                                              ; preds = %622, %2
  br label %624

624:                                              ; preds = %623
  %625 = load ptr, ptr %5, align 8, !tbaa !5
  %626 = getelementptr inbounds %struct.Any, ptr %625, i32 0, i32 0
  %627 = load i16, ptr %626, align 8, !tbaa !9
  %628 = zext i16 %627 to i32
  switch i32 %628, label %741 [
    i32 0, label %629
    i32 1, label %634
    i32 2, label %644
    i32 3, label %653
    i32 4, label %662
    i32 5, label %671
    i32 6, label %679
    i32 7, label %688
    i32 8, label %697
    i32 9, label %706
    i32 10, label %714
    i32 11, label %723
    i32 12, label %732
  ]

629:                                              ; preds = %624
  %630 = load ptr, ptr %4, align 8, !tbaa !5
  %631 = getelementptr inbounds %struct.Any, ptr %630, i32 0, i32 3
  %632 = load i32, ptr %631, align 8, !tbaa !13
  %633 = icmp eq i32 %632, 0
  store i1 %633, ptr %3, align 1
  br label %1681

634:                                              ; preds = %624
  %635 = load ptr, ptr %4, align 8, !tbaa !5
  %636 = getelementptr inbounds %struct.Any, ptr %635, i32 0, i32 3
  %637 = load i32, ptr %636, align 8, !tbaa !13
  %638 = load ptr, ptr %5, align 8, !tbaa !5
  %639 = getelementptr inbounds %struct.Any, ptr %638, i32 0, i32 3
  %640 = load i8, ptr %639, align 8, !tbaa !13, !range !14, !noundef !15
  %641 = trunc i8 %640 to i1
  %642 = zext i1 %641 to i32
  %643 = icmp eq i32 %637, %642
  store i1 %643, ptr %3, align 1
  br label %1681

644:                                              ; preds = %624
  %645 = load ptr, ptr %4, align 8, !tbaa !5
  %646 = getelementptr inbounds %struct.Any, ptr %645, i32 0, i32 3
  %647 = load i32, ptr %646, align 8, !tbaa !13
  %648 = load ptr, ptr %5, align 8, !tbaa !5
  %649 = getelementptr inbounds %struct.Any, ptr %648, i32 0, i32 3
  %650 = load i8, ptr %649, align 8, !tbaa !13
  %651 = sext i8 %650 to i32
  %652 = icmp eq i32 %647, %651
  store i1 %652, ptr %3, align 1
  br label %1681

653:                                              ; preds = %624
  %654 = load ptr, ptr %4, align 8, !tbaa !5
  %655 = getelementptr inbounds %struct.Any, ptr %654, i32 0, i32 3
  %656 = load i32, ptr %655, align 8, !tbaa !13
  %657 = load ptr, ptr %5, align 8, !tbaa !5
  %658 = getelementptr inbounds %struct.Any, ptr %657, i32 0, i32 3
  %659 = load i8, ptr %658, align 8, !tbaa !13
  %660 = zext i8 %659 to i32
  %661 = icmp eq i32 %656, %660
  store i1 %661, ptr %3, align 1
  br label %1681

662:                                              ; preds = %624
  %663 = load ptr, ptr %4, align 8, !tbaa !5
  %664 = getelementptr inbounds %struct.Any, ptr %663, i32 0, i32 3
  %665 = load i32, ptr %664, align 8, !tbaa !13
  %666 = load ptr, ptr %5, align 8, !tbaa !5
  %667 = getelementptr inbounds %struct.Any, ptr %666, i32 0, i32 3
  %668 = load i16, ptr %667, align 8, !tbaa !13
  %669 = zext i16 %668 to i32
  %670 = icmp eq i32 %665, %669
  store i1 %670, ptr %3, align 1
  br label %1681

671:                                              ; preds = %624
  %672 = load ptr, ptr %4, align 8, !tbaa !5
  %673 = getelementptr inbounds %struct.Any, ptr %672, i32 0, i32 3
  %674 = load i32, ptr %673, align 8, !tbaa !13
  %675 = load ptr, ptr %5, align 8, !tbaa !5
  %676 = getelementptr inbounds %struct.Any, ptr %675, i32 0, i32 3
  %677 = load i32, ptr %676, align 8, !tbaa !13
  %678 = icmp eq i32 %674, %677
  store i1 %678, ptr %3, align 1
  br label %1681

679:                                              ; preds = %624
  %680 = load ptr, ptr %4, align 8, !tbaa !5
  %681 = getelementptr inbounds %struct.Any, ptr %680, i32 0, i32 3
  %682 = load i32, ptr %681, align 8, !tbaa !13
  %683 = zext i32 %682 to i64
  %684 = load ptr, ptr %5, align 8, !tbaa !5
  %685 = getelementptr inbounds %struct.Any, ptr %684, i32 0, i32 3
  %686 = load i64, ptr %685, align 8, !tbaa !13
  %687 = icmp eq i64 %683, %686
  store i1 %687, ptr %3, align 1
  br label %1681

688:                                              ; preds = %624
  %689 = load ptr, ptr %4, align 8, !tbaa !5
  %690 = getelementptr inbounds %struct.Any, ptr %689, i32 0, i32 3
  %691 = load i32, ptr %690, align 8, !tbaa !13
  %692 = load ptr, ptr %5, align 8, !tbaa !5
  %693 = getelementptr inbounds %struct.Any, ptr %692, i32 0, i32 3
  %694 = load i8, ptr %693, align 8, !tbaa !13
  %695 = sext i8 %694 to i32
  %696 = icmp eq i32 %691, %695
  store i1 %696, ptr %3, align 1
  br label %1681

697:                                              ; preds = %624
  %698 = load ptr, ptr %4, align 8, !tbaa !5
  %699 = getelementptr inbounds %struct.Any, ptr %698, i32 0, i32 3
  %700 = load i32, ptr %699, align 8, !tbaa !13
  %701 = load ptr, ptr %5, align 8, !tbaa !5
  %702 = getelementptr inbounds %struct.Any, ptr %701, i32 0, i32 3
  %703 = load i16, ptr %702, align 8, !tbaa !13
  %704 = sext i16 %703 to i32
  %705 = icmp eq i32 %700, %704
  store i1 %705, ptr %3, align 1
  br label %1681

706:                                              ; preds = %624
  %707 = load ptr, ptr %4, align 8, !tbaa !5
  %708 = getelementptr inbounds %struct.Any, ptr %707, i32 0, i32 3
  %709 = load i32, ptr %708, align 8, !tbaa !13
  %710 = load ptr, ptr %5, align 8, !tbaa !5
  %711 = getelementptr inbounds %struct.Any, ptr %710, i32 0, i32 3
  %712 = load i32, ptr %711, align 8, !tbaa !13
  %713 = icmp eq i32 %709, %712
  store i1 %713, ptr %3, align 1
  br label %1681

714:                                              ; preds = %624
  %715 = load ptr, ptr %4, align 8, !tbaa !5
  %716 = getelementptr inbounds %struct.Any, ptr %715, i32 0, i32 3
  %717 = load i32, ptr %716, align 8, !tbaa !13
  %718 = zext i32 %717 to i64
  %719 = load ptr, ptr %5, align 8, !tbaa !5
  %720 = getelementptr inbounds %struct.Any, ptr %719, i32 0, i32 3
  %721 = load i64, ptr %720, align 8, !tbaa !13
  %722 = icmp eq i64 %718, %721
  store i1 %722, ptr %3, align 1
  br label %1681

723:                                              ; preds = %624
  %724 = load ptr, ptr %4, align 8, !tbaa !5
  %725 = getelementptr inbounds %struct.Any, ptr %724, i32 0, i32 3
  %726 = load i32, ptr %725, align 8, !tbaa !13
  %727 = uitofp i32 %726 to float
  %728 = load ptr, ptr %5, align 8, !tbaa !5
  %729 = getelementptr inbounds %struct.Any, ptr %728, i32 0, i32 3
  %730 = load float, ptr %729, align 8, !tbaa !13
  %731 = fcmp oeq float %727, %730
  store i1 %731, ptr %3, align 1
  br label %1681

732:                                              ; preds = %624
  %733 = load ptr, ptr %4, align 8, !tbaa !5
  %734 = getelementptr inbounds %struct.Any, ptr %733, i32 0, i32 3
  %735 = load i32, ptr %734, align 8, !tbaa !13
  %736 = uitofp i32 %735 to double
  %737 = load ptr, ptr %5, align 8, !tbaa !5
  %738 = getelementptr inbounds %struct.Any, ptr %737, i32 0, i32 3
  %739 = load double, ptr %738, align 8, !tbaa !13
  %740 = fcmp oeq double %736, %739
  store i1 %740, ptr %3, align 1
  br label %1681

741:                                              ; preds = %624
  store i1 false, ptr %3, align 1
  br label %1681

742:                                              ; No predecessors!
  br label %743

743:                                              ; preds = %742, %2
  br label %744

744:                                              ; preds = %743
  %745 = load ptr, ptr %5, align 8, !tbaa !5
  %746 = getelementptr inbounds %struct.Any, ptr %745, i32 0, i32 0
  %747 = load i16, ptr %746, align 8, !tbaa !9
  %748 = zext i16 %747 to i32
  switch i32 %748, label %861 [
    i32 0, label %749
    i32 1, label %754
    i32 2, label %764
    i32 3, label %773
    i32 4, label %782
    i32 5, label %791
    i32 6, label %800
    i32 7, label %808
    i32 8, label %817
    i32 9, label %826
    i32 10, label %835
    i32 11, label %843
    i32 12, label %852
  ]

749:                                              ; preds = %744
  %750 = load ptr, ptr %4, align 8, !tbaa !5
  %751 = getelementptr inbounds %struct.Any, ptr %750, i32 0, i32 3
  %752 = load i64, ptr %751, align 8, !tbaa !13
  %753 = icmp eq i64 %752, 0
  store i1 %753, ptr %3, align 1
  br label %1681

754:                                              ; preds = %744
  %755 = load ptr, ptr %4, align 8, !tbaa !5
  %756 = getelementptr inbounds %struct.Any, ptr %755, i32 0, i32 3
  %757 = load i64, ptr %756, align 8, !tbaa !13
  %758 = load ptr, ptr %5, align 8, !tbaa !5
  %759 = getelementptr inbounds %struct.Any, ptr %758, i32 0, i32 3
  %760 = load i8, ptr %759, align 8, !tbaa !13, !range !14, !noundef !15
  %761 = trunc i8 %760 to i1
  %762 = zext i1 %761 to i64
  %763 = icmp eq i64 %757, %762
  store i1 %763, ptr %3, align 1
  br label %1681

764:                                              ; preds = %744
  %765 = load ptr, ptr %4, align 8, !tbaa !5
  %766 = getelementptr inbounds %struct.Any, ptr %765, i32 0, i32 3
  %767 = load i64, ptr %766, align 8, !tbaa !13
  %768 = load ptr, ptr %5, align 8, !tbaa !5
  %769 = getelementptr inbounds %struct.Any, ptr %768, i32 0, i32 3
  %770 = load i8, ptr %769, align 8, !tbaa !13
  %771 = sext i8 %770 to i64
  %772 = icmp eq i64 %767, %771
  store i1 %772, ptr %3, align 1
  br label %1681

773:                                              ; preds = %744
  %774 = load ptr, ptr %4, align 8, !tbaa !5
  %775 = getelementptr inbounds %struct.Any, ptr %774, i32 0, i32 3
  %776 = load i64, ptr %775, align 8, !tbaa !13
  %777 = load ptr, ptr %5, align 8, !tbaa !5
  %778 = getelementptr inbounds %struct.Any, ptr %777, i32 0, i32 3
  %779 = load i8, ptr %778, align 8, !tbaa !13
  %780 = zext i8 %779 to i64
  %781 = icmp eq i64 %776, %780
  store i1 %781, ptr %3, align 1
  br label %1681

782:                                              ; preds = %744
  %783 = load ptr, ptr %4, align 8, !tbaa !5
  %784 = getelementptr inbounds %struct.Any, ptr %783, i32 0, i32 3
  %785 = load i64, ptr %784, align 8, !tbaa !13
  %786 = load ptr, ptr %5, align 8, !tbaa !5
  %787 = getelementptr inbounds %struct.Any, ptr %786, i32 0, i32 3
  %788 = load i16, ptr %787, align 8, !tbaa !13
  %789 = zext i16 %788 to i64
  %790 = icmp eq i64 %785, %789
  store i1 %790, ptr %3, align 1
  br label %1681

791:                                              ; preds = %744
  %792 = load ptr, ptr %4, align 8, !tbaa !5
  %793 = getelementptr inbounds %struct.Any, ptr %792, i32 0, i32 3
  %794 = load i64, ptr %793, align 8, !tbaa !13
  %795 = load ptr, ptr %5, align 8, !tbaa !5
  %796 = getelementptr inbounds %struct.Any, ptr %795, i32 0, i32 3
  %797 = load i32, ptr %796, align 8, !tbaa !13
  %798 = zext i32 %797 to i64
  %799 = icmp eq i64 %794, %798
  store i1 %799, ptr %3, align 1
  br label %1681

800:                                              ; preds = %744
  %801 = load ptr, ptr %4, align 8, !tbaa !5
  %802 = getelementptr inbounds %struct.Any, ptr %801, i32 0, i32 3
  %803 = load i64, ptr %802, align 8, !tbaa !13
  %804 = load ptr, ptr %5, align 8, !tbaa !5
  %805 = getelementptr inbounds %struct.Any, ptr %804, i32 0, i32 3
  %806 = load i64, ptr %805, align 8, !tbaa !13
  %807 = icmp eq i64 %803, %806
  store i1 %807, ptr %3, align 1
  br label %1681

808:                                              ; preds = %744
  %809 = load ptr, ptr %4, align 8, !tbaa !5
  %810 = getelementptr inbounds %struct.Any, ptr %809, i32 0, i32 3
  %811 = load i64, ptr %810, align 8, !tbaa !13
  %812 = load ptr, ptr %5, align 8, !tbaa !5
  %813 = getelementptr inbounds %struct.Any, ptr %812, i32 0, i32 3
  %814 = load i8, ptr %813, align 8, !tbaa !13
  %815 = sext i8 %814 to i64
  %816 = icmp eq i64 %811, %815
  store i1 %816, ptr %3, align 1
  br label %1681

817:                                              ; preds = %744
  %818 = load ptr, ptr %4, align 8, !tbaa !5
  %819 = getelementptr inbounds %struct.Any, ptr %818, i32 0, i32 3
  %820 = load i64, ptr %819, align 8, !tbaa !13
  %821 = load ptr, ptr %5, align 8, !tbaa !5
  %822 = getelementptr inbounds %struct.Any, ptr %821, i32 0, i32 3
  %823 = load i16, ptr %822, align 8, !tbaa !13
  %824 = sext i16 %823 to i64
  %825 = icmp eq i64 %820, %824
  store i1 %825, ptr %3, align 1
  br label %1681

826:                                              ; preds = %744
  %827 = load ptr, ptr %4, align 8, !tbaa !5
  %828 = getelementptr inbounds %struct.Any, ptr %827, i32 0, i32 3
  %829 = load i64, ptr %828, align 8, !tbaa !13
  %830 = load ptr, ptr %5, align 8, !tbaa !5
  %831 = getelementptr inbounds %struct.Any, ptr %830, i32 0, i32 3
  %832 = load i32, ptr %831, align 8, !tbaa !13
  %833 = sext i32 %832 to i64
  %834 = icmp eq i64 %829, %833
  store i1 %834, ptr %3, align 1
  br label %1681

835:                                              ; preds = %744
  %836 = load ptr, ptr %4, align 8, !tbaa !5
  %837 = getelementptr inbounds %struct.Any, ptr %836, i32 0, i32 3
  %838 = load i64, ptr %837, align 8, !tbaa !13
  %839 = load ptr, ptr %5, align 8, !tbaa !5
  %840 = getelementptr inbounds %struct.Any, ptr %839, i32 0, i32 3
  %841 = load i64, ptr %840, align 8, !tbaa !13
  %842 = icmp eq i64 %838, %841
  store i1 %842, ptr %3, align 1
  br label %1681

843:                                              ; preds = %744
  %844 = load ptr, ptr %4, align 8, !tbaa !5
  %845 = getelementptr inbounds %struct.Any, ptr %844, i32 0, i32 3
  %846 = load i64, ptr %845, align 8, !tbaa !13
  %847 = uitofp i64 %846 to float
  %848 = load ptr, ptr %5, align 8, !tbaa !5
  %849 = getelementptr inbounds %struct.Any, ptr %848, i32 0, i32 3
  %850 = load float, ptr %849, align 8, !tbaa !13
  %851 = fcmp oeq float %847, %850
  store i1 %851, ptr %3, align 1
  br label %1681

852:                                              ; preds = %744
  %853 = load ptr, ptr %4, align 8, !tbaa !5
  %854 = getelementptr inbounds %struct.Any, ptr %853, i32 0, i32 3
  %855 = load i64, ptr %854, align 8, !tbaa !13
  %856 = uitofp i64 %855 to double
  %857 = load ptr, ptr %5, align 8, !tbaa !5
  %858 = getelementptr inbounds %struct.Any, ptr %857, i32 0, i32 3
  %859 = load double, ptr %858, align 8, !tbaa !13
  %860 = fcmp oeq double %856, %859
  store i1 %860, ptr %3, align 1
  br label %1681

861:                                              ; preds = %744
  store i1 false, ptr %3, align 1
  br label %1681

862:                                              ; No predecessors!
  br label %863

863:                                              ; preds = %862, %2
  br label %864

864:                                              ; preds = %863
  %865 = load ptr, ptr %5, align 8, !tbaa !5
  %866 = getelementptr inbounds %struct.Any, ptr %865, i32 0, i32 0
  %867 = load i16, ptr %866, align 8, !tbaa !9
  %868 = zext i16 %867 to i32
  switch i32 %868, label %992 [
    i32 0, label %869
    i32 1, label %875
    i32 2, label %886
    i32 3, label %896
    i32 4, label %906
    i32 5, label %916
    i32 6, label %925
    i32 7, label %934
    i32 8, label %944
    i32 9, label %954
    i32 10, label %963
    i32 11, label %972
    i32 12, label %982
  ]

869:                                              ; preds = %864
  %870 = load ptr, ptr %4, align 8, !tbaa !5
  %871 = getelementptr inbounds %struct.Any, ptr %870, i32 0, i32 3
  %872 = load i8, ptr %871, align 8, !tbaa !13
  %873 = sext i8 %872 to i32
  %874 = icmp eq i32 %873, 0
  store i1 %874, ptr %3, align 1
  br label %1681

875:                                              ; preds = %864
  %876 = load ptr, ptr %4, align 8, !tbaa !5
  %877 = getelementptr inbounds %struct.Any, ptr %876, i32 0, i32 3
  %878 = load i8, ptr %877, align 8, !tbaa !13
  %879 = sext i8 %878 to i32
  %880 = load ptr, ptr %5, align 8, !tbaa !5
  %881 = getelementptr inbounds %struct.Any, ptr %880, i32 0, i32 3
  %882 = load i8, ptr %881, align 8, !tbaa !13, !range !14, !noundef !15
  %883 = trunc i8 %882 to i1
  %884 = zext i1 %883 to i32
  %885 = icmp eq i32 %879, %884
  store i1 %885, ptr %3, align 1
  br label %1681

886:                                              ; preds = %864
  %887 = load ptr, ptr %4, align 8, !tbaa !5
  %888 = getelementptr inbounds %struct.Any, ptr %887, i32 0, i32 3
  %889 = load i8, ptr %888, align 8, !tbaa !13
  %890 = sext i8 %889 to i32
  %891 = load ptr, ptr %5, align 8, !tbaa !5
  %892 = getelementptr inbounds %struct.Any, ptr %891, i32 0, i32 3
  %893 = load i8, ptr %892, align 8, !tbaa !13
  %894 = sext i8 %893 to i32
  %895 = icmp eq i32 %890, %894
  store i1 %895, ptr %3, align 1
  br label %1681

896:                                              ; preds = %864
  %897 = load ptr, ptr %4, align 8, !tbaa !5
  %898 = getelementptr inbounds %struct.Any, ptr %897, i32 0, i32 3
  %899 = load i8, ptr %898, align 8, !tbaa !13
  %900 = sext i8 %899 to i32
  %901 = load ptr, ptr %5, align 8, !tbaa !5
  %902 = getelementptr inbounds %struct.Any, ptr %901, i32 0, i32 3
  %903 = load i8, ptr %902, align 8, !tbaa !13
  %904 = zext i8 %903 to i32
  %905 = icmp eq i32 %900, %904
  store i1 %905, ptr %3, align 1
  br label %1681

906:                                              ; preds = %864
  %907 = load ptr, ptr %4, align 8, !tbaa !5
  %908 = getelementptr inbounds %struct.Any, ptr %907, i32 0, i32 3
  %909 = load i8, ptr %908, align 8, !tbaa !13
  %910 = sext i8 %909 to i32
  %911 = load ptr, ptr %5, align 8, !tbaa !5
  %912 = getelementptr inbounds %struct.Any, ptr %911, i32 0, i32 3
  %913 = load i16, ptr %912, align 8, !tbaa !13
  %914 = zext i16 %913 to i32
  %915 = icmp eq i32 %910, %914
  store i1 %915, ptr %3, align 1
  br label %1681

916:                                              ; preds = %864
  %917 = load ptr, ptr %4, align 8, !tbaa !5
  %918 = getelementptr inbounds %struct.Any, ptr %917, i32 0, i32 3
  %919 = load i8, ptr %918, align 8, !tbaa !13
  %920 = sext i8 %919 to i32
  %921 = load ptr, ptr %5, align 8, !tbaa !5
  %922 = getelementptr inbounds %struct.Any, ptr %921, i32 0, i32 3
  %923 = load i32, ptr %922, align 8, !tbaa !13
  %924 = icmp eq i32 %920, %923
  store i1 %924, ptr %3, align 1
  br label %1681

925:                                              ; preds = %864
  %926 = load ptr, ptr %4, align 8, !tbaa !5
  %927 = getelementptr inbounds %struct.Any, ptr %926, i32 0, i32 3
  %928 = load i8, ptr %927, align 8, !tbaa !13
  %929 = sext i8 %928 to i64
  %930 = load ptr, ptr %5, align 8, !tbaa !5
  %931 = getelementptr inbounds %struct.Any, ptr %930, i32 0, i32 3
  %932 = load i64, ptr %931, align 8, !tbaa !13
  %933 = icmp eq i64 %929, %932
  store i1 %933, ptr %3, align 1
  br label %1681

934:                                              ; preds = %864
  %935 = load ptr, ptr %4, align 8, !tbaa !5
  %936 = getelementptr inbounds %struct.Any, ptr %935, i32 0, i32 3
  %937 = load i8, ptr %936, align 8, !tbaa !13
  %938 = sext i8 %937 to i32
  %939 = load ptr, ptr %5, align 8, !tbaa !5
  %940 = getelementptr inbounds %struct.Any, ptr %939, i32 0, i32 3
  %941 = load i8, ptr %940, align 8, !tbaa !13
  %942 = sext i8 %941 to i32
  %943 = icmp eq i32 %938, %942
  store i1 %943, ptr %3, align 1
  br label %1681

944:                                              ; preds = %864
  %945 = load ptr, ptr %4, align 8, !tbaa !5
  %946 = getelementptr inbounds %struct.Any, ptr %945, i32 0, i32 3
  %947 = load i8, ptr %946, align 8, !tbaa !13
  %948 = sext i8 %947 to i32
  %949 = load ptr, ptr %5, align 8, !tbaa !5
  %950 = getelementptr inbounds %struct.Any, ptr %949, i32 0, i32 3
  %951 = load i16, ptr %950, align 8, !tbaa !13
  %952 = sext i16 %951 to i32
  %953 = icmp eq i32 %948, %952
  store i1 %953, ptr %3, align 1
  br label %1681

954:                                              ; preds = %864
  %955 = load ptr, ptr %4, align 8, !tbaa !5
  %956 = getelementptr inbounds %struct.Any, ptr %955, i32 0, i32 3
  %957 = load i8, ptr %956, align 8, !tbaa !13
  %958 = sext i8 %957 to i32
  %959 = load ptr, ptr %5, align 8, !tbaa !5
  %960 = getelementptr inbounds %struct.Any, ptr %959, i32 0, i32 3
  %961 = load i32, ptr %960, align 8, !tbaa !13
  %962 = icmp eq i32 %958, %961
  store i1 %962, ptr %3, align 1
  br label %1681

963:                                              ; preds = %864
  %964 = load ptr, ptr %4, align 8, !tbaa !5
  %965 = getelementptr inbounds %struct.Any, ptr %964, i32 0, i32 3
  %966 = load i8, ptr %965, align 8, !tbaa !13
  %967 = sext i8 %966 to i64
  %968 = load ptr, ptr %5, align 8, !tbaa !5
  %969 = getelementptr inbounds %struct.Any, ptr %968, i32 0, i32 3
  %970 = load i64, ptr %969, align 8, !tbaa !13
  %971 = icmp eq i64 %967, %970
  store i1 %971, ptr %3, align 1
  br label %1681

972:                                              ; preds = %864
  %973 = load ptr, ptr %4, align 8, !tbaa !5
  %974 = getelementptr inbounds %struct.Any, ptr %973, i32 0, i32 3
  %975 = load i8, ptr %974, align 8, !tbaa !13
  %976 = sext i8 %975 to i32
  %977 = sitofp i32 %976 to float
  %978 = load ptr, ptr %5, align 8, !tbaa !5
  %979 = getelementptr inbounds %struct.Any, ptr %978, i32 0, i32 3
  %980 = load float, ptr %979, align 8, !tbaa !13
  %981 = fcmp oeq float %977, %980
  store i1 %981, ptr %3, align 1
  br label %1681

982:                                              ; preds = %864
  %983 = load ptr, ptr %4, align 8, !tbaa !5
  %984 = getelementptr inbounds %struct.Any, ptr %983, i32 0, i32 3
  %985 = load i8, ptr %984, align 8, !tbaa !13
  %986 = sext i8 %985 to i32
  %987 = sitofp i32 %986 to double
  %988 = load ptr, ptr %5, align 8, !tbaa !5
  %989 = getelementptr inbounds %struct.Any, ptr %988, i32 0, i32 3
  %990 = load double, ptr %989, align 8, !tbaa !13
  %991 = fcmp oeq double %987, %990
  store i1 %991, ptr %3, align 1
  br label %1681

992:                                              ; preds = %864
  store i1 false, ptr %3, align 1
  br label %1681

993:                                              ; No predecessors!
  br label %994

994:                                              ; preds = %993, %2
  br label %995

995:                                              ; preds = %994
  %996 = load ptr, ptr %5, align 8, !tbaa !5
  %997 = getelementptr inbounds %struct.Any, ptr %996, i32 0, i32 0
  %998 = load i16, ptr %997, align 8, !tbaa !9
  %999 = zext i16 %998 to i32
  switch i32 %999, label %1123 [
    i32 0, label %1000
    i32 1, label %1006
    i32 2, label %1017
    i32 3, label %1027
    i32 4, label %1037
    i32 5, label %1047
    i32 6, label %1056
    i32 7, label %1065
    i32 8, label %1075
    i32 9, label %1085
    i32 10, label %1094
    i32 11, label %1103
    i32 12, label %1113
  ]

1000:                                             ; preds = %995
  %1001 = load ptr, ptr %4, align 8, !tbaa !5
  %1002 = getelementptr inbounds %struct.Any, ptr %1001, i32 0, i32 3
  %1003 = load i16, ptr %1002, align 8, !tbaa !13
  %1004 = sext i16 %1003 to i32
  %1005 = icmp eq i32 %1004, 0
  store i1 %1005, ptr %3, align 1
  br label %1681

1006:                                             ; preds = %995
  %1007 = load ptr, ptr %4, align 8, !tbaa !5
  %1008 = getelementptr inbounds %struct.Any, ptr %1007, i32 0, i32 3
  %1009 = load i16, ptr %1008, align 8, !tbaa !13
  %1010 = sext i16 %1009 to i32
  %1011 = load ptr, ptr %5, align 8, !tbaa !5
  %1012 = getelementptr inbounds %struct.Any, ptr %1011, i32 0, i32 3
  %1013 = load i8, ptr %1012, align 8, !tbaa !13, !range !14, !noundef !15
  %1014 = trunc i8 %1013 to i1
  %1015 = zext i1 %1014 to i32
  %1016 = icmp eq i32 %1010, %1015
  store i1 %1016, ptr %3, align 1
  br label %1681

1017:                                             ; preds = %995
  %1018 = load ptr, ptr %4, align 8, !tbaa !5
  %1019 = getelementptr inbounds %struct.Any, ptr %1018, i32 0, i32 3
  %1020 = load i16, ptr %1019, align 8, !tbaa !13
  %1021 = sext i16 %1020 to i32
  %1022 = load ptr, ptr %5, align 8, !tbaa !5
  %1023 = getelementptr inbounds %struct.Any, ptr %1022, i32 0, i32 3
  %1024 = load i8, ptr %1023, align 8, !tbaa !13
  %1025 = sext i8 %1024 to i32
  %1026 = icmp eq i32 %1021, %1025
  store i1 %1026, ptr %3, align 1
  br label %1681

1027:                                             ; preds = %995
  %1028 = load ptr, ptr %4, align 8, !tbaa !5
  %1029 = getelementptr inbounds %struct.Any, ptr %1028, i32 0, i32 3
  %1030 = load i16, ptr %1029, align 8, !tbaa !13
  %1031 = sext i16 %1030 to i32
  %1032 = load ptr, ptr %5, align 8, !tbaa !5
  %1033 = getelementptr inbounds %struct.Any, ptr %1032, i32 0, i32 3
  %1034 = load i8, ptr %1033, align 8, !tbaa !13
  %1035 = zext i8 %1034 to i32
  %1036 = icmp eq i32 %1031, %1035
  store i1 %1036, ptr %3, align 1
  br label %1681

1037:                                             ; preds = %995
  %1038 = load ptr, ptr %4, align 8, !tbaa !5
  %1039 = getelementptr inbounds %struct.Any, ptr %1038, i32 0, i32 3
  %1040 = load i16, ptr %1039, align 8, !tbaa !13
  %1041 = sext i16 %1040 to i32
  %1042 = load ptr, ptr %5, align 8, !tbaa !5
  %1043 = getelementptr inbounds %struct.Any, ptr %1042, i32 0, i32 3
  %1044 = load i16, ptr %1043, align 8, !tbaa !13
  %1045 = zext i16 %1044 to i32
  %1046 = icmp eq i32 %1041, %1045
  store i1 %1046, ptr %3, align 1
  br label %1681

1047:                                             ; preds = %995
  %1048 = load ptr, ptr %4, align 8, !tbaa !5
  %1049 = getelementptr inbounds %struct.Any, ptr %1048, i32 0, i32 3
  %1050 = load i16, ptr %1049, align 8, !tbaa !13
  %1051 = sext i16 %1050 to i32
  %1052 = load ptr, ptr %5, align 8, !tbaa !5
  %1053 = getelementptr inbounds %struct.Any, ptr %1052, i32 0, i32 3
  %1054 = load i32, ptr %1053, align 8, !tbaa !13
  %1055 = icmp eq i32 %1051, %1054
  store i1 %1055, ptr %3, align 1
  br label %1681

1056:                                             ; preds = %995
  %1057 = load ptr, ptr %4, align 8, !tbaa !5
  %1058 = getelementptr inbounds %struct.Any, ptr %1057, i32 0, i32 3
  %1059 = load i16, ptr %1058, align 8, !tbaa !13
  %1060 = sext i16 %1059 to i64
  %1061 = load ptr, ptr %5, align 8, !tbaa !5
  %1062 = getelementptr inbounds %struct.Any, ptr %1061, i32 0, i32 3
  %1063 = load i64, ptr %1062, align 8, !tbaa !13
  %1064 = icmp eq i64 %1060, %1063
  store i1 %1064, ptr %3, align 1
  br label %1681

1065:                                             ; preds = %995
  %1066 = load ptr, ptr %4, align 8, !tbaa !5
  %1067 = getelementptr inbounds %struct.Any, ptr %1066, i32 0, i32 3
  %1068 = load i16, ptr %1067, align 8, !tbaa !13
  %1069 = sext i16 %1068 to i32
  %1070 = load ptr, ptr %5, align 8, !tbaa !5
  %1071 = getelementptr inbounds %struct.Any, ptr %1070, i32 0, i32 3
  %1072 = load i8, ptr %1071, align 8, !tbaa !13
  %1073 = sext i8 %1072 to i32
  %1074 = icmp eq i32 %1069, %1073
  store i1 %1074, ptr %3, align 1
  br label %1681

1075:                                             ; preds = %995
  %1076 = load ptr, ptr %4, align 8, !tbaa !5
  %1077 = getelementptr inbounds %struct.Any, ptr %1076, i32 0, i32 3
  %1078 = load i16, ptr %1077, align 8, !tbaa !13
  %1079 = sext i16 %1078 to i32
  %1080 = load ptr, ptr %5, align 8, !tbaa !5
  %1081 = getelementptr inbounds %struct.Any, ptr %1080, i32 0, i32 3
  %1082 = load i16, ptr %1081, align 8, !tbaa !13
  %1083 = sext i16 %1082 to i32
  %1084 = icmp eq i32 %1079, %1083
  store i1 %1084, ptr %3, align 1
  br label %1681

1085:                                             ; preds = %995
  %1086 = load ptr, ptr %4, align 8, !tbaa !5
  %1087 = getelementptr inbounds %struct.Any, ptr %1086, i32 0, i32 3
  %1088 = load i16, ptr %1087, align 8, !tbaa !13
  %1089 = sext i16 %1088 to i32
  %1090 = load ptr, ptr %5, align 8, !tbaa !5
  %1091 = getelementptr inbounds %struct.Any, ptr %1090, i32 0, i32 3
  %1092 = load i32, ptr %1091, align 8, !tbaa !13
  %1093 = icmp eq i32 %1089, %1092
  store i1 %1093, ptr %3, align 1
  br label %1681

1094:                                             ; preds = %995
  %1095 = load ptr, ptr %4, align 8, !tbaa !5
  %1096 = getelementptr inbounds %struct.Any, ptr %1095, i32 0, i32 3
  %1097 = load i16, ptr %1096, align 8, !tbaa !13
  %1098 = sext i16 %1097 to i64
  %1099 = load ptr, ptr %5, align 8, !tbaa !5
  %1100 = getelementptr inbounds %struct.Any, ptr %1099, i32 0, i32 3
  %1101 = load i64, ptr %1100, align 8, !tbaa !13
  %1102 = icmp eq i64 %1098, %1101
  store i1 %1102, ptr %3, align 1
  br label %1681

1103:                                             ; preds = %995
  %1104 = load ptr, ptr %4, align 8, !tbaa !5
  %1105 = getelementptr inbounds %struct.Any, ptr %1104, i32 0, i32 3
  %1106 = load i16, ptr %1105, align 8, !tbaa !13
  %1107 = sext i16 %1106 to i32
  %1108 = sitofp i32 %1107 to float
  %1109 = load ptr, ptr %5, align 8, !tbaa !5
  %1110 = getelementptr inbounds %struct.Any, ptr %1109, i32 0, i32 3
  %1111 = load float, ptr %1110, align 8, !tbaa !13
  %1112 = fcmp oeq float %1108, %1111
  store i1 %1112, ptr %3, align 1
  br label %1681

1113:                                             ; preds = %995
  %1114 = load ptr, ptr %4, align 8, !tbaa !5
  %1115 = getelementptr inbounds %struct.Any, ptr %1114, i32 0, i32 3
  %1116 = load i16, ptr %1115, align 8, !tbaa !13
  %1117 = sext i16 %1116 to i32
  %1118 = sitofp i32 %1117 to double
  %1119 = load ptr, ptr %5, align 8, !tbaa !5
  %1120 = getelementptr inbounds %struct.Any, ptr %1119, i32 0, i32 3
  %1121 = load double, ptr %1120, align 8, !tbaa !13
  %1122 = fcmp oeq double %1118, %1121
  store i1 %1122, ptr %3, align 1
  br label %1681

1123:                                             ; preds = %995
  store i1 false, ptr %3, align 1
  br label %1681

1124:                                             ; No predecessors!
  br label %1125

1125:                                             ; preds = %1124, %2
  br label %1126

1126:                                             ; preds = %1125
  %1127 = load ptr, ptr %5, align 8, !tbaa !5
  %1128 = getelementptr inbounds %struct.Any, ptr %1127, i32 0, i32 0
  %1129 = load i16, ptr %1128, align 8, !tbaa !9
  %1130 = zext i16 %1129 to i32
  switch i32 %1130, label %1243 [
    i32 0, label %1131
    i32 1, label %1136
    i32 2, label %1146
    i32 3, label %1155
    i32 4, label %1164
    i32 5, label %1173
    i32 6, label %1181
    i32 7, label %1190
    i32 8, label %1199
    i32 9, label %1208
    i32 10, label %1216
    i32 11, label %1225
    i32 12, label %1234
  ]

1131:                                             ; preds = %1126
  %1132 = load ptr, ptr %4, align 8, !tbaa !5
  %1133 = getelementptr inbounds %struct.Any, ptr %1132, i32 0, i32 3
  %1134 = load i32, ptr %1133, align 8, !tbaa !13
  %1135 = icmp eq i32 %1134, 0
  store i1 %1135, ptr %3, align 1
  br label %1681

1136:                                             ; preds = %1126
  %1137 = load ptr, ptr %4, align 8, !tbaa !5
  %1138 = getelementptr inbounds %struct.Any, ptr %1137, i32 0, i32 3
  %1139 = load i32, ptr %1138, align 8, !tbaa !13
  %1140 = load ptr, ptr %5, align 8, !tbaa !5
  %1141 = getelementptr inbounds %struct.Any, ptr %1140, i32 0, i32 3
  %1142 = load i8, ptr %1141, align 8, !tbaa !13, !range !14, !noundef !15
  %1143 = trunc i8 %1142 to i1
  %1144 = zext i1 %1143 to i32
  %1145 = icmp eq i32 %1139, %1144
  store i1 %1145, ptr %3, align 1
  br label %1681

1146:                                             ; preds = %1126
  %1147 = load ptr, ptr %4, align 8, !tbaa !5
  %1148 = getelementptr inbounds %struct.Any, ptr %1147, i32 0, i32 3
  %1149 = load i32, ptr %1148, align 8, !tbaa !13
  %1150 = load ptr, ptr %5, align 8, !tbaa !5
  %1151 = getelementptr inbounds %struct.Any, ptr %1150, i32 0, i32 3
  %1152 = load i8, ptr %1151, align 8, !tbaa !13
  %1153 = sext i8 %1152 to i32
  %1154 = icmp eq i32 %1149, %1153
  store i1 %1154, ptr %3, align 1
  br label %1681

1155:                                             ; preds = %1126
  %1156 = load ptr, ptr %4, align 8, !tbaa !5
  %1157 = getelementptr inbounds %struct.Any, ptr %1156, i32 0, i32 3
  %1158 = load i32, ptr %1157, align 8, !tbaa !13
  %1159 = load ptr, ptr %5, align 8, !tbaa !5
  %1160 = getelementptr inbounds %struct.Any, ptr %1159, i32 0, i32 3
  %1161 = load i8, ptr %1160, align 8, !tbaa !13
  %1162 = zext i8 %1161 to i32
  %1163 = icmp eq i32 %1158, %1162
  store i1 %1163, ptr %3, align 1
  br label %1681

1164:                                             ; preds = %1126
  %1165 = load ptr, ptr %4, align 8, !tbaa !5
  %1166 = getelementptr inbounds %struct.Any, ptr %1165, i32 0, i32 3
  %1167 = load i32, ptr %1166, align 8, !tbaa !13
  %1168 = load ptr, ptr %5, align 8, !tbaa !5
  %1169 = getelementptr inbounds %struct.Any, ptr %1168, i32 0, i32 3
  %1170 = load i16, ptr %1169, align 8, !tbaa !13
  %1171 = zext i16 %1170 to i32
  %1172 = icmp eq i32 %1167, %1171
  store i1 %1172, ptr %3, align 1
  br label %1681

1173:                                             ; preds = %1126
  %1174 = load ptr, ptr %4, align 8, !tbaa !5
  %1175 = getelementptr inbounds %struct.Any, ptr %1174, i32 0, i32 3
  %1176 = load i32, ptr %1175, align 8, !tbaa !13
  %1177 = load ptr, ptr %5, align 8, !tbaa !5
  %1178 = getelementptr inbounds %struct.Any, ptr %1177, i32 0, i32 3
  %1179 = load i32, ptr %1178, align 8, !tbaa !13
  %1180 = icmp eq i32 %1176, %1179
  store i1 %1180, ptr %3, align 1
  br label %1681

1181:                                             ; preds = %1126
  %1182 = load ptr, ptr %4, align 8, !tbaa !5
  %1183 = getelementptr inbounds %struct.Any, ptr %1182, i32 0, i32 3
  %1184 = load i32, ptr %1183, align 8, !tbaa !13
  %1185 = sext i32 %1184 to i64
  %1186 = load ptr, ptr %5, align 8, !tbaa !5
  %1187 = getelementptr inbounds %struct.Any, ptr %1186, i32 0, i32 3
  %1188 = load i64, ptr %1187, align 8, !tbaa !13
  %1189 = icmp eq i64 %1185, %1188
  store i1 %1189, ptr %3, align 1
  br label %1681

1190:                                             ; preds = %1126
  %1191 = load ptr, ptr %4, align 8, !tbaa !5
  %1192 = getelementptr inbounds %struct.Any, ptr %1191, i32 0, i32 3
  %1193 = load i32, ptr %1192, align 8, !tbaa !13
  %1194 = load ptr, ptr %5, align 8, !tbaa !5
  %1195 = getelementptr inbounds %struct.Any, ptr %1194, i32 0, i32 3
  %1196 = load i8, ptr %1195, align 8, !tbaa !13
  %1197 = sext i8 %1196 to i32
  %1198 = icmp eq i32 %1193, %1197
  store i1 %1198, ptr %3, align 1
  br label %1681

1199:                                             ; preds = %1126
  %1200 = load ptr, ptr %4, align 8, !tbaa !5
  %1201 = getelementptr inbounds %struct.Any, ptr %1200, i32 0, i32 3
  %1202 = load i32, ptr %1201, align 8, !tbaa !13
  %1203 = load ptr, ptr %5, align 8, !tbaa !5
  %1204 = getelementptr inbounds %struct.Any, ptr %1203, i32 0, i32 3
  %1205 = load i16, ptr %1204, align 8, !tbaa !13
  %1206 = sext i16 %1205 to i32
  %1207 = icmp eq i32 %1202, %1206
  store i1 %1207, ptr %3, align 1
  br label %1681

1208:                                             ; preds = %1126
  %1209 = load ptr, ptr %4, align 8, !tbaa !5
  %1210 = getelementptr inbounds %struct.Any, ptr %1209, i32 0, i32 3
  %1211 = load i32, ptr %1210, align 8, !tbaa !13
  %1212 = load ptr, ptr %5, align 8, !tbaa !5
  %1213 = getelementptr inbounds %struct.Any, ptr %1212, i32 0, i32 3
  %1214 = load i32, ptr %1213, align 8, !tbaa !13
  %1215 = icmp eq i32 %1211, %1214
  store i1 %1215, ptr %3, align 1
  br label %1681

1216:                                             ; preds = %1126
  %1217 = load ptr, ptr %4, align 8, !tbaa !5
  %1218 = getelementptr inbounds %struct.Any, ptr %1217, i32 0, i32 3
  %1219 = load i32, ptr %1218, align 8, !tbaa !13
  %1220 = sext i32 %1219 to i64
  %1221 = load ptr, ptr %5, align 8, !tbaa !5
  %1222 = getelementptr inbounds %struct.Any, ptr %1221, i32 0, i32 3
  %1223 = load i64, ptr %1222, align 8, !tbaa !13
  %1224 = icmp eq i64 %1220, %1223
  store i1 %1224, ptr %3, align 1
  br label %1681

1225:                                             ; preds = %1126
  %1226 = load ptr, ptr %4, align 8, !tbaa !5
  %1227 = getelementptr inbounds %struct.Any, ptr %1226, i32 0, i32 3
  %1228 = load i32, ptr %1227, align 8, !tbaa !13
  %1229 = sitofp i32 %1228 to float
  %1230 = load ptr, ptr %5, align 8, !tbaa !5
  %1231 = getelementptr inbounds %struct.Any, ptr %1230, i32 0, i32 3
  %1232 = load float, ptr %1231, align 8, !tbaa !13
  %1233 = fcmp oeq float %1229, %1232
  store i1 %1233, ptr %3, align 1
  br label %1681

1234:                                             ; preds = %1126
  %1235 = load ptr, ptr %4, align 8, !tbaa !5
  %1236 = getelementptr inbounds %struct.Any, ptr %1235, i32 0, i32 3
  %1237 = load i32, ptr %1236, align 8, !tbaa !13
  %1238 = sitofp i32 %1237 to double
  %1239 = load ptr, ptr %5, align 8, !tbaa !5
  %1240 = getelementptr inbounds %struct.Any, ptr %1239, i32 0, i32 3
  %1241 = load double, ptr %1240, align 8, !tbaa !13
  %1242 = fcmp oeq double %1238, %1241
  store i1 %1242, ptr %3, align 1
  br label %1681

1243:                                             ; preds = %1126
  store i1 false, ptr %3, align 1
  br label %1681

1244:                                             ; No predecessors!
  br label %1245

1245:                                             ; preds = %1244, %2
  br label %1246

1246:                                             ; preds = %1245
  %1247 = load ptr, ptr %5, align 8, !tbaa !5
  %1248 = getelementptr inbounds %struct.Any, ptr %1247, i32 0, i32 0
  %1249 = load i16, ptr %1248, align 8, !tbaa !9
  %1250 = zext i16 %1249 to i32
  switch i32 %1250, label %1363 [
    i32 0, label %1251
    i32 1, label %1256
    i32 2, label %1266
    i32 3, label %1275
    i32 4, label %1284
    i32 5, label %1293
    i32 6, label %1302
    i32 7, label %1310
    i32 8, label %1319
    i32 9, label %1328
    i32 10, label %1337
    i32 11, label %1345
    i32 12, label %1354
  ]

1251:                                             ; preds = %1246
  %1252 = load ptr, ptr %4, align 8, !tbaa !5
  %1253 = getelementptr inbounds %struct.Any, ptr %1252, i32 0, i32 3
  %1254 = load i64, ptr %1253, align 8, !tbaa !13
  %1255 = icmp eq i64 %1254, 0
  store i1 %1255, ptr %3, align 1
  br label %1681

1256:                                             ; preds = %1246
  %1257 = load ptr, ptr %4, align 8, !tbaa !5
  %1258 = getelementptr inbounds %struct.Any, ptr %1257, i32 0, i32 3
  %1259 = load i64, ptr %1258, align 8, !tbaa !13
  %1260 = load ptr, ptr %5, align 8, !tbaa !5
  %1261 = getelementptr inbounds %struct.Any, ptr %1260, i32 0, i32 3
  %1262 = load i8, ptr %1261, align 8, !tbaa !13, !range !14, !noundef !15
  %1263 = trunc i8 %1262 to i1
  %1264 = zext i1 %1263 to i64
  %1265 = icmp eq i64 %1259, %1264
  store i1 %1265, ptr %3, align 1
  br label %1681

1266:                                             ; preds = %1246
  %1267 = load ptr, ptr %4, align 8, !tbaa !5
  %1268 = getelementptr inbounds %struct.Any, ptr %1267, i32 0, i32 3
  %1269 = load i64, ptr %1268, align 8, !tbaa !13
  %1270 = load ptr, ptr %5, align 8, !tbaa !5
  %1271 = getelementptr inbounds %struct.Any, ptr %1270, i32 0, i32 3
  %1272 = load i8, ptr %1271, align 8, !tbaa !13
  %1273 = sext i8 %1272 to i64
  %1274 = icmp eq i64 %1269, %1273
  store i1 %1274, ptr %3, align 1
  br label %1681

1275:                                             ; preds = %1246
  %1276 = load ptr, ptr %4, align 8, !tbaa !5
  %1277 = getelementptr inbounds %struct.Any, ptr %1276, i32 0, i32 3
  %1278 = load i64, ptr %1277, align 8, !tbaa !13
  %1279 = load ptr, ptr %5, align 8, !tbaa !5
  %1280 = getelementptr inbounds %struct.Any, ptr %1279, i32 0, i32 3
  %1281 = load i8, ptr %1280, align 8, !tbaa !13
  %1282 = zext i8 %1281 to i64
  %1283 = icmp eq i64 %1278, %1282
  store i1 %1283, ptr %3, align 1
  br label %1681

1284:                                             ; preds = %1246
  %1285 = load ptr, ptr %4, align 8, !tbaa !5
  %1286 = getelementptr inbounds %struct.Any, ptr %1285, i32 0, i32 3
  %1287 = load i64, ptr %1286, align 8, !tbaa !13
  %1288 = load ptr, ptr %5, align 8, !tbaa !5
  %1289 = getelementptr inbounds %struct.Any, ptr %1288, i32 0, i32 3
  %1290 = load i16, ptr %1289, align 8, !tbaa !13
  %1291 = zext i16 %1290 to i64
  %1292 = icmp eq i64 %1287, %1291
  store i1 %1292, ptr %3, align 1
  br label %1681

1293:                                             ; preds = %1246
  %1294 = load ptr, ptr %4, align 8, !tbaa !5
  %1295 = getelementptr inbounds %struct.Any, ptr %1294, i32 0, i32 3
  %1296 = load i64, ptr %1295, align 8, !tbaa !13
  %1297 = load ptr, ptr %5, align 8, !tbaa !5
  %1298 = getelementptr inbounds %struct.Any, ptr %1297, i32 0, i32 3
  %1299 = load i32, ptr %1298, align 8, !tbaa !13
  %1300 = zext i32 %1299 to i64
  %1301 = icmp eq i64 %1296, %1300
  store i1 %1301, ptr %3, align 1
  br label %1681

1302:                                             ; preds = %1246
  %1303 = load ptr, ptr %4, align 8, !tbaa !5
  %1304 = getelementptr inbounds %struct.Any, ptr %1303, i32 0, i32 3
  %1305 = load i64, ptr %1304, align 8, !tbaa !13
  %1306 = load ptr, ptr %5, align 8, !tbaa !5
  %1307 = getelementptr inbounds %struct.Any, ptr %1306, i32 0, i32 3
  %1308 = load i64, ptr %1307, align 8, !tbaa !13
  %1309 = icmp eq i64 %1305, %1308
  store i1 %1309, ptr %3, align 1
  br label %1681

1310:                                             ; preds = %1246
  %1311 = load ptr, ptr %4, align 8, !tbaa !5
  %1312 = getelementptr inbounds %struct.Any, ptr %1311, i32 0, i32 3
  %1313 = load i64, ptr %1312, align 8, !tbaa !13
  %1314 = load ptr, ptr %5, align 8, !tbaa !5
  %1315 = getelementptr inbounds %struct.Any, ptr %1314, i32 0, i32 3
  %1316 = load i8, ptr %1315, align 8, !tbaa !13
  %1317 = sext i8 %1316 to i64
  %1318 = icmp eq i64 %1313, %1317
  store i1 %1318, ptr %3, align 1
  br label %1681

1319:                                             ; preds = %1246
  %1320 = load ptr, ptr %4, align 8, !tbaa !5
  %1321 = getelementptr inbounds %struct.Any, ptr %1320, i32 0, i32 3
  %1322 = load i64, ptr %1321, align 8, !tbaa !13
  %1323 = load ptr, ptr %5, align 8, !tbaa !5
  %1324 = getelementptr inbounds %struct.Any, ptr %1323, i32 0, i32 3
  %1325 = load i16, ptr %1324, align 8, !tbaa !13
  %1326 = sext i16 %1325 to i64
  %1327 = icmp eq i64 %1322, %1326
  store i1 %1327, ptr %3, align 1
  br label %1681

1328:                                             ; preds = %1246
  %1329 = load ptr, ptr %4, align 8, !tbaa !5
  %1330 = getelementptr inbounds %struct.Any, ptr %1329, i32 0, i32 3
  %1331 = load i64, ptr %1330, align 8, !tbaa !13
  %1332 = load ptr, ptr %5, align 8, !tbaa !5
  %1333 = getelementptr inbounds %struct.Any, ptr %1332, i32 0, i32 3
  %1334 = load i32, ptr %1333, align 8, !tbaa !13
  %1335 = sext i32 %1334 to i64
  %1336 = icmp eq i64 %1331, %1335
  store i1 %1336, ptr %3, align 1
  br label %1681

1337:                                             ; preds = %1246
  %1338 = load ptr, ptr %4, align 8, !tbaa !5
  %1339 = getelementptr inbounds %struct.Any, ptr %1338, i32 0, i32 3
  %1340 = load i64, ptr %1339, align 8, !tbaa !13
  %1341 = load ptr, ptr %5, align 8, !tbaa !5
  %1342 = getelementptr inbounds %struct.Any, ptr %1341, i32 0, i32 3
  %1343 = load i64, ptr %1342, align 8, !tbaa !13
  %1344 = icmp eq i64 %1340, %1343
  store i1 %1344, ptr %3, align 1
  br label %1681

1345:                                             ; preds = %1246
  %1346 = load ptr, ptr %4, align 8, !tbaa !5
  %1347 = getelementptr inbounds %struct.Any, ptr %1346, i32 0, i32 3
  %1348 = load i64, ptr %1347, align 8, !tbaa !13
  %1349 = sitofp i64 %1348 to float
  %1350 = load ptr, ptr %5, align 8, !tbaa !5
  %1351 = getelementptr inbounds %struct.Any, ptr %1350, i32 0, i32 3
  %1352 = load float, ptr %1351, align 8, !tbaa !13
  %1353 = fcmp oeq float %1349, %1352
  store i1 %1353, ptr %3, align 1
  br label %1681

1354:                                             ; preds = %1246
  %1355 = load ptr, ptr %4, align 8, !tbaa !5
  %1356 = getelementptr inbounds %struct.Any, ptr %1355, i32 0, i32 3
  %1357 = load i64, ptr %1356, align 8, !tbaa !13
  %1358 = sitofp i64 %1357 to double
  %1359 = load ptr, ptr %5, align 8, !tbaa !5
  %1360 = getelementptr inbounds %struct.Any, ptr %1359, i32 0, i32 3
  %1361 = load double, ptr %1360, align 8, !tbaa !13
  %1362 = fcmp oeq double %1358, %1361
  store i1 %1362, ptr %3, align 1
  br label %1681

1363:                                             ; preds = %1246
  store i1 false, ptr %3, align 1
  br label %1681

1364:                                             ; No predecessors!
  br label %1365

1365:                                             ; preds = %1364, %2
  br label %1366

1366:                                             ; preds = %1365
  %1367 = load ptr, ptr %5, align 8, !tbaa !5
  %1368 = getelementptr inbounds %struct.Any, ptr %1367, i32 0, i32 0
  %1369 = load i16, ptr %1368, align 8, !tbaa !9
  %1370 = zext i16 %1369 to i32
  switch i32 %1370, label %1490 [
    i32 0, label %1371
    i32 1, label %1376
    i32 2, label %1387
    i32 3, label %1397
    i32 4, label %1407
    i32 5, label %1417
    i32 6, label %1426
    i32 7, label %1435
    i32 8, label %1445
    i32 9, label %1455
    i32 10, label %1464
    i32 11, label %1473
    i32 12, label %1481
  ]

1371:                                             ; preds = %1366
  %1372 = load ptr, ptr %4, align 8, !tbaa !5
  %1373 = getelementptr inbounds %struct.Any, ptr %1372, i32 0, i32 3
  %1374 = load float, ptr %1373, align 8, !tbaa !13
  %1375 = fcmp oeq float %1374, 0.000000e+00
  store i1 %1375, ptr %3, align 1
  br label %1681

1376:                                             ; preds = %1366
  %1377 = load ptr, ptr %4, align 8, !tbaa !5
  %1378 = getelementptr inbounds %struct.Any, ptr %1377, i32 0, i32 3
  %1379 = load float, ptr %1378, align 8, !tbaa !13
  %1380 = load ptr, ptr %5, align 8, !tbaa !5
  %1381 = getelementptr inbounds %struct.Any, ptr %1380, i32 0, i32 3
  %1382 = load i8, ptr %1381, align 8, !tbaa !13, !range !14, !noundef !15
  %1383 = trunc i8 %1382 to i1
  %1384 = zext i1 %1383 to i32
  %1385 = sitofp i32 %1384 to float
  %1386 = fcmp oeq float %1379, %1385
  store i1 %1386, ptr %3, align 1
  br label %1681

1387:                                             ; preds = %1366
  %1388 = load ptr, ptr %4, align 8, !tbaa !5
  %1389 = getelementptr inbounds %struct.Any, ptr %1388, i32 0, i32 3
  %1390 = load float, ptr %1389, align 8, !tbaa !13
  %1391 = load ptr, ptr %5, align 8, !tbaa !5
  %1392 = getelementptr inbounds %struct.Any, ptr %1391, i32 0, i32 3
  %1393 = load i8, ptr %1392, align 8, !tbaa !13
  %1394 = sext i8 %1393 to i32
  %1395 = sitofp i32 %1394 to float
  %1396 = fcmp oeq float %1390, %1395
  store i1 %1396, ptr %3, align 1
  br label %1681

1397:                                             ; preds = %1366
  %1398 = load ptr, ptr %4, align 8, !tbaa !5
  %1399 = getelementptr inbounds %struct.Any, ptr %1398, i32 0, i32 3
  %1400 = load float, ptr %1399, align 8, !tbaa !13
  %1401 = load ptr, ptr %5, align 8, !tbaa !5
  %1402 = getelementptr inbounds %struct.Any, ptr %1401, i32 0, i32 3
  %1403 = load i8, ptr %1402, align 8, !tbaa !13
  %1404 = zext i8 %1403 to i32
  %1405 = sitofp i32 %1404 to float
  %1406 = fcmp oeq float %1400, %1405
  store i1 %1406, ptr %3, align 1
  br label %1681

1407:                                             ; preds = %1366
  %1408 = load ptr, ptr %4, align 8, !tbaa !5
  %1409 = getelementptr inbounds %struct.Any, ptr %1408, i32 0, i32 3
  %1410 = load float, ptr %1409, align 8, !tbaa !13
  %1411 = load ptr, ptr %5, align 8, !tbaa !5
  %1412 = getelementptr inbounds %struct.Any, ptr %1411, i32 0, i32 3
  %1413 = load i16, ptr %1412, align 8, !tbaa !13
  %1414 = zext i16 %1413 to i32
  %1415 = sitofp i32 %1414 to float
  %1416 = fcmp oeq float %1410, %1415
  store i1 %1416, ptr %3, align 1
  br label %1681

1417:                                             ; preds = %1366
  %1418 = load ptr, ptr %4, align 8, !tbaa !5
  %1419 = getelementptr inbounds %struct.Any, ptr %1418, i32 0, i32 3
  %1420 = load float, ptr %1419, align 8, !tbaa !13
  %1421 = load ptr, ptr %5, align 8, !tbaa !5
  %1422 = getelementptr inbounds %struct.Any, ptr %1421, i32 0, i32 3
  %1423 = load i32, ptr %1422, align 8, !tbaa !13
  %1424 = uitofp i32 %1423 to float
  %1425 = fcmp oeq float %1420, %1424
  store i1 %1425, ptr %3, align 1
  br label %1681

1426:                                             ; preds = %1366
  %1427 = load ptr, ptr %4, align 8, !tbaa !5
  %1428 = getelementptr inbounds %struct.Any, ptr %1427, i32 0, i32 3
  %1429 = load float, ptr %1428, align 8, !tbaa !13
  %1430 = load ptr, ptr %5, align 8, !tbaa !5
  %1431 = getelementptr inbounds %struct.Any, ptr %1430, i32 0, i32 3
  %1432 = load i64, ptr %1431, align 8, !tbaa !13
  %1433 = uitofp i64 %1432 to float
  %1434 = fcmp oeq float %1429, %1433
  store i1 %1434, ptr %3, align 1
  br label %1681

1435:                                             ; preds = %1366
  %1436 = load ptr, ptr %4, align 8, !tbaa !5
  %1437 = getelementptr inbounds %struct.Any, ptr %1436, i32 0, i32 3
  %1438 = load float, ptr %1437, align 8, !tbaa !13
  %1439 = load ptr, ptr %5, align 8, !tbaa !5
  %1440 = getelementptr inbounds %struct.Any, ptr %1439, i32 0, i32 3
  %1441 = load i8, ptr %1440, align 8, !tbaa !13
  %1442 = sext i8 %1441 to i32
  %1443 = sitofp i32 %1442 to float
  %1444 = fcmp oeq float %1438, %1443
  store i1 %1444, ptr %3, align 1
  br label %1681

1445:                                             ; preds = %1366
  %1446 = load ptr, ptr %4, align 8, !tbaa !5
  %1447 = getelementptr inbounds %struct.Any, ptr %1446, i32 0, i32 3
  %1448 = load float, ptr %1447, align 8, !tbaa !13
  %1449 = load ptr, ptr %5, align 8, !tbaa !5
  %1450 = getelementptr inbounds %struct.Any, ptr %1449, i32 0, i32 3
  %1451 = load i16, ptr %1450, align 8, !tbaa !13
  %1452 = sext i16 %1451 to i32
  %1453 = sitofp i32 %1452 to float
  %1454 = fcmp oeq float %1448, %1453
  store i1 %1454, ptr %3, align 1
  br label %1681

1455:                                             ; preds = %1366
  %1456 = load ptr, ptr %4, align 8, !tbaa !5
  %1457 = getelementptr inbounds %struct.Any, ptr %1456, i32 0, i32 3
  %1458 = load float, ptr %1457, align 8, !tbaa !13
  %1459 = load ptr, ptr %5, align 8, !tbaa !5
  %1460 = getelementptr inbounds %struct.Any, ptr %1459, i32 0, i32 3
  %1461 = load i32, ptr %1460, align 8, !tbaa !13
  %1462 = sitofp i32 %1461 to float
  %1463 = fcmp oeq float %1458, %1462
  store i1 %1463, ptr %3, align 1
  br label %1681

1464:                                             ; preds = %1366
  %1465 = load ptr, ptr %4, align 8, !tbaa !5
  %1466 = getelementptr inbounds %struct.Any, ptr %1465, i32 0, i32 3
  %1467 = load float, ptr %1466, align 8, !tbaa !13
  %1468 = load ptr, ptr %5, align 8, !tbaa !5
  %1469 = getelementptr inbounds %struct.Any, ptr %1468, i32 0, i32 3
  %1470 = load i64, ptr %1469, align 8, !tbaa !13
  %1471 = sitofp i64 %1470 to float
  %1472 = fcmp oeq float %1467, %1471
  store i1 %1472, ptr %3, align 1
  br label %1681

1473:                                             ; preds = %1366
  %1474 = load ptr, ptr %4, align 8, !tbaa !5
  %1475 = getelementptr inbounds %struct.Any, ptr %1474, i32 0, i32 3
  %1476 = load float, ptr %1475, align 8, !tbaa !13
  %1477 = load ptr, ptr %5, align 8, !tbaa !5
  %1478 = getelementptr inbounds %struct.Any, ptr %1477, i32 0, i32 3
  %1479 = load float, ptr %1478, align 8, !tbaa !13
  %1480 = fcmp oeq float %1476, %1479
  store i1 %1480, ptr %3, align 1
  br label %1681

1481:                                             ; preds = %1366
  %1482 = load ptr, ptr %4, align 8, !tbaa !5
  %1483 = getelementptr inbounds %struct.Any, ptr %1482, i32 0, i32 3
  %1484 = load float, ptr %1483, align 8, !tbaa !13
  %1485 = fpext float %1484 to double
  %1486 = load ptr, ptr %5, align 8, !tbaa !5
  %1487 = getelementptr inbounds %struct.Any, ptr %1486, i32 0, i32 3
  %1488 = load double, ptr %1487, align 8, !tbaa !13
  %1489 = fcmp oeq double %1485, %1488
  store i1 %1489, ptr %3, align 1
  br label %1681

1490:                                             ; preds = %1366
  store i1 false, ptr %3, align 1
  br label %1681

1491:                                             ; No predecessors!
  br label %1492

1492:                                             ; preds = %1491, %2
  br label %1493

1493:                                             ; preds = %1492
  %1494 = load ptr, ptr %5, align 8, !tbaa !5
  %1495 = getelementptr inbounds %struct.Any, ptr %1494, i32 0, i32 0
  %1496 = load i16, ptr %1495, align 8, !tbaa !9
  %1497 = zext i16 %1496 to i32
  switch i32 %1497, label %1617 [
    i32 0, label %1498
    i32 1, label %1503
    i32 2, label %1514
    i32 3, label %1524
    i32 4, label %1534
    i32 5, label %1544
    i32 6, label %1553
    i32 7, label %1562
    i32 8, label %1572
    i32 9, label %1582
    i32 10, label %1591
    i32 11, label %1600
    i32 12, label %1609
  ]

1498:                                             ; preds = %1493
  %1499 = load ptr, ptr %4, align 8, !tbaa !5
  %1500 = getelementptr inbounds %struct.Any, ptr %1499, i32 0, i32 3
  %1501 = load double, ptr %1500, align 8, !tbaa !13
  %1502 = fcmp oeq double %1501, 0.000000e+00
  store i1 %1502, ptr %3, align 1
  br label %1681

1503:                                             ; preds = %1493
  %1504 = load ptr, ptr %4, align 8, !tbaa !5
  %1505 = getelementptr inbounds %struct.Any, ptr %1504, i32 0, i32 3
  %1506 = load double, ptr %1505, align 8, !tbaa !13
  %1507 = load ptr, ptr %5, align 8, !tbaa !5
  %1508 = getelementptr inbounds %struct.Any, ptr %1507, i32 0, i32 3
  %1509 = load i8, ptr %1508, align 8, !tbaa !13, !range !14, !noundef !15
  %1510 = trunc i8 %1509 to i1
  %1511 = zext i1 %1510 to i32
  %1512 = sitofp i32 %1511 to double
  %1513 = fcmp oeq double %1506, %1512
  store i1 %1513, ptr %3, align 1
  br label %1681

1514:                                             ; preds = %1493
  %1515 = load ptr, ptr %4, align 8, !tbaa !5
  %1516 = getelementptr inbounds %struct.Any, ptr %1515, i32 0, i32 3
  %1517 = load double, ptr %1516, align 8, !tbaa !13
  %1518 = load ptr, ptr %5, align 8, !tbaa !5
  %1519 = getelementptr inbounds %struct.Any, ptr %1518, i32 0, i32 3
  %1520 = load i8, ptr %1519, align 8, !tbaa !13
  %1521 = sext i8 %1520 to i32
  %1522 = sitofp i32 %1521 to double
  %1523 = fcmp oeq double %1517, %1522
  store i1 %1523, ptr %3, align 1
  br label %1681

1524:                                             ; preds = %1493
  %1525 = load ptr, ptr %4, align 8, !tbaa !5
  %1526 = getelementptr inbounds %struct.Any, ptr %1525, i32 0, i32 3
  %1527 = load double, ptr %1526, align 8, !tbaa !13
  %1528 = load ptr, ptr %5, align 8, !tbaa !5
  %1529 = getelementptr inbounds %struct.Any, ptr %1528, i32 0, i32 3
  %1530 = load i8, ptr %1529, align 8, !tbaa !13
  %1531 = zext i8 %1530 to i32
  %1532 = sitofp i32 %1531 to double
  %1533 = fcmp oeq double %1527, %1532
  store i1 %1533, ptr %3, align 1
  br label %1681

1534:                                             ; preds = %1493
  %1535 = load ptr, ptr %4, align 8, !tbaa !5
  %1536 = getelementptr inbounds %struct.Any, ptr %1535, i32 0, i32 3
  %1537 = load double, ptr %1536, align 8, !tbaa !13
  %1538 = load ptr, ptr %5, align 8, !tbaa !5
  %1539 = getelementptr inbounds %struct.Any, ptr %1538, i32 0, i32 3
  %1540 = load i16, ptr %1539, align 8, !tbaa !13
  %1541 = zext i16 %1540 to i32
  %1542 = sitofp i32 %1541 to double
  %1543 = fcmp oeq double %1537, %1542
  store i1 %1543, ptr %3, align 1
  br label %1681

1544:                                             ; preds = %1493
  %1545 = load ptr, ptr %4, align 8, !tbaa !5
  %1546 = getelementptr inbounds %struct.Any, ptr %1545, i32 0, i32 3
  %1547 = load double, ptr %1546, align 8, !tbaa !13
  %1548 = load ptr, ptr %5, align 8, !tbaa !5
  %1549 = getelementptr inbounds %struct.Any, ptr %1548, i32 0, i32 3
  %1550 = load i32, ptr %1549, align 8, !tbaa !13
  %1551 = uitofp i32 %1550 to double
  %1552 = fcmp oeq double %1547, %1551
  store i1 %1552, ptr %3, align 1
  br label %1681

1553:                                             ; preds = %1493
  %1554 = load ptr, ptr %4, align 8, !tbaa !5
  %1555 = getelementptr inbounds %struct.Any, ptr %1554, i32 0, i32 3
  %1556 = load double, ptr %1555, align 8, !tbaa !13
  %1557 = load ptr, ptr %5, align 8, !tbaa !5
  %1558 = getelementptr inbounds %struct.Any, ptr %1557, i32 0, i32 3
  %1559 = load i64, ptr %1558, align 8, !tbaa !13
  %1560 = uitofp i64 %1559 to double
  %1561 = fcmp oeq double %1556, %1560
  store i1 %1561, ptr %3, align 1
  br label %1681

1562:                                             ; preds = %1493
  %1563 = load ptr, ptr %4, align 8, !tbaa !5
  %1564 = getelementptr inbounds %struct.Any, ptr %1563, i32 0, i32 3
  %1565 = load double, ptr %1564, align 8, !tbaa !13
  %1566 = load ptr, ptr %5, align 8, !tbaa !5
  %1567 = getelementptr inbounds %struct.Any, ptr %1566, i32 0, i32 3
  %1568 = load i8, ptr %1567, align 8, !tbaa !13
  %1569 = sext i8 %1568 to i32
  %1570 = sitofp i32 %1569 to double
  %1571 = fcmp oeq double %1565, %1570
  store i1 %1571, ptr %3, align 1
  br label %1681

1572:                                             ; preds = %1493
  %1573 = load ptr, ptr %4, align 8, !tbaa !5
  %1574 = getelementptr inbounds %struct.Any, ptr %1573, i32 0, i32 3
  %1575 = load double, ptr %1574, align 8, !tbaa !13
  %1576 = load ptr, ptr %5, align 8, !tbaa !5
  %1577 = getelementptr inbounds %struct.Any, ptr %1576, i32 0, i32 3
  %1578 = load i16, ptr %1577, align 8, !tbaa !13
  %1579 = sext i16 %1578 to i32
  %1580 = sitofp i32 %1579 to double
  %1581 = fcmp oeq double %1575, %1580
  store i1 %1581, ptr %3, align 1
  br label %1681

1582:                                             ; preds = %1493
  %1583 = load ptr, ptr %4, align 8, !tbaa !5
  %1584 = getelementptr inbounds %struct.Any, ptr %1583, i32 0, i32 3
  %1585 = load double, ptr %1584, align 8, !tbaa !13
  %1586 = load ptr, ptr %5, align 8, !tbaa !5
  %1587 = getelementptr inbounds %struct.Any, ptr %1586, i32 0, i32 3
  %1588 = load i32, ptr %1587, align 8, !tbaa !13
  %1589 = sitofp i32 %1588 to double
  %1590 = fcmp oeq double %1585, %1589
  store i1 %1590, ptr %3, align 1
  br label %1681

1591:                                             ; preds = %1493
  %1592 = load ptr, ptr %4, align 8, !tbaa !5
  %1593 = getelementptr inbounds %struct.Any, ptr %1592, i32 0, i32 3
  %1594 = load double, ptr %1593, align 8, !tbaa !13
  %1595 = load ptr, ptr %5, align 8, !tbaa !5
  %1596 = getelementptr inbounds %struct.Any, ptr %1595, i32 0, i32 3
  %1597 = load i64, ptr %1596, align 8, !tbaa !13
  %1598 = sitofp i64 %1597 to double
  %1599 = fcmp oeq double %1594, %1598
  store i1 %1599, ptr %3, align 1
  br label %1681

1600:                                             ; preds = %1493
  %1601 = load ptr, ptr %4, align 8, !tbaa !5
  %1602 = getelementptr inbounds %struct.Any, ptr %1601, i32 0, i32 3
  %1603 = load double, ptr %1602, align 8, !tbaa !13
  %1604 = load ptr, ptr %5, align 8, !tbaa !5
  %1605 = getelementptr inbounds %struct.Any, ptr %1604, i32 0, i32 3
  %1606 = load float, ptr %1605, align 8, !tbaa !13
  %1607 = fpext float %1606 to double
  %1608 = fcmp oeq double %1603, %1607
  store i1 %1608, ptr %3, align 1
  br label %1681

1609:                                             ; preds = %1493
  %1610 = load ptr, ptr %4, align 8, !tbaa !5
  %1611 = getelementptr inbounds %struct.Any, ptr %1610, i32 0, i32 3
  %1612 = load double, ptr %1611, align 8, !tbaa !13
  %1613 = load ptr, ptr %5, align 8, !tbaa !5
  %1614 = getelementptr inbounds %struct.Any, ptr %1613, i32 0, i32 3
  %1615 = load double, ptr %1614, align 8, !tbaa !13
  %1616 = fcmp oeq double %1612, %1615
  store i1 %1616, ptr %3, align 1
  br label %1681

1617:                                             ; preds = %1493
  store i1 false, ptr %3, align 1
  br label %1681

1618:                                             ; No predecessors!
  br label %1619

1619:                                             ; preds = %1618, %2
  br label %1620

1620:                                             ; preds = %1619
  %1621 = load ptr, ptr %4, align 8, !tbaa !5
  %1622 = getelementptr inbounds %struct.Any, ptr %1621, i32 0, i32 0
  %1623 = load i16, ptr %1622, align 8, !tbaa !9
  %1624 = zext i16 %1623 to i32
  %1625 = icmp slt i32 12, %1624
  br i1 %1625, label %1626, label %1633

1626:                                             ; preds = %1620
  %1627 = load ptr, ptr %4, align 8, !tbaa !5
  %1628 = getelementptr inbounds %struct.Any, ptr %1627, i32 0, i32 0
  %1629 = load i16, ptr %1628, align 8, !tbaa !9
  %1630 = zext i16 %1629 to i32
  %1631 = icmp sle i32 %1630, 27
  br i1 %1631, label %1632, label %1633

1632:                                             ; preds = %1626
  br label %1634

1633:                                             ; preds = %1626, %1620
  call void @__assert_fail(ptr noundef @.str.31, ptr noundef @.str.29, i32 noundef 182, ptr noundef @__PRETTY_FUNCTION__.any_equal) #4
  unreachable

1634:                                             ; preds = %1632
  %1635 = load ptr, ptr %4, align 8, !tbaa !5
  %1636 = getelementptr inbounds %struct.Any, ptr %1635, i32 0, i32 0
  %1637 = load i16, ptr %1636, align 8, !tbaa !9
  %1638 = zext i16 %1637 to i32
  %1639 = load ptr, ptr %5, align 8, !tbaa !5
  %1640 = getelementptr inbounds %struct.Any, ptr %1639, i32 0, i32 0
  %1641 = load i16, ptr %1640, align 8, !tbaa !9
  %1642 = zext i16 %1641 to i32
  %1643 = icmp eq i32 %1638, %1642
  br i1 %1643, label %1644, label %1652

1644:                                             ; preds = %1634
  %1645 = load ptr, ptr %4, align 8, !tbaa !5
  %1646 = getelementptr inbounds %struct.Any, ptr %1645, i32 0, i32 2
  %1647 = load i32, ptr %1646, align 4, !tbaa !16
  %1648 = load ptr, ptr %5, align 8, !tbaa !5
  %1649 = getelementptr inbounds %struct.Any, ptr %1648, i32 0, i32 2
  %1650 = load i32, ptr %1649, align 4, !tbaa !16
  %1651 = icmp eq i32 %1647, %1650
  br i1 %1651, label %1653, label %1652

1652:                                             ; preds = %1644, %1634
  store i1 false, ptr %3, align 1
  br label %1681

1653:                                             ; preds = %1644
  %1654 = load ptr, ptr %4, align 8, !tbaa !5
  %1655 = getelementptr inbounds %struct.Any, ptr %1654, i32 0, i32 3
  %1656 = load ptr, ptr %1655, align 8, !tbaa !13
  %1657 = icmp eq ptr %1656, null
  br i1 %1657, label %1658, label %1663

1658:                                             ; preds = %1653
  %1659 = load ptr, ptr %5, align 8, !tbaa !5
  %1660 = getelementptr inbounds %struct.Any, ptr %1659, i32 0, i32 3
  %1661 = load ptr, ptr %1660, align 8, !tbaa !13
  %1662 = icmp eq ptr %1661, null
  store i1 %1662, ptr %3, align 1
  br label %1681

1663:                                             ; preds = %1653
  %1664 = load ptr, ptr %5, align 8, !tbaa !5
  %1665 = getelementptr inbounds %struct.Any, ptr %1664, i32 0, i32 3
  %1666 = load ptr, ptr %1665, align 8, !tbaa !13
  %1667 = icmp eq ptr %1666, null
  br i1 %1667, label %1668, label %1669

1668:                                             ; preds = %1663
  store i1 false, ptr %3, align 1
  br label %1681

1669:                                             ; preds = %1663
  %1670 = load ptr, ptr %4, align 8, !tbaa !5
  %1671 = getelementptr inbounds %struct.Any, ptr %1670, i32 0, i32 3
  %1672 = load ptr, ptr %1671, align 8, !tbaa !13
  %1673 = load ptr, ptr %5, align 8, !tbaa !5
  %1674 = getelementptr inbounds %struct.Any, ptr %1673, i32 0, i32 3
  %1675 = load ptr, ptr %1674, align 8, !tbaa !13
  %1676 = load ptr, ptr %4, align 8, !tbaa !5
  %1677 = call i64 @any_size(ptr noundef %1676)
  %1678 = call i32 @memcmp(ptr noundef %1672, ptr noundef %1675, i64 noundef %1677) #5
  %1679 = icmp ne i32 %1678, 0
  %1680 = xor i1 %1679, true
  store i1 %1680, ptr %3, align 1
  br label %1681

1681:                                             ; preds = %1669, %1668, %1658, %1652, %1617, %1609, %1600, %1591, %1582, %1572, %1562, %1553, %1544, %1534, %1524, %1514, %1503, %1498, %1490, %1481, %1473, %1464, %1455, %1445, %1435, %1426, %1417, %1407, %1397, %1387, %1376, %1371, %1363, %1354, %1345, %1337, %1328, %1319, %1310, %1302, %1293, %1284, %1275, %1266, %1256, %1251, %1243, %1234, %1225, %1216, %1208, %1199, %1190, %1181, %1173, %1164, %1155, %1146, %1136, %1131, %1123, %1113, %1103, %1094, %1085, %1075, %1065, %1056, %1047, %1037, %1027, %1017, %1006, %1000, %992, %982, %972, %963, %954, %944, %934, %925, %916, %906, %896, %886, %875, %869, %861, %852, %843, %835, %826, %817, %808, %800, %791, %782, %773, %764, %754, %749, %741, %732, %723, %714, %706, %697, %688, %679, %671, %662, %653, %644, %634, %629, %621, %611, %601, %592, %583, %573, %563, %554, %545, %535, %525, %515, %504, %498, %490, %480, %470, %461, %452, %442, %432, %423, %414, %404, %394, %384, %373, %367, %359, %349, %339, %330, %321, %311, %301, %292, %283, %273, %263, %253, %242, %236, %228, %217, %206, %196, %186, %175, %164, %154, %144, %133, %122, %111, %99, %92, %84, %79, %74, %69, %64, %58, %52, %47, %42, %36, %30, %24, %17, %16
  %1682 = load i1, ptr %3, align 1
  ret i1 %1682
}

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @any_size(ptr noundef) #3

attributes #0 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { noreturn nounwind }
attributes #5 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"Any", !11, i64 0, !11, i64 2, !12, i64 4, !7, i64 8}
!11 = !{!"short", !7, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!7, !7, i64 0}
!14 = !{i8 0, i8 2}
!15 = !{}
!16 = !{!10, !12, i64 4}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str.29 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [43 x i8], align 1
@__PRETTY_FUNCTION__.any_equal = external hidden unnamed_addr constant [42 x i8], align 1

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local zeroext i1 @any_equal(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #1 {
  %3 = load i16, ptr %0, align 8, !tbaa !5
  switch i16 %3, label %1123 [
    i16 0, label %4
    i16 1, label %55
    i16 2, label %141
    i16 3, label %230
    i16 4, label %321
    i16 5, label %413
    i16 6, label %501
    i16 7, label %589
    i16 8, label %678
    i16 9, label %769
    i16 10, label %857
    i16 11, label %945
    i16 12, label %1034
  ]

4:                                                ; preds = %2
  %5 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %5, label %54 [
    i16 0, label %1144
    i16 1, label %6
    i16 2, label %10
    i16 3, label %14
    i16 4, label %18
    i16 5, label %22
    i16 6, label %26
    i16 7, label %30
    i16 8, label %34
    i16 9, label %38
    i16 10, label %42
    i16 11, label %46
    i16 12, label %50
  ]

6:                                                ; preds = %4
  %7 = getelementptr inbounds i8, ptr %1, i64 8
  %8 = load i8, ptr %7, align 8, !tbaa !11, !range !12, !noundef !13
  %9 = icmp eq i8 %8, 0
  br label %1144

10:                                               ; preds = %4
  %11 = getelementptr inbounds i8, ptr %1, i64 8
  %12 = load i8, ptr %11, align 8, !tbaa !11
  %13 = icmp eq i8 %12, 0
  br label %1144

14:                                               ; preds = %4
  %15 = getelementptr inbounds i8, ptr %1, i64 8
  %16 = load i8, ptr %15, align 8, !tbaa !11
  %17 = icmp eq i8 %16, 0
  br label %1144

18:                                               ; preds = %4
  %19 = getelementptr inbounds i8, ptr %1, i64 8
  %20 = load i16, ptr %19, align 8, !tbaa !11
  %21 = icmp eq i16 %20, 0
  br label %1144

22:                                               ; preds = %4
  %23 = getelementptr inbounds i8, ptr %1, i64 8
  %24 = load i32, ptr %23, align 8, !tbaa !11
  %25 = icmp eq i32 %24, 0
  br label %1144

26:                                               ; preds = %4
  %27 = getelementptr inbounds i8, ptr %1, i64 8
  %28 = load i64, ptr %27, align 8, !tbaa !11
  %29 = icmp eq i64 %28, 0
  br label %1144

30:                                               ; preds = %4
  %31 = getelementptr inbounds i8, ptr %1, i64 8
  %32 = load i8, ptr %31, align 8, !tbaa !11
  %33 = icmp eq i8 %32, 0
  br label %1144

34:                                               ; preds = %4
  %35 = getelementptr inbounds i8, ptr %1, i64 8
  %36 = load i16, ptr %35, align 8, !tbaa !11
  %37 = icmp eq i16 %36, 0
  br label %1144

38:                                               ; preds = %4
  %39 = getelementptr inbounds i8, ptr %1, i64 8
  %40 = load i32, ptr %39, align 8, !tbaa !11
  %41 = icmp eq i32 %40, 0
  br label %1144

42:                                               ; preds = %4
  %43 = getelementptr inbounds i8, ptr %1, i64 8
  %44 = load i64, ptr %43, align 8, !tbaa !11
  %45 = icmp eq i64 %44, 0
  br label %1144

46:                                               ; preds = %4
  %47 = getelementptr inbounds i8, ptr %1, i64 8
  %48 = load float, ptr %47, align 8, !tbaa !11
  %49 = fcmp oeq float %48, 0.000000e+00
  br label %1144

50:                                               ; preds = %4
  %51 = getelementptr inbounds i8, ptr %1, i64 8
  %52 = load double, ptr %51, align 8, !tbaa !11
  %53 = fcmp oeq double %52, 0.000000e+00
  br label %1144

54:                                               ; preds = %4
  br label %1144

55:                                               ; preds = %2
  %56 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %56, label %1144 [
    i16 0, label %57
    i16 1, label %61
    i16 2, label %67
    i16 3, label %73
    i16 4, label %79
    i16 5, label %86
    i16 6, label %93
    i16 7, label %100
    i16 8, label %106
    i16 9, label %113
    i16 10, label %120
    i16 11, label %127
    i16 12, label %134
  ]

57:                                               ; preds = %55
  %58 = getelementptr inbounds i8, ptr %0, i64 8
  %59 = load i8, ptr %58, align 8, !tbaa !11, !range !12, !noundef !13
  %60 = icmp eq i8 %59, 0
  br label %1144

61:                                               ; preds = %55
  %62 = getelementptr inbounds i8, ptr %0, i64 8
  %63 = load i8, ptr %62, align 8, !tbaa !11, !range !12, !noundef !13
  %64 = getelementptr inbounds i8, ptr %1, i64 8
  %65 = load i8, ptr %64, align 8, !tbaa !11, !range !12, !noundef !13
  %66 = icmp eq i8 %63, %65
  br label %1144

67:                                               ; preds = %55
  %68 = getelementptr inbounds i8, ptr %0, i64 8
  %69 = load i8, ptr %68, align 8, !tbaa !11, !range !12, !noundef !13
  %70 = getelementptr inbounds i8, ptr %1, i64 8
  %71 = load i8, ptr %70, align 8, !tbaa !11
  %72 = icmp eq i8 %69, %71
  br label %1144

73:                                               ; preds = %55
  %74 = getelementptr inbounds i8, ptr %0, i64 8
  %75 = load i8, ptr %74, align 8, !tbaa !11, !range !12, !noundef !13
  %76 = getelementptr inbounds i8, ptr %1, i64 8
  %77 = load i8, ptr %76, align 8, !tbaa !11
  %78 = icmp eq i8 %75, %77
  br label %1144

79:                                               ; preds = %55
  %80 = getelementptr inbounds i8, ptr %0, i64 8
  %81 = load i8, ptr %80, align 8, !tbaa !11, !range !12, !noundef !13
  %82 = getelementptr inbounds i8, ptr %1, i64 8
  %83 = load i16, ptr %82, align 8, !tbaa !11
  %84 = zext nneg i8 %81 to i16
  %85 = icmp eq i16 %83, %84
  br label %1144

86:                                               ; preds = %55
  %87 = getelementptr inbounds i8, ptr %0, i64 8
  %88 = load i8, ptr %87, align 8, !tbaa !11, !range !12, !noundef !13
  %89 = zext nneg i8 %88 to i32
  %90 = getelementptr inbounds i8, ptr %1, i64 8
  %91 = load i32, ptr %90, align 8, !tbaa !11
  %92 = icmp eq i32 %91, %89
  br label %1144

93:                                               ; preds = %55
  %94 = getelementptr inbounds i8, ptr %0, i64 8
  %95 = load i8, ptr %94, align 8, !tbaa !11, !range !12, !noundef !13
  %96 = zext nneg i8 %95 to i64
  %97 = getelementptr inbounds i8, ptr %1, i64 8
  %98 = load i64, ptr %97, align 8, !tbaa !11
  %99 = icmp eq i64 %98, %96
  br label %1144

100:                                              ; preds = %55
  %101 = getelementptr inbounds i8, ptr %0, i64 8
  %102 = load i8, ptr %101, align 8, !tbaa !11, !range !12, !noundef !13
  %103 = getelementptr inbounds i8, ptr %1, i64 8
  %104 = load i8, ptr %103, align 8, !tbaa !11
  %105 = icmp eq i8 %102, %104
  br label %1144

106:                                              ; preds = %55
  %107 = getelementptr inbounds i8, ptr %0, i64 8
  %108 = load i8, ptr %107, align 8, !tbaa !11, !range !12, !noundef !13
  %109 = getelementptr inbounds i8, ptr %1, i64 8
  %110 = load i16, ptr %109, align 8, !tbaa !11
  %111 = zext nneg i8 %108 to i16
  %112 = icmp eq i16 %110, %111
  br label %1144

113:                                              ; preds = %55
  %114 = getelementptr inbounds i8, ptr %0, i64 8
  %115 = load i8, ptr %114, align 8, !tbaa !11, !range !12, !noundef !13
  %116 = zext nneg i8 %115 to i32
  %117 = getelementptr inbounds i8, ptr %1, i64 8
  %118 = load i32, ptr %117, align 8, !tbaa !11
  %119 = icmp eq i32 %118, %116
  br label %1144

120:                                              ; preds = %55
  %121 = getelementptr inbounds i8, ptr %0, i64 8
  %122 = load i8, ptr %121, align 8, !tbaa !11, !range !12, !noundef !13
  %123 = zext nneg i8 %122 to i64
  %124 = getelementptr inbounds i8, ptr %1, i64 8
  %125 = load i64, ptr %124, align 8, !tbaa !11
  %126 = icmp eq i64 %125, %123
  br label %1144

127:                                              ; preds = %55
  %128 = getelementptr inbounds i8, ptr %0, i64 8
  %129 = load i8, ptr %128, align 8, !tbaa !11, !range !12, !noundef !13
  %130 = uitofp nneg i8 %129 to float
  %131 = getelementptr inbounds i8, ptr %1, i64 8
  %132 = load float, ptr %131, align 8, !tbaa !11
  %133 = fcmp oeq float %132, %130
  br label %1144

134:                                              ; preds = %55
  %135 = getelementptr inbounds i8, ptr %0, i64 8
  %136 = load i8, ptr %135, align 8, !tbaa !11, !range !12, !noundef !13
  %137 = uitofp nneg i8 %136 to double
  %138 = getelementptr inbounds i8, ptr %1, i64 8
  %139 = load double, ptr %138, align 8, !tbaa !11
  %140 = fcmp oeq double %139, %137
  br label %1144

141:                                              ; preds = %2
  %142 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %142, label %1144 [
    i16 0, label %143
    i16 1, label %147
    i16 2, label %153
    i16 3, label %159
    i16 4, label %167
    i16 5, label %175
    i16 6, label %182
    i16 7, label %189
    i16 8, label %195
    i16 9, label %202
    i16 10, label %209
    i16 11, label %216
    i16 12, label %223
  ]

143:                                              ; preds = %141
  %144 = getelementptr inbounds i8, ptr %0, i64 8
  %145 = load i8, ptr %144, align 8, !tbaa !11
  %146 = icmp eq i8 %145, 0
  br label %1144

147:                                              ; preds = %141
  %148 = getelementptr inbounds i8, ptr %0, i64 8
  %149 = load i8, ptr %148, align 8, !tbaa !11
  %150 = getelementptr inbounds i8, ptr %1, i64 8
  %151 = load i8, ptr %150, align 8, !tbaa !11, !range !12, !noundef !13
  %152 = icmp eq i8 %149, %151
  br label %1144

153:                                              ; preds = %141
  %154 = getelementptr inbounds i8, ptr %0, i64 8
  %155 = load i8, ptr %154, align 8, !tbaa !11
  %156 = getelementptr inbounds i8, ptr %1, i64 8
  %157 = load i8, ptr %156, align 8, !tbaa !11
  %158 = icmp eq i8 %155, %157
  br label %1144

159:                                              ; preds = %141
  %160 = getelementptr inbounds i8, ptr %0, i64 8
  %161 = load i8, ptr %160, align 8, !tbaa !11
  %162 = sext i8 %161 to i32
  %163 = getelementptr inbounds i8, ptr %1, i64 8
  %164 = load i8, ptr %163, align 8, !tbaa !11
  %165 = zext i8 %164 to i32
  %166 = icmp eq i32 %162, %165
  br label %1144

167:                                              ; preds = %141
  %168 = getelementptr inbounds i8, ptr %0, i64 8
  %169 = load i8, ptr %168, align 8, !tbaa !11
  %170 = sext i8 %169 to i32
  %171 = getelementptr inbounds i8, ptr %1, i64 8
  %172 = load i16, ptr %171, align 8, !tbaa !11
  %173 = zext i16 %172 to i32
  %174 = icmp eq i32 %170, %173
  br label %1144

175:                                              ; preds = %141
  %176 = getelementptr inbounds i8, ptr %0, i64 8
  %177 = load i8, ptr %176, align 8, !tbaa !11
  %178 = sext i8 %177 to i32
  %179 = getelementptr inbounds i8, ptr %1, i64 8
  %180 = load i32, ptr %179, align 8, !tbaa !11
  %181 = icmp eq i32 %180, %178
  br label %1144

182:                                              ; preds = %141
  %183 = getelementptr inbounds i8, ptr %0, i64 8
  %184 = load i8, ptr %183, align 8, !tbaa !11
  %185 = sext i8 %184 to i64
  %186 = getelementptr inbounds i8, ptr %1, i64 8
  %187 = load i64, ptr %186, align 8, !tbaa !11
  %188 = icmp eq i64 %187, %185
  br label %1144

189:                                              ; preds = %141
  %190 = getelementptr inbounds i8, ptr %0, i64 8
  %191 = load i8, ptr %190, align 8, !tbaa !11
  %192 = getelementptr inbounds i8, ptr %1, i64 8
  %193 = load i8, ptr %192, align 8, !tbaa !11
  %194 = icmp eq i8 %191, %193
  br label %1144

195:                                              ; preds = %141
  %196 = getelementptr inbounds i8, ptr %0, i64 8
  %197 = load i8, ptr %196, align 8, !tbaa !11
  %198 = getelementptr inbounds i8, ptr %1, i64 8
  %199 = load i16, ptr %198, align 8, !tbaa !11
  %200 = sext i8 %197 to i16
  %201 = icmp eq i16 %199, %200
  br label %1144

202:                                              ; preds = %141
  %203 = getelementptr inbounds i8, ptr %0, i64 8
  %204 = load i8, ptr %203, align 8, !tbaa !11
  %205 = sext i8 %204 to i32
  %206 = getelementptr inbounds i8, ptr %1, i64 8
  %207 = load i32, ptr %206, align 8, !tbaa !11
  %208 = icmp eq i32 %207, %205
  br label %1144

209:                                              ; preds = %141
  %210 = getelementptr inbounds i8, ptr %0, i64 8
  %211 = load i8, ptr %210, align 8, !tbaa !11
  %212 = sext i8 %211 to i64
  %213 = getelementptr inbounds i8, ptr %1, i64 8
  %214 = load i64, ptr %213, align 8, !tbaa !11
  %215 = icmp eq i64 %214, %212
  br label %1144

216:                                              ; preds = %141
  %217 = getelementptr inbounds i8, ptr %0, i64 8
  %218 = load i8, ptr %217, align 8, !tbaa !11
  %219 = sitofp i8 %218 to float
  %220 = getelementptr inbounds i8, ptr %1, i64 8
  %221 = load float, ptr %220, align 8, !tbaa !11
  %222 = fcmp oeq float %221, %219
  br label %1144

223:                                              ; preds = %141
  %224 = getelementptr inbounds i8, ptr %0, i64 8
  %225 = load i8, ptr %224, align 8, !tbaa !11
  %226 = sitofp i8 %225 to double
  %227 = getelementptr inbounds i8, ptr %1, i64 8
  %228 = load double, ptr %227, align 8, !tbaa !11
  %229 = fcmp oeq double %228, %226
  br label %1144

230:                                              ; preds = %2
  %231 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %231, label %1144 [
    i16 0, label %232
    i16 1, label %236
    i16 2, label %242
    i16 3, label %250
    i16 4, label %256
    i16 5, label %263
    i16 6, label %270
    i16 7, label %277
    i16 8, label %285
    i16 9, label %293
    i16 10, label %300
    i16 11, label %307
    i16 12, label %314
  ]

232:                                              ; preds = %230
  %233 = getelementptr inbounds i8, ptr %0, i64 8
  %234 = load i8, ptr %233, align 8, !tbaa !11
  %235 = icmp eq i8 %234, 0
  br label %1144

236:                                              ; preds = %230
  %237 = getelementptr inbounds i8, ptr %0, i64 8
  %238 = load i8, ptr %237, align 8, !tbaa !11
  %239 = getelementptr inbounds i8, ptr %1, i64 8
  %240 = load i8, ptr %239, align 8, !tbaa !11, !range !12, !noundef !13
  %241 = icmp eq i8 %238, %240
  br label %1144

242:                                              ; preds = %230
  %243 = getelementptr inbounds i8, ptr %0, i64 8
  %244 = load i8, ptr %243, align 8, !tbaa !11
  %245 = zext i8 %244 to i32
  %246 = getelementptr inbounds i8, ptr %1, i64 8
  %247 = load i8, ptr %246, align 8, !tbaa !11
  %248 = sext i8 %247 to i32
  %249 = icmp eq i32 %245, %248
  br label %1144

250:                                              ; preds = %230
  %251 = getelementptr inbounds i8, ptr %0, i64 8
  %252 = load i8, ptr %251, align 8, !tbaa !11
  %253 = getelementptr inbounds i8, ptr %1, i64 8
  %254 = load i8, ptr %253, align 8, !tbaa !11
  %255 = icmp eq i8 %252, %254
  br label %1144

256:                                              ; preds = %230
  %257 = getelementptr inbounds i8, ptr %0, i64 8
  %258 = load i8, ptr %257, align 8, !tbaa !11
  %259 = getelementptr inbounds i8, ptr %1, i64 8
  %260 = load i16, ptr %259, align 8, !tbaa !11
  %261 = zext i8 %258 to i16
  %262 = icmp eq i16 %260, %261
  br label %1144

263:                                              ; preds = %230
  %264 = getelementptr inbounds i8, ptr %0, i64 8
  %265 = load i8, ptr %264, align 8, !tbaa !11
  %266 = zext i8 %265 to i32
  %267 = getelementptr inbounds i8, ptr %1, i64 8
  %268 = load i32, ptr %267, align 8, !tbaa !11
  %269 = icmp eq i32 %268, %266
  br label %1144

270:                                              ; preds = %230
  %271 = getelementptr inbounds i8, ptr %0, i64 8
  %272 = load i8, ptr %271, align 8, !tbaa !11
  %273 = zext i8 %272 to i64
  %274 = getelementptr inbounds i8, ptr %1, i64 8
  %275 = load i64, ptr %274, align 8, !tbaa !11
  %276 = icmp eq i64 %275, %273
  br label %1144

277:                                              ; preds = %230
  %278 = getelementptr inbounds i8, ptr %0, i64 8
  %279 = load i8, ptr %278, align 8, !tbaa !11
  %280 = zext i8 %279 to i32
  %281 = getelementptr inbounds i8, ptr %1, i64 8
  %282 = load i8, ptr %281, align 8, !tbaa !11
  %283 = sext i8 %282 to i32
  %284 = icmp eq i32 %280, %283
  br label %1144

285:                                              ; preds = %230
  %286 = getelementptr inbounds i8, ptr %0, i64 8
  %287 = load i8, ptr %286, align 8, !tbaa !11
  %288 = zext i8 %287 to i32
  %289 = getelementptr inbounds i8, ptr %1, i64 8
  %290 = load i16, ptr %289, align 8, !tbaa !11
  %291 = sext i16 %290 to i32
  %292 = icmp eq i32 %288, %291
  br label %1144

293:                                              ; preds = %230
  %294 = getelementptr inbounds i8, ptr %0, i64 8
  %295 = load i8, ptr %294, align 8, !tbaa !11
  %296 = zext i8 %295 to i32
  %297 = getelementptr inbounds i8, ptr %1, i64 8
  %298 = load i32, ptr %297, align 8, !tbaa !11
  %299 = icmp eq i32 %298, %296
  br label %1144

300:                                              ; preds = %230
  %301 = getelementptr inbounds i8, ptr %0, i64 8
  %302 = load i8, ptr %301, align 8, !tbaa !11
  %303 = zext i8 %302 to i64
  %304 = getelementptr inbounds i8, ptr %1, i64 8
  %305 = load i64, ptr %304, align 8, !tbaa !11
  %306 = icmp eq i64 %305, %303
  br label %1144

307:                                              ; preds = %230
  %308 = getelementptr inbounds i8, ptr %0, i64 8
  %309 = load i8, ptr %308, align 8, !tbaa !11
  %310 = uitofp i8 %309 to float
  %311 = getelementptr inbounds i8, ptr %1, i64 8
  %312 = load float, ptr %311, align 8, !tbaa !11
  %313 = fcmp oeq float %312, %310
  br label %1144

314:                                              ; preds = %230
  %315 = getelementptr inbounds i8, ptr %0, i64 8
  %316 = load i8, ptr %315, align 8, !tbaa !11
  %317 = uitofp i8 %316 to double
  %318 = getelementptr inbounds i8, ptr %1, i64 8
  %319 = load double, ptr %318, align 8, !tbaa !11
  %320 = fcmp oeq double %319, %317
  br label %1144

321:                                              ; preds = %2
  %322 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %322, label %1144 [
    i16 0, label %323
    i16 1, label %327
    i16 2, label %334
    i16 3, label %342
    i16 4, label %349
    i16 5, label %355
    i16 6, label %362
    i16 7, label %369
    i16 8, label %377
    i16 9, label %385
    i16 10, label %392
    i16 11, label %399
    i16 12, label %406
  ]

323:                                              ; preds = %321
  %324 = getelementptr inbounds i8, ptr %0, i64 8
  %325 = load i16, ptr %324, align 8, !tbaa !11
  %326 = icmp eq i16 %325, 0
  br label %1144

327:                                              ; preds = %321
  %328 = getelementptr inbounds i8, ptr %0, i64 8
  %329 = load i16, ptr %328, align 8, !tbaa !11
  %330 = getelementptr inbounds i8, ptr %1, i64 8
  %331 = load i8, ptr %330, align 8, !tbaa !11, !range !12, !noundef !13
  %332 = zext nneg i8 %331 to i16
  %333 = icmp eq i16 %329, %332
  br label %1144

334:                                              ; preds = %321
  %335 = getelementptr inbounds i8, ptr %0, i64 8
  %336 = load i16, ptr %335, align 8, !tbaa !11
  %337 = zext i16 %336 to i32
  %338 = getelementptr inbounds i8, ptr %1, i64 8
  %339 = load i8, ptr %338, align 8, !tbaa !11
  %340 = sext i8 %339 to i32
  %341 = icmp eq i32 %337, %340
  br label %1144

342:                                              ; preds = %321
  %343 = getelementptr inbounds i8, ptr %0, i64 8
  %344 = load i16, ptr %343, align 8, !tbaa !11
  %345 = getelementptr inbounds i8, ptr %1, i64 8
  %346 = load i8, ptr %345, align 8, !tbaa !11
  %347 = zext i8 %346 to i16
  %348 = icmp eq i16 %344, %347
  br label %1144

349:                                              ; preds = %321
  %350 = getelementptr inbounds i8, ptr %0, i64 8
  %351 = load i16, ptr %350, align 8, !tbaa !11
  %352 = getelementptr inbounds i8, ptr %1, i64 8
  %353 = load i16, ptr %352, align 8, !tbaa !11
  %354 = icmp eq i16 %351, %353
  br label %1144

355:                                              ; preds = %321
  %356 = getelementptr inbounds i8, ptr %0, i64 8
  %357 = load i16, ptr %356, align 8, !tbaa !11
  %358 = zext i16 %357 to i32
  %359 = getelementptr inbounds i8, ptr %1, i64 8
  %360 = load i32, ptr %359, align 8, !tbaa !11
  %361 = icmp eq i32 %360, %358
  br label %1144

362:                                              ; preds = %321
  %363 = getelementptr inbounds i8, ptr %0, i64 8
  %364 = load i16, ptr %363, align 8, !tbaa !11
  %365 = zext i16 %364 to i64
  %366 = getelementptr inbounds i8, ptr %1, i64 8
  %367 = load i64, ptr %366, align 8, !tbaa !11
  %368 = icmp eq i64 %367, %365
  br label %1144

369:                                              ; preds = %321
  %370 = getelementptr inbounds i8, ptr %0, i64 8
  %371 = load i16, ptr %370, align 8, !tbaa !11
  %372 = zext i16 %371 to i32
  %373 = getelementptr inbounds i8, ptr %1, i64 8
  %374 = load i8, ptr %373, align 8, !tbaa !11
  %375 = sext i8 %374 to i32
  %376 = icmp eq i32 %372, %375
  br label %1144

377:                                              ; preds = %321
  %378 = getelementptr inbounds i8, ptr %0, i64 8
  %379 = load i16, ptr %378, align 8, !tbaa !11
  %380 = zext i16 %379 to i32
  %381 = getelementptr inbounds i8, ptr %1, i64 8
  %382 = load i16, ptr %381, align 8, !tbaa !11
  %383 = sext i16 %382 to i32
  %384 = icmp eq i32 %380, %383
  br label %1144

385:                                              ; preds = %321
  %386 = getelementptr inbounds i8, ptr %0, i64 8
  %387 = load i16, ptr %386, align 8, !tbaa !11
  %388 = zext i16 %387 to i32
  %389 = getelementptr inbounds i8, ptr %1, i64 8
  %390 = load i32, ptr %389, align 8, !tbaa !11
  %391 = icmp eq i32 %390, %388
  br label %1144

392:                                              ; preds = %321
  %393 = getelementptr inbounds i8, ptr %0, i64 8
  %394 = load i16, ptr %393, align 8, !tbaa !11
  %395 = zext i16 %394 to i64
  %396 = getelementptr inbounds i8, ptr %1, i64 8
  %397 = load i64, ptr %396, align 8, !tbaa !11
  %398 = icmp eq i64 %397, %395
  br label %1144

399:                                              ; preds = %321
  %400 = getelementptr inbounds i8, ptr %0, i64 8
  %401 = load i16, ptr %400, align 8, !tbaa !11
  %402 = uitofp i16 %401 to float
  %403 = getelementptr inbounds i8, ptr %1, i64 8
  %404 = load float, ptr %403, align 8, !tbaa !11
  %405 = fcmp oeq float %404, %402
  br label %1144

406:                                              ; preds = %321
  %407 = getelementptr inbounds i8, ptr %0, i64 8
  %408 = load i16, ptr %407, align 8, !tbaa !11
  %409 = uitofp i16 %408 to double
  %410 = getelementptr inbounds i8, ptr %1, i64 8
  %411 = load double, ptr %410, align 8, !tbaa !11
  %412 = fcmp oeq double %411, %409
  br label %1144

413:                                              ; preds = %2
  %414 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %414, label %1144 [
    i16 0, label %415
    i16 1, label %419
    i16 2, label %426
    i16 3, label %433
    i16 4, label %440
    i16 5, label %447
    i16 6, label %453
    i16 7, label %460
    i16 8, label %467
    i16 9, label %474
    i16 10, label %480
    i16 11, label %487
    i16 12, label %494
  ]

415:                                              ; preds = %413
  %416 = getelementptr inbounds i8, ptr %0, i64 8
  %417 = load i32, ptr %416, align 8, !tbaa !11
  %418 = icmp eq i32 %417, 0
  br label %1144

419:                                              ; preds = %413
  %420 = getelementptr inbounds i8, ptr %0, i64 8
  %421 = load i32, ptr %420, align 8, !tbaa !11
  %422 = getelementptr inbounds i8, ptr %1, i64 8
  %423 = load i8, ptr %422, align 8, !tbaa !11, !range !12, !noundef !13
  %424 = zext nneg i8 %423 to i32
  %425 = icmp eq i32 %421, %424
  br label %1144

426:                                              ; preds = %413
  %427 = getelementptr inbounds i8, ptr %0, i64 8
  %428 = load i32, ptr %427, align 8, !tbaa !11
  %429 = getelementptr inbounds i8, ptr %1, i64 8
  %430 = load i8, ptr %429, align 8, !tbaa !11
  %431 = sext i8 %430 to i32
  %432 = icmp eq i32 %428, %431
  br label %1144

433:                                              ; preds = %413
  %434 = getelementptr inbounds i8, ptr %0, i64 8
  %435 = load i32, ptr %434, align 8, !tbaa !11
  %436 = getelementptr inbounds i8, ptr %1, i64 8
  %437 = load i8, ptr %436, align 8, !tbaa !11
  %438 = zext i8 %437 to i32
  %439 = icmp eq i32 %435, %438
  br label %1144

440:                                              ; preds = %413
  %441 = getelementptr inbounds i8, ptr %0, i64 8
  %442 = load i32, ptr %441, align 8, !tbaa !11
  %443 = getelementptr inbounds i8, ptr %1, i64 8
  %444 = load i16, ptr %443, align 8, !tbaa !11
  %445 = zext i16 %444 to i32
  %446 = icmp eq i32 %442, %445
  br label %1144

447:                                              ; preds = %413
  %448 = getelementptr inbounds i8, ptr %0, i64 8
  %449 = load i32, ptr %448, align 8, !tbaa !11
  %450 = getelementptr inbounds i8, ptr %1, i64 8
  %451 = load i32, ptr %450, align 8, !tbaa !11
  %452 = icmp eq i32 %449, %451
  br label %1144

453:                                              ; preds = %413
  %454 = getelementptr inbounds i8, ptr %0, i64 8
  %455 = load i32, ptr %454, align 8, !tbaa !11
  %456 = zext i32 %455 to i64
  %457 = getelementptr inbounds i8, ptr %1, i64 8
  %458 = load i64, ptr %457, align 8, !tbaa !11
  %459 = icmp eq i64 %458, %456
  br label %1144

460:                                              ; preds = %413
  %461 = getelementptr inbounds i8, ptr %0, i64 8
  %462 = load i32, ptr %461, align 8, !tbaa !11
  %463 = getelementptr inbounds i8, ptr %1, i64 8
  %464 = load i8, ptr %463, align 8, !tbaa !11
  %465 = sext i8 %464 to i32
  %466 = icmp eq i32 %462, %465
  br label %1144

467:                                              ; preds = %413
  %468 = getelementptr inbounds i8, ptr %0, i64 8
  %469 = load i32, ptr %468, align 8, !tbaa !11
  %470 = getelementptr inbounds i8, ptr %1, i64 8
  %471 = load i16, ptr %470, align 8, !tbaa !11
  %472 = sext i16 %471 to i32
  %473 = icmp eq i32 %469, %472
  br label %1144

474:                                              ; preds = %413
  %475 = getelementptr inbounds i8, ptr %0, i64 8
  %476 = load i32, ptr %475, align 8, !tbaa !11
  %477 = getelementptr inbounds i8, ptr %1, i64 8
  %478 = load i32, ptr %477, align 8, !tbaa !11
  %479 = icmp eq i32 %476, %478
  br label %1144

480:                                              ; preds = %413
  %481 = getelementptr inbounds i8, ptr %0, i64 8
  %482 = load i32, ptr %481, align 8, !tbaa !11
  %483 = zext i32 %482 to i64
  %484 = getelementptr inbounds i8, ptr %1, i64 8
  %485 = load i64, ptr %484, align 8, !tbaa !11
  %486 = icmp eq i64 %485, %483
  br label %1144

487:                                              ; preds = %413
  %488 = getelementptr inbounds i8, ptr %0, i64 8
  %489 = load i32, ptr %488, align 8, !tbaa !11
  %490 = uitofp i32 %489 to float
  %491 = getelementptr inbounds i8, ptr %1, i64 8
  %492 = load float, ptr %491, align 8, !tbaa !11
  %493 = fcmp oeq float %492, %490
  br label %1144

494:                                              ; preds = %413
  %495 = getelementptr inbounds i8, ptr %0, i64 8
  %496 = load i32, ptr %495, align 8, !tbaa !11
  %497 = uitofp i32 %496 to double
  %498 = getelementptr inbounds i8, ptr %1, i64 8
  %499 = load double, ptr %498, align 8, !tbaa !11
  %500 = fcmp oeq double %499, %497
  br label %1144

501:                                              ; preds = %2
  %502 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %502, label %1144 [
    i16 0, label %503
    i16 1, label %507
    i16 2, label %514
    i16 3, label %521
    i16 4, label %528
    i16 5, label %535
    i16 6, label %542
    i16 7, label %548
    i16 8, label %555
    i16 9, label %562
    i16 10, label %569
    i16 11, label %575
    i16 12, label %582
  ]

503:                                              ; preds = %501
  %504 = getelementptr inbounds i8, ptr %0, i64 8
  %505 = load i64, ptr %504, align 8, !tbaa !11
  %506 = icmp eq i64 %505, 0
  br label %1144

507:                                              ; preds = %501
  %508 = getelementptr inbounds i8, ptr %0, i64 8
  %509 = load i64, ptr %508, align 8, !tbaa !11
  %510 = getelementptr inbounds i8, ptr %1, i64 8
  %511 = load i8, ptr %510, align 8, !tbaa !11, !range !12, !noundef !13
  %512 = zext nneg i8 %511 to i64
  %513 = icmp eq i64 %509, %512
  br label %1144

514:                                              ; preds = %501
  %515 = getelementptr inbounds i8, ptr %0, i64 8
  %516 = load i64, ptr %515, align 8, !tbaa !11
  %517 = getelementptr inbounds i8, ptr %1, i64 8
  %518 = load i8, ptr %517, align 8, !tbaa !11
  %519 = sext i8 %518 to i64
  %520 = icmp eq i64 %516, %519
  br label %1144

521:                                              ; preds = %501
  %522 = getelementptr inbounds i8, ptr %0, i64 8
  %523 = load i64, ptr %522, align 8, !tbaa !11
  %524 = getelementptr inbounds i8, ptr %1, i64 8
  %525 = load i8, ptr %524, align 8, !tbaa !11
  %526 = zext i8 %525 to i64
  %527 = icmp eq i64 %523, %526
  br label %1144

528:                                              ; preds = %501
  %529 = getelementptr inbounds i8, ptr %0, i64 8
  %530 = load i64, ptr %529, align 8, !tbaa !11
  %531 = getelementptr inbounds i8, ptr %1, i64 8
  %532 = load i16, ptr %531, align 8, !tbaa !11
  %533 = zext i16 %532 to i64
  %534 = icmp eq i64 %530, %533
  br label %1144

535:                                              ; preds = %501
  %536 = getelementptr inbounds i8, ptr %0, i64 8
  %537 = load i64, ptr %536, align 8, !tbaa !11
  %538 = getelementptr inbounds i8, ptr %1, i64 8
  %539 = load i32, ptr %538, align 8, !tbaa !11
  %540 = zext i32 %539 to i64
  %541 = icmp eq i64 %537, %540
  br label %1144

542:                                              ; preds = %501
  %543 = getelementptr inbounds i8, ptr %0, i64 8
  %544 = load i64, ptr %543, align 8, !tbaa !11
  %545 = getelementptr inbounds i8, ptr %1, i64 8
  %546 = load i64, ptr %545, align 8, !tbaa !11
  %547 = icmp eq i64 %544, %546
  br label %1144

548:                                              ; preds = %501
  %549 = getelementptr inbounds i8, ptr %0, i64 8
  %550 = load i64, ptr %549, align 8, !tbaa !11
  %551 = getelementptr inbounds i8, ptr %1, i64 8
  %552 = load i8, ptr %551, align 8, !tbaa !11
  %553 = sext i8 %552 to i64
  %554 = icmp eq i64 %550, %553
  br label %1144

555:                                              ; preds = %501
  %556 = getelementptr inbounds i8, ptr %0, i64 8
  %557 = load i64, ptr %556, align 8, !tbaa !11
  %558 = getelementptr inbounds i8, ptr %1, i64 8
  %559 = load i16, ptr %558, align 8, !tbaa !11
  %560 = sext i16 %559 to i64
  %561 = icmp eq i64 %557, %560
  br label %1144

562:                                              ; preds = %501
  %563 = getelementptr inbounds i8, ptr %0, i64 8
  %564 = load i64, ptr %563, align 8, !tbaa !11
  %565 = getelementptr inbounds i8, ptr %1, i64 8
  %566 = load i32, ptr %565, align 8, !tbaa !11
  %567 = sext i32 %566 to i64
  %568 = icmp eq i64 %564, %567
  br label %1144

569:                                              ; preds = %501
  %570 = getelementptr inbounds i8, ptr %0, i64 8
  %571 = load i64, ptr %570, align 8, !tbaa !11
  %572 = getelementptr inbounds i8, ptr %1, i64 8
  %573 = load i64, ptr %572, align 8, !tbaa !11
  %574 = icmp eq i64 %571, %573
  br label %1144

575:                                              ; preds = %501
  %576 = getelementptr inbounds i8, ptr %0, i64 8
  %577 = load i64, ptr %576, align 8, !tbaa !11
  %578 = uitofp i64 %577 to float
  %579 = getelementptr inbounds i8, ptr %1, i64 8
  %580 = load float, ptr %579, align 8, !tbaa !11
  %581 = fcmp oeq float %580, %578
  br label %1144

582:                                              ; preds = %501
  %583 = getelementptr inbounds i8, ptr %0, i64 8
  %584 = load i64, ptr %583, align 8, !tbaa !11
  %585 = uitofp i64 %584 to double
  %586 = getelementptr inbounds i8, ptr %1, i64 8
  %587 = load double, ptr %586, align 8, !tbaa !11
  %588 = fcmp oeq double %587, %585
  br label %1144

589:                                              ; preds = %2
  %590 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %590, label %1144 [
    i16 0, label %591
    i16 1, label %595
    i16 2, label %601
    i16 3, label %607
    i16 4, label %615
    i16 5, label %623
    i16 6, label %630
    i16 7, label %637
    i16 8, label %643
    i16 9, label %650
    i16 10, label %657
    i16 11, label %664
    i16 12, label %671
  ]

591:                                              ; preds = %589
  %592 = getelementptr inbounds i8, ptr %0, i64 8
  %593 = load i8, ptr %592, align 8, !tbaa !11
  %594 = icmp eq i8 %593, 0
  br label %1144

595:                                              ; preds = %589
  %596 = getelementptr inbounds i8, ptr %0, i64 8
  %597 = load i8, ptr %596, align 8, !tbaa !11
  %598 = getelementptr inbounds i8, ptr %1, i64 8
  %599 = load i8, ptr %598, align 8, !tbaa !11, !range !12, !noundef !13
  %600 = icmp eq i8 %597, %599
  br label %1144

601:                                              ; preds = %589
  %602 = getelementptr inbounds i8, ptr %0, i64 8
  %603 = load i8, ptr %602, align 8, !tbaa !11
  %604 = getelementptr inbounds i8, ptr %1, i64 8
  %605 = load i8, ptr %604, align 8, !tbaa !11
  %606 = icmp eq i8 %603, %605
  br label %1144

607:                                              ; preds = %589
  %608 = getelementptr inbounds i8, ptr %0, i64 8
  %609 = load i8, ptr %608, align 8, !tbaa !11
  %610 = sext i8 %609 to i32
  %611 = getelementptr inbounds i8, ptr %1, i64 8
  %612 = load i8, ptr %611, align 8, !tbaa !11
  %613 = zext i8 %612 to i32
  %614 = icmp eq i32 %610, %613
  br label %1144

615:                                              ; preds = %589
  %616 = getelementptr inbounds i8, ptr %0, i64 8
  %617 = load i8, ptr %616, align 8, !tbaa !11
  %618 = sext i8 %617 to i32
  %619 = getelementptr inbounds i8, ptr %1, i64 8
  %620 = load i16, ptr %619, align 8, !tbaa !11
  %621 = zext i16 %620 to i32
  %622 = icmp eq i32 %618, %621
  br label %1144

623:                                              ; preds = %589
  %624 = getelementptr inbounds i8, ptr %0, i64 8
  %625 = load i8, ptr %624, align 8, !tbaa !11
  %626 = sext i8 %625 to i32
  %627 = getelementptr inbounds i8, ptr %1, i64 8
  %628 = load i32, ptr %627, align 8, !tbaa !11
  %629 = icmp eq i32 %628, %626
  br label %1144

630:                                              ; preds = %589
  %631 = getelementptr inbounds i8, ptr %0, i64 8
  %632 = load i8, ptr %631, align 8, !tbaa !11
  %633 = sext i8 %632 to i64
  %634 = getelementptr inbounds i8, ptr %1, i64 8
  %635 = load i64, ptr %634, align 8, !tbaa !11
  %636 = icmp eq i64 %635, %633
  br label %1144

637:                                              ; preds = %589
  %638 = getelementptr inbounds i8, ptr %0, i64 8
  %639 = load i8, ptr %638, align 8, !tbaa !11
  %640 = getelementptr inbounds i8, ptr %1, i64 8
  %641 = load i8, ptr %640, align 8, !tbaa !11
  %642 = icmp eq i8 %639, %641
  br label %1144

643:                                              ; preds = %589
  %644 = getelementptr inbounds i8, ptr %0, i64 8
  %645 = load i8, ptr %644, align 8, !tbaa !11
  %646 = getelementptr inbounds i8, ptr %1, i64 8
  %647 = load i16, ptr %646, align 8, !tbaa !11
  %648 = sext i8 %645 to i16
  %649 = icmp eq i16 %647, %648
  br label %1144

650:                                              ; preds = %589
  %651 = getelementptr inbounds i8, ptr %0, i64 8
  %652 = load i8, ptr %651, align 8, !tbaa !11
  %653 = sext i8 %652 to i32
  %654 = getelementptr inbounds i8, ptr %1, i64 8
  %655 = load i32, ptr %654, align 8, !tbaa !11
  %656 = icmp eq i32 %655, %653
  br label %1144

657:                                              ; preds = %589
  %658 = getelementptr inbounds i8, ptr %0, i64 8
  %659 = load i8, ptr %658, align 8, !tbaa !11
  %660 = sext i8 %659 to i64
  %661 = getelementptr inbounds i8, ptr %1, i64 8
  %662 = load i64, ptr %661, align 8, !tbaa !11
  %663 = icmp eq i64 %662, %660
  br label %1144

664:                                              ; preds = %589
  %665 = getelementptr inbounds i8, ptr %0, i64 8
  %666 = load i8, ptr %665, align 8, !tbaa !11
  %667 = sitofp i8 %666 to float
  %668 = getelementptr inbounds i8, ptr %1, i64 8
  %669 = load float, ptr %668, align 8, !tbaa !11
  %670 = fcmp oeq float %669, %667
  br label %1144

671:                                              ; preds = %589
  %672 = getelementptr inbounds i8, ptr %0, i64 8
  %673 = load i8, ptr %672, align 8, !tbaa !11
  %674 = sitofp i8 %673 to double
  %675 = getelementptr inbounds i8, ptr %1, i64 8
  %676 = load double, ptr %675, align 8, !tbaa !11
  %677 = fcmp oeq double %676, %674
  br label %1144

678:                                              ; preds = %2
  %679 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %679, label %1144 [
    i16 0, label %680
    i16 1, label %684
    i16 2, label %691
    i16 3, label %698
    i16 4, label %706
    i16 5, label %714
    i16 6, label %721
    i16 7, label %728
    i16 8, label %735
    i16 9, label %741
    i16 10, label %748
    i16 11, label %755
    i16 12, label %762
  ]

680:                                              ; preds = %678
  %681 = getelementptr inbounds i8, ptr %0, i64 8
  %682 = load i16, ptr %681, align 8, !tbaa !11
  %683 = icmp eq i16 %682, 0
  br label %1144

684:                                              ; preds = %678
  %685 = getelementptr inbounds i8, ptr %0, i64 8
  %686 = load i16, ptr %685, align 8, !tbaa !11
  %687 = getelementptr inbounds i8, ptr %1, i64 8
  %688 = load i8, ptr %687, align 8, !tbaa !11, !range !12, !noundef !13
  %689 = zext nneg i8 %688 to i16
  %690 = icmp eq i16 %686, %689
  br label %1144

691:                                              ; preds = %678
  %692 = getelementptr inbounds i8, ptr %0, i64 8
  %693 = load i16, ptr %692, align 8, !tbaa !11
  %694 = getelementptr inbounds i8, ptr %1, i64 8
  %695 = load i8, ptr %694, align 8, !tbaa !11
  %696 = sext i8 %695 to i16
  %697 = icmp eq i16 %693, %696
  br label %1144

698:                                              ; preds = %678
  %699 = getelementptr inbounds i8, ptr %0, i64 8
  %700 = load i16, ptr %699, align 8, !tbaa !11
  %701 = sext i16 %700 to i32
  %702 = getelementptr inbounds i8, ptr %1, i64 8
  %703 = load i8, ptr %702, align 8, !tbaa !11
  %704 = zext i8 %703 to i32
  %705 = icmp eq i32 %701, %704
  br label %1144

706:                                              ; preds = %678
  %707 = getelementptr inbounds i8, ptr %0, i64 8
  %708 = load i16, ptr %707, align 8, !tbaa !11
  %709 = sext i16 %708 to i32
  %710 = getelementptr inbounds i8, ptr %1, i64 8
  %711 = load i16, ptr %710, align 8, !tbaa !11
  %712 = zext i16 %711 to i32
  %713 = icmp eq i32 %709, %712
  br label %1144

714:                                              ; preds = %678
  %715 = getelementptr inbounds i8, ptr %0, i64 8
  %716 = load i16, ptr %715, align 8, !tbaa !11
  %717 = sext i16 %716 to i32
  %718 = getelementptr inbounds i8, ptr %1, i64 8
  %719 = load i32, ptr %718, align 8, !tbaa !11
  %720 = icmp eq i32 %719, %717
  br label %1144

721:                                              ; preds = %678
  %722 = getelementptr inbounds i8, ptr %0, i64 8
  %723 = load i16, ptr %722, align 8, !tbaa !11
  %724 = sext i16 %723 to i64
  %725 = getelementptr inbounds i8, ptr %1, i64 8
  %726 = load i64, ptr %725, align 8, !tbaa !11
  %727 = icmp eq i64 %726, %724
  br label %1144

728:                                              ; preds = %678
  %729 = getelementptr inbounds i8, ptr %0, i64 8
  %730 = load i16, ptr %729, align 8, !tbaa !11
  %731 = getelementptr inbounds i8, ptr %1, i64 8
  %732 = load i8, ptr %731, align 8, !tbaa !11
  %733 = sext i8 %732 to i16
  %734 = icmp eq i16 %730, %733
  br label %1144

735:                                              ; preds = %678
  %736 = getelementptr inbounds i8, ptr %0, i64 8
  %737 = load i16, ptr %736, align 8, !tbaa !11
  %738 = getelementptr inbounds i8, ptr %1, i64 8
  %739 = load i16, ptr %738, align 8, !tbaa !11
  %740 = icmp eq i16 %737, %739
  br label %1144

741:                                              ; preds = %678
  %742 = getelementptr inbounds i8, ptr %0, i64 8
  %743 = load i16, ptr %742, align 8, !tbaa !11
  %744 = sext i16 %743 to i32
  %745 = getelementptr inbounds i8, ptr %1, i64 8
  %746 = load i32, ptr %745, align 8, !tbaa !11
  %747 = icmp eq i32 %746, %744
  br label %1144

748:                                              ; preds = %678
  %749 = getelementptr inbounds i8, ptr %0, i64 8
  %750 = load i16, ptr %749, align 8, !tbaa !11
  %751 = sext i16 %750 to i64
  %752 = getelementptr inbounds i8, ptr %1, i64 8
  %753 = load i64, ptr %752, align 8, !tbaa !11
  %754 = icmp eq i64 %753, %751
  br label %1144

755:                                              ; preds = %678
  %756 = getelementptr inbounds i8, ptr %0, i64 8
  %757 = load i16, ptr %756, align 8, !tbaa !11
  %758 = sitofp i16 %757 to float
  %759 = getelementptr inbounds i8, ptr %1, i64 8
  %760 = load float, ptr %759, align 8, !tbaa !11
  %761 = fcmp oeq float %760, %758
  br label %1144

762:                                              ; preds = %678
  %763 = getelementptr inbounds i8, ptr %0, i64 8
  %764 = load i16, ptr %763, align 8, !tbaa !11
  %765 = sitofp i16 %764 to double
  %766 = getelementptr inbounds i8, ptr %1, i64 8
  %767 = load double, ptr %766, align 8, !tbaa !11
  %768 = fcmp oeq double %767, %765
  br label %1144

769:                                              ; preds = %2
  %770 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %770, label %1144 [
    i16 0, label %771
    i16 1, label %775
    i16 2, label %782
    i16 3, label %789
    i16 4, label %796
    i16 5, label %803
    i16 6, label %809
    i16 7, label %816
    i16 8, label %823
    i16 9, label %830
    i16 10, label %836
    i16 11, label %843
    i16 12, label %850
  ]

771:                                              ; preds = %769
  %772 = getelementptr inbounds i8, ptr %0, i64 8
  %773 = load i32, ptr %772, align 8, !tbaa !11
  %774 = icmp eq i32 %773, 0
  br label %1144

775:                                              ; preds = %769
  %776 = getelementptr inbounds i8, ptr %0, i64 8
  %777 = load i32, ptr %776, align 8, !tbaa !11
  %778 = getelementptr inbounds i8, ptr %1, i64 8
  %779 = load i8, ptr %778, align 8, !tbaa !11, !range !12, !noundef !13
  %780 = zext nneg i8 %779 to i32
  %781 = icmp eq i32 %777, %780
  br label %1144

782:                                              ; preds = %769
  %783 = getelementptr inbounds i8, ptr %0, i64 8
  %784 = load i32, ptr %783, align 8, !tbaa !11
  %785 = getelementptr inbounds i8, ptr %1, i64 8
  %786 = load i8, ptr %785, align 8, !tbaa !11
  %787 = sext i8 %786 to i32
  %788 = icmp eq i32 %784, %787
  br label %1144

789:                                              ; preds = %769
  %790 = getelementptr inbounds i8, ptr %0, i64 8
  %791 = load i32, ptr %790, align 8, !tbaa !11
  %792 = getelementptr inbounds i8, ptr %1, i64 8
  %793 = load i8, ptr %792, align 8, !tbaa !11
  %794 = zext i8 %793 to i32
  %795 = icmp eq i32 %791, %794
  br label %1144

796:                                              ; preds = %769
  %797 = getelementptr inbounds i8, ptr %0, i64 8
  %798 = load i32, ptr %797, align 8, !tbaa !11
  %799 = getelementptr inbounds i8, ptr %1, i64 8
  %800 = load i16, ptr %799, align 8, !tbaa !11
  %801 = zext i16 %800 to i32
  %802 = icmp eq i32 %798, %801
  br label %1144

803:                                              ; preds = %769
  %804 = getelementptr inbounds i8, ptr %0, i64 8
  %805 = load i32, ptr %804, align 8, !tbaa !11
  %806 = getelementptr inbounds i8, ptr %1, i64 8
  %807 = load i32, ptr %806, align 8, !tbaa !11
  %808 = icmp eq i32 %805, %807
  br label %1144

809:                                              ; preds = %769
  %810 = getelementptr inbounds i8, ptr %0, i64 8
  %811 = load i32, ptr %810, align 8, !tbaa !11
  %812 = sext i32 %811 to i64
  %813 = getelementptr inbounds i8, ptr %1, i64 8
  %814 = load i64, ptr %813, align 8, !tbaa !11
  %815 = icmp eq i64 %814, %812
  br label %1144

816:                                              ; preds = %769
  %817 = getelementptr inbounds i8, ptr %0, i64 8
  %818 = load i32, ptr %817, align 8, !tbaa !11
  %819 = getelementptr inbounds i8, ptr %1, i64 8
  %820 = load i8, ptr %819, align 8, !tbaa !11
  %821 = sext i8 %820 to i32
  %822 = icmp eq i32 %818, %821
  br label %1144

823:                                              ; preds = %769
  %824 = getelementptr inbounds i8, ptr %0, i64 8
  %825 = load i32, ptr %824, align 8, !tbaa !11
  %826 = getelementptr inbounds i8, ptr %1, i64 8
  %827 = load i16, ptr %826, align 8, !tbaa !11
  %828 = sext i16 %827 to i32
  %829 = icmp eq i32 %825, %828
  br label %1144

830:                                              ; preds = %769
  %831 = getelementptr inbounds i8, ptr %0, i64 8
  %832 = load i32, ptr %831, align 8, !tbaa !11
  %833 = getelementptr inbounds i8, ptr %1, i64 8
  %834 = load i32, ptr %833, align 8, !tbaa !11
  %835 = icmp eq i32 %832, %834
  br label %1144

836:                                              ; preds = %769
  %837 = getelementptr inbounds i8, ptr %0, i64 8
  %838 = load i32, ptr %837, align 8, !tbaa !11
  %839 = sext i32 %838 to i64
  %840 = getelementptr inbounds i8, ptr %1, i64 8
  %841 = load i64, ptr %840, align 8, !tbaa !11
  %842 = icmp eq i64 %841, %839
  br label %1144

843:                                              ; preds = %769
  %844 = getelementptr inbounds i8, ptr %0, i64 8
  %845 = load i32, ptr %844, align 8, !tbaa !11
  %846 = sitofp i32 %845 to float
  %847 = getelementptr inbounds i8, ptr %1, i64 8
  %848 = load float, ptr %847, align 8, !tbaa !11
  %849 = fcmp oeq float %848, %846
  br label %1144

850:                                              ; preds = %769
  %851 = getelementptr inbounds i8, ptr %0, i64 8
  %852 = load i32, ptr %851, align 8, !tbaa !11
  %853 = sitofp i32 %852 to double
  %854 = getelementptr inbounds i8, ptr %1, i64 8
  %855 = load double, ptr %854, align 8, !tbaa !11
  %856 = fcmp oeq double %855, %853
  br label %1144

857:                                              ; preds = %2
  %858 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %858, label %1144 [
    i16 0, label %859
    i16 1, label %863
    i16 2, label %870
    i16 3, label %877
    i16 4, label %884
    i16 5, label %891
    i16 6, label %898
    i16 7, label %904
    i16 8, label %911
    i16 9, label %918
    i16 10, label %925
    i16 11, label %931
    i16 12, label %938
  ]

859:                                              ; preds = %857
  %860 = getelementptr inbounds i8, ptr %0, i64 8
  %861 = load i64, ptr %860, align 8, !tbaa !11
  %862 = icmp eq i64 %861, 0
  br label %1144

863:                                              ; preds = %857
  %864 = getelementptr inbounds i8, ptr %0, i64 8
  %865 = load i64, ptr %864, align 8, !tbaa !11
  %866 = getelementptr inbounds i8, ptr %1, i64 8
  %867 = load i8, ptr %866, align 8, !tbaa !11, !range !12, !noundef !13
  %868 = zext nneg i8 %867 to i64
  %869 = icmp eq i64 %865, %868
  br label %1144

870:                                              ; preds = %857
  %871 = getelementptr inbounds i8, ptr %0, i64 8
  %872 = load i64, ptr %871, align 8, !tbaa !11
  %873 = getelementptr inbounds i8, ptr %1, i64 8
  %874 = load i8, ptr %873, align 8, !tbaa !11
  %875 = sext i8 %874 to i64
  %876 = icmp eq i64 %872, %875
  br label %1144

877:                                              ; preds = %857
  %878 = getelementptr inbounds i8, ptr %0, i64 8
  %879 = load i64, ptr %878, align 8, !tbaa !11
  %880 = getelementptr inbounds i8, ptr %1, i64 8
  %881 = load i8, ptr %880, align 8, !tbaa !11
  %882 = zext i8 %881 to i64
  %883 = icmp eq i64 %879, %882
  br label %1144

884:                                              ; preds = %857
  %885 = getelementptr inbounds i8, ptr %0, i64 8
  %886 = load i64, ptr %885, align 8, !tbaa !11
  %887 = getelementptr inbounds i8, ptr %1, i64 8
  %888 = load i16, ptr %887, align 8, !tbaa !11
  %889 = zext i16 %888 to i64
  %890 = icmp eq i64 %886, %889
  br label %1144

891:                                              ; preds = %857
  %892 = getelementptr inbounds i8, ptr %0, i64 8
  %893 = load i64, ptr %892, align 8, !tbaa !11
  %894 = getelementptr inbounds i8, ptr %1, i64 8
  %895 = load i32, ptr %894, align 8, !tbaa !11
  %896 = zext i32 %895 to i64
  %897 = icmp eq i64 %893, %896
  br label %1144

898:                                              ; preds = %857
  %899 = getelementptr inbounds i8, ptr %0, i64 8
  %900 = load i64, ptr %899, align 8, !tbaa !11
  %901 = getelementptr inbounds i8, ptr %1, i64 8
  %902 = load i64, ptr %901, align 8, !tbaa !11
  %903 = icmp eq i64 %900, %902
  br label %1144

904:                                              ; preds = %857
  %905 = getelementptr inbounds i8, ptr %0, i64 8
  %906 = load i64, ptr %905, align 8, !tbaa !11
  %907 = getelementptr inbounds i8, ptr %1, i64 8
  %908 = load i8, ptr %907, align 8, !tbaa !11
  %909 = sext i8 %908 to i64
  %910 = icmp eq i64 %906, %909
  br label %1144

911:                                              ; preds = %857
  %912 = getelementptr inbounds i8, ptr %0, i64 8
  %913 = load i64, ptr %912, align 8, !tbaa !11
  %914 = getelementptr inbounds i8, ptr %1, i64 8
  %915 = load i16, ptr %914, align 8, !tbaa !11
  %916 = sext i16 %915 to i64
  %917 = icmp eq i64 %913, %916
  br label %1144

918:                                              ; preds = %857
  %919 = getelementptr inbounds i8, ptr %0, i64 8
  %920 = load i64, ptr %919, align 8, !tbaa !11
  %921 = getelementptr inbounds i8, ptr %1, i64 8
  %922 = load i32, ptr %921, align 8, !tbaa !11
  %923 = sext i32 %922 to i64
  %924 = icmp eq i64 %920, %923
  br label %1144

925:                                              ; preds = %857
  %926 = getelementptr inbounds i8, ptr %0, i64 8
  %927 = load i64, ptr %926, align 8, !tbaa !11
  %928 = getelementptr inbounds i8, ptr %1, i64 8
  %929 = load i64, ptr %928, align 8, !tbaa !11
  %930 = icmp eq i64 %927, %929
  br label %1144

931:                                              ; preds = %857
  %932 = getelementptr inbounds i8, ptr %0, i64 8
  %933 = load i64, ptr %932, align 8, !tbaa !11
  %934 = sitofp i64 %933 to float
  %935 = getelementptr inbounds i8, ptr %1, i64 8
  %936 = load float, ptr %935, align 8, !tbaa !11
  %937 = fcmp oeq float %936, %934
  br label %1144

938:                                              ; preds = %857
  %939 = getelementptr inbounds i8, ptr %0, i64 8
  %940 = load i64, ptr %939, align 8, !tbaa !11
  %941 = sitofp i64 %940 to double
  %942 = getelementptr inbounds i8, ptr %1, i64 8
  %943 = load double, ptr %942, align 8, !tbaa !11
  %944 = fcmp oeq double %943, %941
  br label %1144

945:                                              ; preds = %2
  %946 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %946, label %1144 [
    i16 0, label %947
    i16 1, label %951
    i16 2, label %958
    i16 3, label %965
    i16 4, label %972
    i16 5, label %979
    i16 6, label %986
    i16 7, label %993
    i16 8, label %1000
    i16 9, label %1007
    i16 10, label %1014
    i16 11, label %1021
    i16 12, label %1027
  ]

947:                                              ; preds = %945
  %948 = getelementptr inbounds i8, ptr %0, i64 8
  %949 = load float, ptr %948, align 8, !tbaa !11
  %950 = fcmp oeq float %949, 0.000000e+00
  br label %1144

951:                                              ; preds = %945
  %952 = getelementptr inbounds i8, ptr %0, i64 8
  %953 = load float, ptr %952, align 8, !tbaa !11
  %954 = getelementptr inbounds i8, ptr %1, i64 8
  %955 = load i8, ptr %954, align 8, !tbaa !11, !range !12, !noundef !13
  %956 = uitofp nneg i8 %955 to float
  %957 = fcmp oeq float %953, %956
  br label %1144

958:                                              ; preds = %945
  %959 = getelementptr inbounds i8, ptr %0, i64 8
  %960 = load float, ptr %959, align 8, !tbaa !11
  %961 = getelementptr inbounds i8, ptr %1, i64 8
  %962 = load i8, ptr %961, align 8, !tbaa !11
  %963 = sitofp i8 %962 to float
  %964 = fcmp oeq float %960, %963
  br label %1144

965:                                              ; preds = %945
  %966 = getelementptr inbounds i8, ptr %0, i64 8
  %967 = load float, ptr %966, align 8, !tbaa !11
  %968 = getelementptr inbounds i8, ptr %1, i64 8
  %969 = load i8, ptr %968, align 8, !tbaa !11
  %970 = uitofp i8 %969 to float
  %971 = fcmp oeq float %967, %970
  br label %1144

972:                                              ; preds = %945
  %973 = getelementptr inbounds i8, ptr %0, i64 8
  %974 = load float, ptr %973, align 8, !tbaa !11
  %975 = getelementptr inbounds i8, ptr %1, i64 8
  %976 = load i16, ptr %975, align 8, !tbaa !11
  %977 = uitofp i16 %976 to float
  %978 = fcmp oeq float %974, %977
  br label %1144

979:                                              ; preds = %945
  %980 = getelementptr inbounds i8, ptr %0, i64 8
  %981 = load float, ptr %980, align 8, !tbaa !11
  %982 = getelementptr inbounds i8, ptr %1, i64 8
  %983 = load i32, ptr %982, align 8, !tbaa !11
  %984 = uitofp i32 %983 to float
  %985 = fcmp oeq float %981, %984
  br label %1144

986:                                              ; preds = %945
  %987 = getelementptr inbounds i8, ptr %0, i64 8
  %988 = load float, ptr %987, align 8, !tbaa !11
  %989 = getelementptr inbounds i8, ptr %1, i64 8
  %990 = load i64, ptr %989, align 8, !tbaa !11
  %991 = uitofp i64 %990 to float
  %992 = fcmp oeq float %988, %991
  br label %1144

993:                                              ; preds = %945
  %994 = getelementptr inbounds i8, ptr %0, i64 8
  %995 = load float, ptr %994, align 8, !tbaa !11
  %996 = getelementptr inbounds i8, ptr %1, i64 8
  %997 = load i8, ptr %996, align 8, !tbaa !11
  %998 = sitofp i8 %997 to float
  %999 = fcmp oeq float %995, %998
  br label %1144

1000:                                             ; preds = %945
  %1001 = getelementptr inbounds i8, ptr %0, i64 8
  %1002 = load float, ptr %1001, align 8, !tbaa !11
  %1003 = getelementptr inbounds i8, ptr %1, i64 8
  %1004 = load i16, ptr %1003, align 8, !tbaa !11
  %1005 = sitofp i16 %1004 to float
  %1006 = fcmp oeq float %1002, %1005
  br label %1144

1007:                                             ; preds = %945
  %1008 = getelementptr inbounds i8, ptr %0, i64 8
  %1009 = load float, ptr %1008, align 8, !tbaa !11
  %1010 = getelementptr inbounds i8, ptr %1, i64 8
  %1011 = load i32, ptr %1010, align 8, !tbaa !11
  %1012 = sitofp i32 %1011 to float
  %1013 = fcmp oeq float %1009, %1012
  br label %1144

1014:                                             ; preds = %945
  %1015 = getelementptr inbounds i8, ptr %0, i64 8
  %1016 = load float, ptr %1015, align 8, !tbaa !11
  %1017 = getelementptr inbounds i8, ptr %1, i64 8
  %1018 = load i64, ptr %1017, align 8, !tbaa !11
  %1019 = sitofp i64 %1018 to float
  %1020 = fcmp oeq float %1016, %1019
  br label %1144

1021:                                             ; preds = %945
  %1022 = getelementptr inbounds i8, ptr %0, i64 8
  %1023 = load float, ptr %1022, align 8, !tbaa !11
  %1024 = getelementptr inbounds i8, ptr %1, i64 8
  %1025 = load float, ptr %1024, align 8, !tbaa !11
  %1026 = fcmp oeq float %1023, %1025
  br label %1144

1027:                                             ; preds = %945
  %1028 = getelementptr inbounds i8, ptr %0, i64 8
  %1029 = load float, ptr %1028, align 8, !tbaa !11
  %1030 = fpext float %1029 to double
  %1031 = getelementptr inbounds i8, ptr %1, i64 8
  %1032 = load double, ptr %1031, align 8, !tbaa !11
  %1033 = fcmp oeq double %1032, %1030
  br label %1144

1034:                                             ; preds = %2
  %1035 = load i16, ptr %1, align 8, !tbaa !5
  switch i16 %1035, label %1144 [
    i16 0, label %1036
    i16 1, label %1040
    i16 2, label %1047
    i16 3, label %1054
    i16 4, label %1061
    i16 5, label %1068
    i16 6, label %1075
    i16 7, label %1082
    i16 8, label %1089
    i16 9, label %1096
    i16 10, label %1103
    i16 11, label %1110
    i16 12, label %1117
  ]

1036:                                             ; preds = %1034
  %1037 = getelementptr inbounds i8, ptr %0, i64 8
  %1038 = load double, ptr %1037, align 8, !tbaa !11
  %1039 = fcmp oeq double %1038, 0.000000e+00
  br label %1144

1040:                                             ; preds = %1034
  %1041 = getelementptr inbounds i8, ptr %0, i64 8
  %1042 = load double, ptr %1041, align 8, !tbaa !11
  %1043 = getelementptr inbounds i8, ptr %1, i64 8
  %1044 = load i8, ptr %1043, align 8, !tbaa !11, !range !12, !noundef !13
  %1045 = uitofp nneg i8 %1044 to double
  %1046 = fcmp oeq double %1042, %1045
  br label %1144

1047:                                             ; preds = %1034
  %1048 = getelementptr inbounds i8, ptr %0, i64 8
  %1049 = load double, ptr %1048, align 8, !tbaa !11
  %1050 = getelementptr inbounds i8, ptr %1, i64 8
  %1051 = load i8, ptr %1050, align 8, !tbaa !11
  %1052 = sitofp i8 %1051 to double
  %1053 = fcmp oeq double %1049, %1052
  br label %1144

1054:                                             ; preds = %1034
  %1055 = getelementptr inbounds i8, ptr %0, i64 8
  %1056 = load double, ptr %1055, align 8, !tbaa !11
  %1057 = getelementptr inbounds i8, ptr %1, i64 8
  %1058 = load i8, ptr %1057, align 8, !tbaa !11
  %1059 = uitofp i8 %1058 to double
  %1060 = fcmp oeq double %1056, %1059
  br label %1144

1061:                                             ; preds = %1034
  %1062 = getelementptr inbounds i8, ptr %0, i64 8
  %1063 = load double, ptr %1062, align 8, !tbaa !11
  %1064 = getelementptr inbounds i8, ptr %1, i64 8
  %1065 = load i16, ptr %1064, align 8, !tbaa !11
  %1066 = uitofp i16 %1065 to double
  %1067 = fcmp oeq double %1063, %1066
  br label %1144

1068:                                             ; preds = %1034
  %1069 = getelementptr inbounds i8, ptr %0, i64 8
  %1070 = load double, ptr %1069, align 8, !tbaa !11
  %1071 = getelementptr inbounds i8, ptr %1, i64 8
  %1072 = load i32, ptr %1071, align 8, !tbaa !11
  %1073 = uitofp i32 %1072 to double
  %1074 = fcmp oeq double %1070, %1073
  br label %1144

1075:                                             ; preds = %1034
  %1076 = getelementptr inbounds i8, ptr %0, i64 8
  %1077 = load double, ptr %1076, align 8, !tbaa !11
  %1078 = getelementptr inbounds i8, ptr %1, i64 8
  %1079 = load i64, ptr %1078, align 8, !tbaa !11
  %1080 = uitofp i64 %1079 to double
  %1081 = fcmp oeq double %1077, %1080
  br label %1144

1082:                                             ; preds = %1034
  %1083 = getelementptr inbounds i8, ptr %0, i64 8
  %1084 = load double, ptr %1083, align 8, !tbaa !11
  %1085 = getelementptr inbounds i8, ptr %1, i64 8
  %1086 = load i8, ptr %1085, align 8, !tbaa !11
  %1087 = sitofp i8 %1086 to double
  %1088 = fcmp oeq double %1084, %1087
  br label %1144

1089:                                             ; preds = %1034
  %1090 = getelementptr inbounds i8, ptr %0, i64 8
  %1091 = load double, ptr %1090, align 8, !tbaa !11
  %1092 = getelementptr inbounds i8, ptr %1, i64 8
  %1093 = load i16, ptr %1092, align 8, !tbaa !11
  %1094 = sitofp i16 %1093 to double
  %1095 = fcmp oeq double %1091, %1094
  br label %1144

1096:                                             ; preds = %1034
  %1097 = getelementptr inbounds i8, ptr %0, i64 8
  %1098 = load double, ptr %1097, align 8, !tbaa !11
  %1099 = getelementptr inbounds i8, ptr %1, i64 8
  %1100 = load i32, ptr %1099, align 8, !tbaa !11
  %1101 = sitofp i32 %1100 to double
  %1102 = fcmp oeq double %1098, %1101
  br label %1144

1103:                                             ; preds = %1034
  %1104 = getelementptr inbounds i8, ptr %0, i64 8
  %1105 = load double, ptr %1104, align 8, !tbaa !11
  %1106 = getelementptr inbounds i8, ptr %1, i64 8
  %1107 = load i64, ptr %1106, align 8, !tbaa !11
  %1108 = sitofp i64 %1107 to double
  %1109 = fcmp oeq double %1105, %1108
  br label %1144

1110:                                             ; preds = %1034
  %1111 = getelementptr inbounds i8, ptr %0, i64 8
  %1112 = load double, ptr %1111, align 8, !tbaa !11
  %1113 = getelementptr inbounds i8, ptr %1, i64 8
  %1114 = load float, ptr %1113, align 8, !tbaa !11
  %1115 = fpext float %1114 to double
  %1116 = fcmp oeq double %1112, %1115
  br label %1144

1117:                                             ; preds = %1034
  %1118 = getelementptr inbounds i8, ptr %0, i64 8
  %1119 = load double, ptr %1118, align 8, !tbaa !11
  %1120 = getelementptr inbounds i8, ptr %1, i64 8
  %1121 = load double, ptr %1120, align 8, !tbaa !11
  %1122 = fcmp oeq double %1119, %1121
  br label %1144

1123:                                             ; preds = %2
  %1124 = icmp ult i16 %3, 28
  br i1 %1124, label %1126, label %1125

1125:                                             ; preds = %1123
  tail call void @__assert_fail(ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.29, i32 noundef 182, ptr noundef nonnull @__PRETTY_FUNCTION__.any_equal) #4
  unreachable

1126:                                             ; preds = %1123
  %1127 = load i16, ptr %1, align 8, !tbaa !5
  %1128 = icmp eq i16 %3, %1127
  br i1 %1128, label %1129, label %1144

1129:                                             ; preds = %1126
  %1130 = getelementptr inbounds i8, ptr %0, i64 4
  %1131 = load i32, ptr %1130, align 4, !tbaa !14
  %1132 = getelementptr inbounds i8, ptr %1, i64 4
  %1133 = load i32, ptr %1132, align 4, !tbaa !14
  %1134 = icmp eq i32 %1131, %1133
  br i1 %1134, label %1135, label %1144

1135:                                             ; preds = %1129
  %1136 = getelementptr inbounds i8, ptr %0, i64 8
  %1137 = load ptr, ptr %1136, align 8, !tbaa !11
  %1138 = icmp eq ptr %1137, null
  %1139 = getelementptr inbounds i8, ptr %1, i64 8
  %1140 = load ptr, ptr %1139, align 8, !tbaa !11
  %1141 = icmp eq ptr %1140, null
  %brmerge = select i1 %1138, i1 true, i1 %1141
  %.mux = select i1 %1138, i1 %1141, i1 false
  br i1 %brmerge, label %1144, label %1142

1142:                                             ; preds = %1135
  %1143 = tail call i64 @any_size(ptr noundef nonnull %0)
  %bcmp = tail call i32 @bcmp(ptr nonnull %1137, ptr nonnull %1140, i64 %1143)
  %.not = icmp eq i32 %bcmp, 0
  br label %1144

1144:                                             ; preds = %1135, %1126, %1129, %1034, %945, %857, %769, %678, %589, %501, %413, %321, %230, %141, %55, %4, %1142, %1117, %1110, %1103, %1096, %1089, %1082, %1075, %1068, %1061, %1054, %1047, %1040, %1036, %1027, %1021, %1014, %1007, %1000, %993, %986, %979, %972, %965, %958, %951, %947, %938, %931, %925, %918, %911, %904, %898, %891, %884, %877, %870, %863, %859, %850, %843, %836, %830, %823, %816, %809, %803, %796, %789, %782, %775, %771, %762, %755, %748, %741, %735, %728, %721, %714, %706, %698, %691, %684, %680, %671, %664, %657, %650, %643, %637, %630, %623, %615, %607, %601, %595, %591, %582, %575, %569, %562, %555, %548, %542, %535, %528, %521, %514, %507, %503, %494, %487, %480, %474, %467, %460, %453, %447, %440, %433, %426, %419, %415, %406, %399, %392, %385, %377, %369, %362, %355, %349, %342, %334, %327, %323, %314, %307, %300, %293, %285, %277, %270, %263, %256, %250, %242, %236, %232, %223, %216, %209, %202, %195, %189, %182, %175, %167, %159, %153, %147, %143, %134, %127, %120, %113, %106, %100, %93, %86, %79, %73, %67, %61, %57, %54, %50, %46, %42, %38, %34, %30, %26, %22, %18, %14, %10, %6
  %.0 = phi i1 [ %.not, %1142 ], [ %1122, %1117 ], [ %1116, %1110 ], [ %1109, %1103 ], [ %1102, %1096 ], [ %1095, %1089 ], [ %1088, %1082 ], [ %1081, %1075 ], [ %1074, %1068 ], [ %1067, %1061 ], [ %1060, %1054 ], [ %1053, %1047 ], [ %1046, %1040 ], [ %1039, %1036 ], [ %1033, %1027 ], [ %1026, %1021 ], [ %1020, %1014 ], [ %1013, %1007 ], [ %1006, %1000 ], [ %999, %993 ], [ %992, %986 ], [ %985, %979 ], [ %978, %972 ], [ %971, %965 ], [ %964, %958 ], [ %957, %951 ], [ %950, %947 ], [ %944, %938 ], [ %937, %931 ], [ %930, %925 ], [ %924, %918 ], [ %917, %911 ], [ %910, %904 ], [ %903, %898 ], [ %897, %891 ], [ %890, %884 ], [ %883, %877 ], [ %876, %870 ], [ %869, %863 ], [ %862, %859 ], [ %856, %850 ], [ %849, %843 ], [ %842, %836 ], [ %835, %830 ], [ %829, %823 ], [ %822, %816 ], [ %815, %809 ], [ %808, %803 ], [ %802, %796 ], [ %795, %789 ], [ %788, %782 ], [ %781, %775 ], [ %774, %771 ], [ %768, %762 ], [ %761, %755 ], [ %754, %748 ], [ %747, %741 ], [ %740, %735 ], [ %734, %728 ], [ %727, %721 ], [ %720, %714 ], [ %713, %706 ], [ %705, %698 ], [ %697, %691 ], [ %690, %684 ], [ %683, %680 ], [ %677, %671 ], [ %670, %664 ], [ %663, %657 ], [ %656, %650 ], [ %649, %643 ], [ %642, %637 ], [ %636, %630 ], [ %629, %623 ], [ %622, %615 ], [ %614, %607 ], [ %606, %601 ], [ %600, %595 ], [ %594, %591 ], [ %588, %582 ], [ %581, %575 ], [ %574, %569 ], [ %568, %562 ], [ %561, %555 ], [ %554, %548 ], [ %547, %542 ], [ %541, %535 ], [ %534, %528 ], [ %527, %521 ], [ %520, %514 ], [ %513, %507 ], [ %506, %503 ], [ %500, %494 ], [ %493, %487 ], [ %486, %480 ], [ %479, %474 ], [ %473, %467 ], [ %466, %460 ], [ %459, %453 ], [ %452, %447 ], [ %446, %440 ], [ %439, %433 ], [ %432, %426 ], [ %425, %419 ], [ %418, %415 ], [ %412, %406 ], [ %405, %399 ], [ %398, %392 ], [ %391, %385 ], [ %384, %377 ], [ %376, %369 ], [ %368, %362 ], [ %361, %355 ], [ %354, %349 ], [ %348, %342 ], [ %341, %334 ], [ %333, %327 ], [ %326, %323 ], [ %320, %314 ], [ %313, %307 ], [ %306, %300 ], [ %299, %293 ], [ %292, %285 ], [ %284, %277 ], [ %276, %270 ], [ %269, %263 ], [ %262, %256 ], [ %255, %250 ], [ %249, %242 ], [ %241, %236 ], [ %235, %232 ], [ %229, %223 ], [ %222, %216 ], [ %215, %209 ], [ %208, %202 ], [ %201, %195 ], [ %194, %189 ], [ %188, %182 ], [ %181, %175 ], [ %174, %167 ], [ %166, %159 ], [ %158, %153 ], [ %152, %147 ], [ %146, %143 ], [ %140, %134 ], [ %133, %127 ], [ %126, %120 ], [ %119, %113 ], [ %112, %106 ], [ %105, %100 ], [ %99, %93 ], [ %92, %86 ], [ %85, %79 ], [ %78, %73 ], [ %72, %67 ], [ %66, %61 ], [ %60, %57 ], [ false, %54 ], [ %53, %50 ], [ %49, %46 ], [ %45, %42 ], [ %41, %38 ], [ %37, %34 ], [ %33, %30 ], [ %29, %26 ], [ %25, %22 ], [ %21, %18 ], [ %17, %14 ], [ %13, %10 ], [ %9, %6 ], [ true, %4 ], [ false, %55 ], [ false, %141 ], [ false, %230 ], [ false, %321 ], [ false, %413 ], [ false, %501 ], [ false, %589 ], [ false, %678 ], [ false, %769 ], [ false, %857 ], [ false, %945 ], [ false, %1034 ], [ false, %1129 ], [ false, %1126 ], [ %.mux, %1135 ]
  ret i1 %.0
}

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @any_size(ptr noundef) local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #3

attributes #0 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nofree nounwind willreturn memory(argmem: read) }
attributes #4 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"Any", !7, i64 0, !7, i64 2, !10, i64 4, !8, i64 8}
!7 = !{!"short", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!8, !8, i64 0}
!12 = !{i8 0, i8 2}
!13 = !{}
!14 = !{!6, !10, i64 4}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass