; LLVM IR from seppo0010/rlite :: tests (type_zset-test)

; 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.greatest_run_info = type { i32, i32, i32, i32, i32, i32, %struct.greatest_suite_info, ptr, i32, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, ptr, i64, i64, [1 x %struct.__jmp_buf_tag] }
%struct.greatest_suite_info = type { i32, i32, i32, i32, i64, i64, i64, i64 }
%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.__sigset_t }
%struct.__sigset_t = type { [16 x i64] }

@__const.type_zset_test.sadd_zinterunionstore_tests = external hidden unnamed_addr constant [4 x [5 x i64]], align 16
@__const.type_zset_test.zinterunionstore_tests = external hidden unnamed_addr constant [7 x [5 x i64]], align 16
@.str = external hidden unnamed_addr constant [23 x i8], align 1
@greatest_info = external global %struct.greatest_run_info, align 8
@stdout = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [22 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @type_zset_test() #0 {
  %1 = alloca [4 x [5 x i64]], align 16
  %2 = alloca [7 x [5 x i64]], align 16
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 160, ptr %1) #6
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %1, ptr align 16 @__const.type_zset_test.sadd_zinterunionstore_tests, i64 160, i1 false)
  call void @llvm.lifetime.start.p0(i64 280, ptr %2) #6
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %2, ptr align 16 @__const.type_zset_test.zinterunionstore_tests, i64 280, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #6
  store i32 0, ptr %3, align 4, !tbaa !5
  br label %25

25:                                               ; preds = %398, %0
  %26 = load i32, ptr %3, align 4, !tbaa !5
  %27 = icmp slt i32 %26, 3
  br i1 %27, label %28, label %401

28:                                               ; preds = %25
  br label %29

29:                                               ; preds = %28
  %30 = call i32 @greatest_pre_test(ptr noundef @.str)
  %31 = icmp eq i32 %30, 1
  br i1 %31, label %32, label %36

32:                                               ; preds = %29
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #6
  %33 = load i32, ptr %3, align 4, !tbaa !5
  %34 = call i32 @basic_test_zadd_zscore(i32 noundef %33)
  store i32 %34, ptr %5, align 4, !tbaa !5
  %35 = load i32, ptr %5, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str, i32 noundef %35)
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #6
  br label %44

36:                                               ; preds = %29
  %37 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %38 = and i32 %37, 4
  %39 = icmp ne i32 %38, 0
  br i1 %39, label %40, label %43

40:                                               ; preds = %36
  %41 = load ptr, ptr @stdout, align 8, !tbaa !14
  %42 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %41, ptr noundef @.str.1, ptr noundef @.str) #6
  br label %43

43:                                               ; preds = %40, %36
  br label %44

44:                                               ; preds = %43, %32
  br label %45

45:                                               ; preds = %44
  br label %46

46:                                               ; preds = %45
  br label %47

47:                                               ; preds = %46
  %48 = call i32 @greatest_pre_test(ptr noundef @.str.2)
  %49 = icmp eq i32 %48, 1
  br i1 %49, label %50, label %54

50:                                               ; preds = %47
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #6
  %51 = load i32, ptr %3, align 4, !tbaa !5
  %52 = call i32 @basic_test_zadd_zscore2(i32 noundef %51)
  store i32 %52, ptr %6, align 4, !tbaa !5
  %53 = load i32, ptr %6, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.2, i32 noundef %53)
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #6
  br label %62

54:                                               ; preds = %47
  %55 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %56 = and i32 %55, 4
  %57 = icmp ne i32 %56, 0
  br i1 %57, label %58, label %61

58:                                               ; preds = %54
  %59 = load ptr, ptr @stdout, align 8, !tbaa !14
  %60 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %59, ptr noundef @.str.1, ptr noundef @.str.2) #6
  br label %61

61:                                               ; preds = %58, %54
  br label %62

62:                                               ; preds = %61, %50
  br label %63

63:                                               ; preds = %62
  br label %64

64:                                               ; preds = %63
  br label %65

65:                                               ; preds = %64
  %66 = call i32 @greatest_pre_test(ptr noundef @.str.3)
  %67 = icmp eq i32 %66, 1
  br i1 %67, label %68, label %72

68:                                               ; preds = %65
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #6
  %69 = load i32, ptr %3, align 4, !tbaa !5
  %70 = call i32 @basic_test_zadd_zrank(i32 noundef %69)
  store i32 %70, ptr %7, align 4, !tbaa !5
  %71 = load i32, ptr %7, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.3, i32 noundef %71)
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  br label %80

72:                                               ; preds = %65
  %73 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %74 = and i32 %73, 4
  %75 = icmp ne i32 %74, 0
  br i1 %75, label %76, label %79

76:                                               ; preds = %72
  %77 = load ptr, ptr @stdout, align 8, !tbaa !14
  %78 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %77, ptr noundef @.str.1, ptr noundef @.str.3) #6
  br label %79

79:                                               ; preds = %76, %72
  br label %80

80:                                               ; preds = %79, %68
  br label %81

81:                                               ; preds = %80
  br label %82

82:                                               ; preds = %81
  br label %83

83:                                               ; preds = %82
  %84 = call i32 @greatest_pre_test(ptr noundef @.str.4)
  %85 = icmp eq i32 %84, 1
  br i1 %85, label %86, label %90

86:                                               ; preds = %83
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #6
  %87 = load i32, ptr %3, align 4, !tbaa !5
  %88 = call i32 @basic_test_zadd_zrem(i32 noundef %87)
  store i32 %88, ptr %8, align 4, !tbaa !5
  %89 = load i32, ptr %8, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.4, i32 noundef %89)
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  br label %98

90:                                               ; preds = %83
  %91 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %92 = and i32 %91, 4
  %93 = icmp ne i32 %92, 0
  br i1 %93, label %94, label %97

94:                                               ; preds = %90
  %95 = load ptr, ptr @stdout, align 8, !tbaa !14
  %96 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %95, ptr noundef @.str.1, ptr noundef @.str.4) #6
  br label %97

97:                                               ; preds = %94, %90
  br label %98

98:                                               ; preds = %97, %86
  br label %99

99:                                               ; preds = %98
  br label %100

100:                                              ; preds = %99
  br label %101

101:                                              ; preds = %100
  %102 = call i32 @greatest_pre_test(ptr noundef @.str.5)
  %103 = icmp eq i32 %102, 1
  br i1 %103, label %104, label %108

104:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  %105 = load i32, ptr %3, align 4, !tbaa !5
  %106 = call i32 @basic_test_zadd_zcount(i32 noundef %105)
  store i32 %106, ptr %9, align 4, !tbaa !5
  %107 = load i32, ptr %9, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.5, i32 noundef %107)
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  br label %116

108:                                              ; preds = %101
  %109 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %110 = and i32 %109, 4
  %111 = icmp ne i32 %110, 0
  br i1 %111, label %112, label %115

112:                                              ; preds = %108
  %113 = load ptr, ptr @stdout, align 8, !tbaa !14
  %114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %113, ptr noundef @.str.1, ptr noundef @.str.5) #6
  br label %115

115:                                              ; preds = %112, %108
  br label %116

116:                                              ; preds = %115, %104
  br label %117

117:                                              ; preds = %116
  br label %118

118:                                              ; preds = %117
  br label %119

119:                                              ; preds = %118
  %120 = call i32 @greatest_pre_test(ptr noundef @.str.6)
  %121 = icmp eq i32 %120, 1
  br i1 %121, label %122, label %126

122:                                              ; preds = %119
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  %123 = load i32, ptr %3, align 4, !tbaa !5
  %124 = call i32 @basic_test_zadd_zincrby(i32 noundef %123)
  store i32 %124, ptr %10, align 4, !tbaa !5
  %125 = load i32, ptr %10, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.6, i32 noundef %125)
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  br label %134

126:                                              ; preds = %119
  %127 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %128 = and i32 %127, 4
  %129 = icmp ne i32 %128, 0
  br i1 %129, label %130, label %133

130:                                              ; preds = %126
  %131 = load ptr, ptr @stdout, align 8, !tbaa !14
  %132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %131, ptr noundef @.str.1, ptr noundef @.str.6) #6
  br label %133

133:                                              ; preds = %130, %126
  br label %134

134:                                              ; preds = %133, %122
  br label %135

135:                                              ; preds = %134
  br label %136

136:                                              ; preds = %135
  br label %137

137:                                              ; preds = %136
  %138 = call i32 @greatest_pre_test(ptr noundef @.str.7)
  %139 = icmp eq i32 %138, 1
  br i1 %139, label %140, label %144

140:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  %141 = load i32, ptr %3, align 4, !tbaa !5
  %142 = call i32 @basic_test_zadd_zrangebylex(i32 noundef %141)
  store i32 %142, ptr %11, align 4, !tbaa !5
  %143 = load i32, ptr %11, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.7, i32 noundef %143)
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  br label %152

144:                                              ; preds = %137
  %145 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %146 = and i32 %145, 4
  %147 = icmp ne i32 %146, 0
  br i1 %147, label %148, label %151

148:                                              ; preds = %144
  %149 = load ptr, ptr @stdout, align 8, !tbaa !14
  %150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %149, ptr noundef @.str.1, ptr noundef @.str.7) #6
  br label %151

151:                                              ; preds = %148, %144
  br label %152

152:                                              ; preds = %151, %140
  br label %153

153:                                              ; preds = %152
  br label %154

154:                                              ; preds = %153
  br label %155

155:                                              ; preds = %154
  %156 = call i32 @greatest_pre_test(ptr noundef @.str.8)
  %157 = icmp eq i32 %156, 1
  br i1 %157, label %158, label %162

158:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  %159 = load i32, ptr %3, align 4, !tbaa !5
  %160 = call i32 @basic_test_zadd_zrangebylex_with_empty(i32 noundef %159)
  store i32 %160, ptr %12, align 4, !tbaa !5
  %161 = load i32, ptr %12, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.8, i32 noundef %161)
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  br label %170

162:                                              ; preds = %155
  %163 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %164 = and i32 %163, 4
  %165 = icmp ne i32 %164, 0
  br i1 %165, label %166, label %169

166:                                              ; preds = %162
  %167 = load ptr, ptr @stdout, align 8, !tbaa !14
  %168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %167, ptr noundef @.str.1, ptr noundef @.str.8) #6
  br label %169

169:                                              ; preds = %166, %162
  br label %170

170:                                              ; preds = %169, %158
  br label %171

171:                                              ; preds = %170
  br label %172

172:                                              ; preds = %171
  br label %173

173:                                              ; preds = %172
  %174 = call i32 @greatest_pre_test(ptr noundef @.str.9)
  %175 = icmp eq i32 %174, 1
  br i1 %175, label %176, label %180

176:                                              ; preds = %173
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  %177 = load i32, ptr %3, align 4, !tbaa !5
  %178 = call i32 @basic_test_zadd_zrangebyscore(i32 noundef %177)
  store i32 %178, ptr %13, align 4, !tbaa !5
  %179 = load i32, ptr %13, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.9, i32 noundef %179)
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  br label %188

180:                                              ; preds = %173
  %181 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %182 = and i32 %181, 4
  %183 = icmp ne i32 %182, 0
  br i1 %183, label %184, label %187

184:                                              ; preds = %180
  %185 = load ptr, ptr @stdout, align 8, !tbaa !14
  %186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %185, ptr noundef @.str.1, ptr noundef @.str.9) #6
  br label %187

187:                                              ; preds = %184, %180
  br label %188

188:                                              ; preds = %187, %176
  br label %189

189:                                              ; preds = %188
  br label %190

190:                                              ; preds = %189
  br label %191

191:                                              ; preds = %190
  %192 = call i32 @greatest_pre_test(ptr noundef @.str.10)
  %193 = icmp eq i32 %192, 1
  br i1 %193, label %194, label %198

194:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  %195 = load i32, ptr %3, align 4, !tbaa !5
  %196 = call i32 @basic_test_zadd_zremrangebyrank(i32 noundef %195)
  store i32 %196, ptr %14, align 4, !tbaa !5
  %197 = load i32, ptr %14, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.10, i32 noundef %197)
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  br label %206

198:                                              ; preds = %191
  %199 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %200 = and i32 %199, 4
  %201 = icmp ne i32 %200, 0
  br i1 %201, label %202, label %205

202:                                              ; preds = %198
  %203 = load ptr, ptr @stdout, align 8, !tbaa !14
  %204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %203, ptr noundef @.str.1, ptr noundef @.str.10) #6
  br label %205

205:                                              ; preds = %202, %198
  br label %206

206:                                              ; preds = %205, %194
  br label %207

207:                                              ; preds = %206
  br label %208

208:                                              ; preds = %207
  br label %209

209:                                              ; preds = %208
  %210 = call i32 @greatest_pre_test(ptr noundef @.str.11)
  %211 = icmp eq i32 %210, 1
  br i1 %211, label %212, label %216

212:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  %213 = load i32, ptr %3, align 4, !tbaa !5
  %214 = call i32 @basic_test_zadd_zremrangebyscore(i32 noundef %213)
  store i32 %214, ptr %15, align 4, !tbaa !5
  %215 = load i32, ptr %15, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.11, i32 noundef %215)
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %224

216:                                              ; preds = %209
  %217 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %218 = and i32 %217, 4
  %219 = icmp ne i32 %218, 0
  br i1 %219, label %220, label %223

220:                                              ; preds = %216
  %221 = load ptr, ptr @stdout, align 8, !tbaa !14
  %222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %221, ptr noundef @.str.1, ptr noundef @.str.11) #6
  br label %223

223:                                              ; preds = %220, %216
  br label %224

224:                                              ; preds = %223, %212
  br label %225

225:                                              ; preds = %224
  br label %226

226:                                              ; preds = %225
  br label %227

227:                                              ; preds = %226
  %228 = call i32 @greatest_pre_test(ptr noundef @.str.12)
  %229 = icmp eq i32 %228, 1
  br i1 %229, label %230, label %234

230:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  %231 = load i32, ptr %3, align 4, !tbaa !5
  %232 = call i32 @basic_test_zadd_zremrangebylex(i32 noundef %231)
  store i32 %232, ptr %16, align 4, !tbaa !5
  %233 = load i32, ptr %16, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.12, i32 noundef %233)
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  br label %242

234:                                              ; preds = %227
  %235 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %236 = and i32 %235, 4
  %237 = icmp ne i32 %236, 0
  br i1 %237, label %238, label %241

238:                                              ; preds = %234
  %239 = load ptr, ptr @stdout, align 8, !tbaa !14
  %240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %239, ptr noundef @.str.1, ptr noundef @.str.12) #6
  br label %241

241:                                              ; preds = %238, %234
  br label %242

242:                                              ; preds = %241, %230
  br label %243

243:                                              ; preds = %242
  br label %244

244:                                              ; preds = %243
  br label %245

245:                                              ; preds = %244
  %246 = call i32 @greatest_pre_test(ptr noundef @.str.13)
  %247 = icmp eq i32 %246, 1
  br i1 %247, label %248, label %252

248:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  %249 = load i32, ptr %3, align 4, !tbaa !5
  %250 = call i32 @basic_test_zadd_dupe(i32 noundef %249)
  store i32 %250, ptr %17, align 4, !tbaa !5
  %251 = load i32, ptr %17, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.13, i32 noundef %251)
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  br label %260

252:                                              ; preds = %245
  %253 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %254 = and i32 %253, 4
  %255 = icmp ne i32 %254, 0
  br i1 %255, label %256, label %259

256:                                              ; preds = %252
  %257 = load ptr, ptr @stdout, align 8, !tbaa !14
  %258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %257, ptr noundef @.str.1, ptr noundef @.str.13) #6
  br label %259

259:                                              ; preds = %256, %252
  br label %260

260:                                              ; preds = %259, %248
  br label %261

261:                                              ; preds = %260
  br label %262

262:                                              ; preds = %261
  br label %263

263:                                              ; preds = %262
  %264 = call i32 @greatest_pre_test(ptr noundef @.str.14)
  %265 = icmp eq i32 %264, 1
  br i1 %265, label %266, label %270

266:                                              ; preds = %263
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  %267 = load i32, ptr %3, align 4, !tbaa !5
  %268 = call i32 @basic_test_zincrnan(i32 noundef %267)
  store i32 %268, ptr %18, align 4, !tbaa !5
  %269 = load i32, ptr %18, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.14, i32 noundef %269)
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  br label %278

270:                                              ; preds = %263
  %271 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %272 = and i32 %271, 4
  %273 = icmp ne i32 %272, 0
  br i1 %273, label %274, label %277

274:                                              ; preds = %270
  %275 = load ptr, ptr @stdout, align 8, !tbaa !14
  %276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %275, ptr noundef @.str.1, ptr noundef @.str.14) #6
  br label %277

277:                                              ; preds = %274, %270
  br label %278

278:                                              ; preds = %277, %266
  br label %279

279:                                              ; preds = %278
  br label %280

280:                                              ; preds = %279
  br label %281

281:                                              ; preds = %280
  %282 = call i32 @greatest_pre_test(ptr noundef @.str.15)
  %283 = icmp eq i32 %282, 1
  br i1 %283, label %284, label %288

284:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  %285 = load i32, ptr %3, align 4, !tbaa !5
  %286 = call i32 @regression_zrangebyscore(i32 noundef %285)
  store i32 %286, ptr %19, align 4, !tbaa !5
  %287 = load i32, ptr %19, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.15, i32 noundef %287)
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  br label %296

288:                                              ; preds = %281
  %289 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %290 = and i32 %289, 4
  %291 = icmp ne i32 %290, 0
  br i1 %291, label %292, label %295

292:                                              ; preds = %288
  %293 = load ptr, ptr @stdout, align 8, !tbaa !14
  %294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %293, ptr noundef @.str.1, ptr noundef @.str.15) #6
  br label %295

295:                                              ; preds = %292, %288
  br label %296

296:                                              ; preds = %295, %284
  br label %297

297:                                              ; preds = %296
  br label %298

298:                                              ; preds = %297
  store i32 0, ptr %4, align 4, !tbaa !5
  br label %299

299:                                              ; preds = %347, %298
  %300 = load i32, ptr %4, align 4, !tbaa !5
  %301 = icmp slt i32 %300, 7
  br i1 %301, label %302, label %350

302:                                              ; preds = %299
  br label %303

303:                                              ; preds = %302
  %304 = call i32 @greatest_pre_test(ptr noundef @.str.16)
  %305 = icmp eq i32 %304, 1
  br i1 %305, label %306, label %314

306:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  %307 = load i32, ptr %3, align 4, !tbaa !5
  %308 = load i32, ptr %4, align 4, !tbaa !5
  %309 = sext i32 %308 to i64
  %310 = getelementptr inbounds [7 x [5 x i64]], ptr %2, i64 0, i64 %309
  %311 = getelementptr inbounds [5 x i64], ptr %310, i64 0, i64 0
  %312 = call i32 @basic_test_zadd_zinterstore(i32 noundef %307, ptr noundef %311)
  store i32 %312, ptr %20, align 4, !tbaa !5
  %313 = load i32, ptr %20, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.16, i32 noundef %313)
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  br label %322

314:                                              ; preds = %303
  %315 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %316 = and i32 %315, 4
  %317 = icmp ne i32 %316, 0
  br i1 %317, label %318, label %321

318:                                              ; preds = %314
  %319 = load ptr, ptr @stdout, align 8, !tbaa !14
  %320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %319, ptr noundef @.str.1, ptr noundef @.str.16) #6
  br label %321

321:                                              ; preds = %318, %314
  br label %322

322:                                              ; preds = %321, %306
  br label %323

323:                                              ; preds = %322
  br label %324

324:                                              ; preds = %323
  br label %325

325:                                              ; preds = %324
  %326 = call i32 @greatest_pre_test(ptr noundef @.str.17)
  %327 = icmp eq i32 %326, 1
  br i1 %327, label %328, label %336

328:                                              ; preds = %325
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  %329 = load i32, ptr %3, align 4, !tbaa !5
  %330 = load i32, ptr %4, align 4, !tbaa !5
  %331 = sext i32 %330 to i64
  %332 = getelementptr inbounds [7 x [5 x i64]], ptr %2, i64 0, i64 %331
  %333 = getelementptr inbounds [5 x i64], ptr %332, i64 0, i64 0
  %334 = call i32 @basic_test_zadd_zunionstore(i32 noundef %329, ptr noundef %333)
  store i32 %334, ptr %21, align 4, !tbaa !5
  %335 = load i32, ptr %21, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.17, i32 noundef %335)
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  br label %344

336:                                              ; preds = %325
  %337 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %338 = and i32 %337, 4
  %339 = icmp ne i32 %338, 0
  br i1 %339, label %340, label %343

340:                                              ; preds = %336
  %341 = load ptr, ptr @stdout, align 8, !tbaa !14
  %342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %341, ptr noundef @.str.1, ptr noundef @.str.17) #6
  br label %343

343:                                              ; preds = %340, %336
  br label %344

344:                                              ; preds = %343, %328
  br label %345

345:                                              ; preds = %344
  br label %346

346:                                              ; preds = %345
  br label %347

347:                                              ; preds = %346
  %348 = load i32, ptr %4, align 4, !tbaa !5
  %349 = add nsw i32 %348, 1
  store i32 %349, ptr %4, align 4, !tbaa !5
  br label %299, !llvm.loop !15

350:                                              ; preds = %299
  store i32 0, ptr %4, align 4, !tbaa !5
  br label %351

351:                                              ; preds = %377, %350
  %352 = load i32, ptr %4, align 4, !tbaa !5
  %353 = icmp slt i32 %352, 4
  br i1 %353, label %354, label %380

354:                                              ; preds = %351
  br label %355

355:                                              ; preds = %354
  %356 = call i32 @greatest_pre_test(ptr noundef @.str.18)
  %357 = icmp eq i32 %356, 1
  br i1 %357, label %358, label %366

358:                                              ; preds = %355
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  %359 = load i32, ptr %3, align 4, !tbaa !5
  %360 = load i32, ptr %4, align 4, !tbaa !5
  %361 = sext i32 %360 to i64
  %362 = getelementptr inbounds [4 x [5 x i64]], ptr %1, i64 0, i64 %361
  %363 = getelementptr inbounds [5 x i64], ptr %362, i64 0, i64 0
  %364 = call i32 @basic_test_sadd_zinterstore(i32 noundef %359, ptr noundef %363)
  store i32 %364, ptr %22, align 4, !tbaa !5
  %365 = load i32, ptr %22, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.18, i32 noundef %365)
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  br label %374

366:                                              ; preds = %355
  %367 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %368 = and i32 %367, 4
  %369 = icmp ne i32 %368, 0
  br i1 %369, label %370, label %373

370:                                              ; preds = %366
  %371 = load ptr, ptr @stdout, align 8, !tbaa !14
  %372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %371, ptr noundef @.str.1, ptr noundef @.str.18) #6
  br label %373

373:                                              ; preds = %370, %366
  br label %374

374:                                              ; preds = %373, %358
  br label %375

375:                                              ; preds = %374
  br label %376

376:                                              ; preds = %375
  br label %377

377:                                              ; preds = %376
  %378 = load i32, ptr %4, align 4, !tbaa !5
  %379 = add nsw i32 %378, 1
  store i32 %379, ptr %4, align 4, !tbaa !5
  br label %351, !llvm.loop !17

380:                                              ; preds = %351
  br label %381

381:                                              ; preds = %380
  %382 = call i32 @greatest_pre_test(ptr noundef @.str.19)
  %383 = icmp eq i32 %382, 1
  br i1 %383, label %384, label %387

384:                                              ; preds = %381
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  %385 = call i32 @basic_test_zadd_zrange(i32 noundef 0)
  store i32 %385, ptr %23, align 4, !tbaa !5
  %386 = load i32, ptr %23, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.19, i32 noundef %386)
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  br label %395

387:                                              ; preds = %381
  %388 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %389 = and i32 %388, 4
  %390 = icmp ne i32 %389, 0
  br i1 %390, label %391, label %394

391:                                              ; preds = %387
  %392 = load ptr, ptr @stdout, align 8, !tbaa !14
  %393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %392, ptr noundef @.str.1, ptr noundef @.str.19) #6
  br label %394

394:                                              ; preds = %391, %387
  br label %395

395:                                              ; preds = %394, %384
  br label %396

396:                                              ; preds = %395
  br label %397

397:                                              ; preds = %396
  br label %398

398:                                              ; preds = %397
  %399 = load i32, ptr %3, align 4, !tbaa !5
  %400 = add nsw i32 %399, 1
  store i32 %400, ptr %3, align 4, !tbaa !5
  br label %25, !llvm.loop !18

401:                                              ; preds = %25
  br label %402

402:                                              ; preds = %401
  %403 = call i32 @greatest_pre_test(ptr noundef @.str.20)
  %404 = icmp eq i32 %403, 1
  br i1 %404, label %405, label %413

405:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  %406 = call i32 @_setjmp(ptr noundef getelementptr inbounds (%struct.greatest_run_info, ptr @greatest_info, i32 0, i32 20)) #7
  store i32 %406, ptr %24, align 4, !tbaa !5
  %407 = load i32, ptr %24, align 4, !tbaa !5
  %408 = icmp eq i32 %407, 0
  br i1 %408, label %409, label %411

409:                                              ; preds = %405
  %410 = call i32 @basic_test_invalidlex()
  store i32 %410, ptr %24, align 4, !tbaa !5
  br label %411

411:                                              ; preds = %409, %405
  %412 = load i32, ptr %24, align 4, !tbaa !5
  call void @greatest_post_test(ptr noundef @.str.20, i32 noundef %412)
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  br label %421

413:                                              ; preds = %402
  %414 = load i32, ptr @greatest_info, align 8, !tbaa !9
  %415 = and i32 %414, 4
  %416 = icmp ne i32 %415, 0
  br i1 %416, label %417, label %420

417:                                              ; preds = %413
  %418 = load ptr, ptr @stdout, align 8, !tbaa !14
  %419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %418, ptr noundef @.str.1, ptr noundef @.str.20) #6
  br label %420

420:                                              ; preds = %417, %413
  br label %421

421:                                              ; preds = %420, %411
  br label %422

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #6
  call void @llvm.lifetime.end.p0(i64 280, ptr %2) #6
  call void @llvm.lifetime.end.p0(i64 160, ptr %1) #6
  ret void
}

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

declare i32 @greatest_pre_test(ptr noundef) #3

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zscore(i32 noundef) #0

declare void @greatest_post_test(ptr noundef, i32 noundef) #3

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #4

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zscore2(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrank(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrem(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zcount(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zincrby(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrangebylex(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrangebylex_with_empty(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrangebyscore(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zremrangebyrank(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zremrangebyscore(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zremrangebylex(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_dupe(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zincrnan(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @regression_zrangebyscore(i32 noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zinterstore(i32 noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zunionstore(i32 noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_sadd_zinterstore(i32 noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrange(i32 noundef) #0

; Function Attrs: nounwind returns_twice
declare i32 @_setjmp(ptr noundef) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_invalidlex() #0

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { "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 = { 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 #5 = { nounwind returns_twice "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 #6 = { nounwind }
attributes #7 = { nounwind returns_twice }

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"greatest_run_info", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !11, i64 24, !13, i64 72, !6, i64 80, !13, i64 88, !13, i64 96, !13, i64 104, !13, i64 112, !13, i64 120, !6, i64 128, !6, i64 132, !13, i64 136, !13, i64 144, !12, i64 152, !12, i64 160, !7, i64 168}
!11 = !{!"greatest_suite_info", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !12, i64 16, !12, i64 24, !12, i64 32, !12, i64 40}
!12 = !{!"long", !7, i64 0}
!13 = !{!"any pointer", !7, i64 0}
!14 = !{!13, !13, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = distinct !{!18, !16}


; 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"

%struct.greatest_run_info = type { i32, i32, i32, i32, i32, i32, %struct.greatest_suite_info, ptr, i32, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, ptr, i64, i64, [1 x %struct.__jmp_buf_tag] }
%struct.greatest_suite_info = type { i32, i32, i32, i32, i64, i64, i64, i64 }
%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.__sigset_t }
%struct.__sigset_t = type { [16 x i64] }

@__const.type_zset_test.sadd_zinterunionstore_tests = external hidden unnamed_addr constant [4 x [5 x i64]], align 16
@__const.type_zset_test.zinterunionstore_tests = external hidden unnamed_addr constant [7 x [5 x i64]], align 16
@.str = external hidden unnamed_addr constant [23 x i8], align 1
@greatest_info = external global %struct.greatest_run_info, align 8
@stdout = external local_unnamed_addr global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [22 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @type_zset_test() local_unnamed_addr #0 {
  %1 = alloca [4 x [5 x i64]], align 16
  %2 = alloca [7 x [5 x i64]], align 16
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %1) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(160) %1, ptr noundef nonnull align 16 dereferenceable(160) @__const.type_zset_test.sadd_zinterunionstore_tests, i64 160, i1 false)
  call void @llvm.lifetime.start.p0(i64 280, ptr nonnull %2) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(280) %2, ptr noundef nonnull align 16 dereferenceable(280) @__const.type_zset_test.zinterunionstore_tests, i64 280, i1 false)
  %3 = getelementptr inbounds i8, ptr %1, i64 40
  %4 = getelementptr inbounds i8, ptr %1, i64 80
  %5 = getelementptr inbounds i8, ptr %1, i64 120
  br label %6

6:                                                ; preds = %0, %247
  %.04872 = phi i32 [ 0, %0 ], [ %248, %247 ]
  %7 = call i32 @greatest_pre_test(ptr noundef nonnull @.str) #6
  %8 = icmp eq i32 %7, 1
  br i1 %8, label %9, label %11

9:                                                ; preds = %6
  %10 = call i32 @basic_test_zadd_zscore(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str, i32 noundef %10) #6
  br label %17

11:                                               ; preds = %6
  %12 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %13 = and i32 %12, 4
  %.not51 = icmp eq i32 %13, 0
  br i1 %.not51, label %17, label %14

14:                                               ; preds = %11
  %15 = load ptr, ptr @stdout, align 8, !tbaa !13
  %16 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str) #6
  br label %17

17:                                               ; preds = %9, %14, %11
  %18 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.2) #6
  %19 = icmp eq i32 %18, 1
  br i1 %19, label %20, label %22

20:                                               ; preds = %17
  %21 = call i32 @basic_test_zadd_zscore2(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.2, i32 noundef %21) #6
  br label %28

22:                                               ; preds = %17
  %23 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %24 = and i32 %23, 4
  %.not52 = icmp eq i32 %24, 0
  br i1 %.not52, label %28, label %25

25:                                               ; preds = %22
  %26 = load ptr, ptr @stdout, align 8, !tbaa !13
  %27 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.2) #6
  br label %28

28:                                               ; preds = %20, %25, %22
  %29 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.3) #6
  %30 = icmp eq i32 %29, 1
  br i1 %30, label %31, label %33

31:                                               ; preds = %28
  %32 = call i32 @basic_test_zadd_zrank(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.3, i32 noundef %32) #6
  br label %39

33:                                               ; preds = %28
  %34 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %35 = and i32 %34, 4
  %.not53 = icmp eq i32 %35, 0
  br i1 %.not53, label %39, label %36

36:                                               ; preds = %33
  %37 = load ptr, ptr @stdout, align 8, !tbaa !13
  %38 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.3) #6
  br label %39

39:                                               ; preds = %31, %36, %33
  %40 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.4) #6
  %41 = icmp eq i32 %40, 1
  br i1 %41, label %42, label %44

42:                                               ; preds = %39
  %43 = call i32 @basic_test_zadd_zrem(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.4, i32 noundef %43) #6
  br label %50

44:                                               ; preds = %39
  %45 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %46 = and i32 %45, 4
  %.not54 = icmp eq i32 %46, 0
  br i1 %.not54, label %50, label %47

47:                                               ; preds = %44
  %48 = load ptr, ptr @stdout, align 8, !tbaa !13
  %49 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %48, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.4) #6
  br label %50

50:                                               ; preds = %42, %47, %44
  %51 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.5) #6
  %52 = icmp eq i32 %51, 1
  br i1 %52, label %53, label %55

53:                                               ; preds = %50
  %54 = call i32 @basic_test_zadd_zcount(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.5, i32 noundef %54) #6
  br label %61

55:                                               ; preds = %50
  %56 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %57 = and i32 %56, 4
  %.not55 = icmp eq i32 %57, 0
  br i1 %.not55, label %61, label %58

58:                                               ; preds = %55
  %59 = load ptr, ptr @stdout, align 8, !tbaa !13
  %60 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %59, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.5) #6
  br label %61

61:                                               ; preds = %53, %58, %55
  %62 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.6) #6
  %63 = icmp eq i32 %62, 1
  br i1 %63, label %64, label %66

64:                                               ; preds = %61
  %65 = call i32 @basic_test_zadd_zincrby(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.6, i32 noundef %65) #6
  br label %72

66:                                               ; preds = %61
  %67 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %68 = and i32 %67, 4
  %.not56 = icmp eq i32 %68, 0
  br i1 %.not56, label %72, label %69

69:                                               ; preds = %66
  %70 = load ptr, ptr @stdout, align 8, !tbaa !13
  %71 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %70, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.6) #6
  br label %72

72:                                               ; preds = %64, %69, %66
  %73 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.7) #6
  %74 = icmp eq i32 %73, 1
  br i1 %74, label %75, label %77

75:                                               ; preds = %72
  %76 = call i32 @basic_test_zadd_zrangebylex(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.7, i32 noundef %76) #6
  br label %83

77:                                               ; preds = %72
  %78 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %79 = and i32 %78, 4
  %.not57 = icmp eq i32 %79, 0
  br i1 %.not57, label %83, label %80

80:                                               ; preds = %77
  %81 = load ptr, ptr @stdout, align 8, !tbaa !13
  %82 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %81, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.7) #6
  br label %83

83:                                               ; preds = %75, %80, %77
  %84 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.8) #6
  %85 = icmp eq i32 %84, 1
  br i1 %85, label %86, label %88

86:                                               ; preds = %83
  %87 = call i32 @basic_test_zadd_zrangebylex_with_empty(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.8, i32 noundef %87) #6
  br label %94

88:                                               ; preds = %83
  %89 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %90 = and i32 %89, 4
  %.not58 = icmp eq i32 %90, 0
  br i1 %.not58, label %94, label %91

91:                                               ; preds = %88
  %92 = load ptr, ptr @stdout, align 8, !tbaa !13
  %93 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %92, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.8) #6
  br label %94

94:                                               ; preds = %86, %91, %88
  %95 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.9) #6
  %96 = icmp eq i32 %95, 1
  br i1 %96, label %97, label %99

97:                                               ; preds = %94
  %98 = call i32 @basic_test_zadd_zrangebyscore(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.9, i32 noundef %98) #6
  br label %105

99:                                               ; preds = %94
  %100 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %101 = and i32 %100, 4
  %.not59 = icmp eq i32 %101, 0
  br i1 %.not59, label %105, label %102

102:                                              ; preds = %99
  %103 = load ptr, ptr @stdout, align 8, !tbaa !13
  %104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %103, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.9) #6
  br label %105

105:                                              ; preds = %97, %102, %99
  %106 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.10) #6
  %107 = icmp eq i32 %106, 1
  br i1 %107, label %108, label %110

108:                                              ; preds = %105
  %109 = call i32 @basic_test_zadd_zremrangebyrank(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.10, i32 noundef %109) #6
  br label %116

110:                                              ; preds = %105
  %111 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %112 = and i32 %111, 4
  %.not60 = icmp eq i32 %112, 0
  br i1 %.not60, label %116, label %113

113:                                              ; preds = %110
  %114 = load ptr, ptr @stdout, align 8, !tbaa !13
  %115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %114, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.10) #6
  br label %116

116:                                              ; preds = %108, %113, %110
  %117 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.11) #6
  %118 = icmp eq i32 %117, 1
  br i1 %118, label %119, label %121

119:                                              ; preds = %116
  %120 = call i32 @basic_test_zadd_zremrangebyscore(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.11, i32 noundef %120) #6
  br label %127

121:                                              ; preds = %116
  %122 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %123 = and i32 %122, 4
  %.not61 = icmp eq i32 %123, 0
  br i1 %.not61, label %127, label %124

124:                                              ; preds = %121
  %125 = load ptr, ptr @stdout, align 8, !tbaa !13
  %126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %125, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.11) #6
  br label %127

127:                                              ; preds = %119, %124, %121
  %128 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.12) #6
  %129 = icmp eq i32 %128, 1
  br i1 %129, label %130, label %132

130:                                              ; preds = %127
  %131 = call i32 @basic_test_zadd_zremrangebylex(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.12, i32 noundef %131) #6
  br label %138

132:                                              ; preds = %127
  %133 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %134 = and i32 %133, 4
  %.not62 = icmp eq i32 %134, 0
  br i1 %.not62, label %138, label %135

135:                                              ; preds = %132
  %136 = load ptr, ptr @stdout, align 8, !tbaa !13
  %137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %136, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.12) #6
  br label %138

138:                                              ; preds = %130, %135, %132
  %139 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.13) #6
  %140 = icmp eq i32 %139, 1
  br i1 %140, label %141, label %143

141:                                              ; preds = %138
  %142 = call i32 @basic_test_zadd_dupe(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.13, i32 noundef %142) #6
  br label %149

143:                                              ; preds = %138
  %144 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %145 = and i32 %144, 4
  %.not63 = icmp eq i32 %145, 0
  br i1 %.not63, label %149, label %146

146:                                              ; preds = %143
  %147 = load ptr, ptr @stdout, align 8, !tbaa !13
  %148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %147, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.13) #6
  br label %149

149:                                              ; preds = %141, %146, %143
  %150 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.14) #6
  %151 = icmp eq i32 %150, 1
  br i1 %151, label %152, label %154

152:                                              ; preds = %149
  %153 = call i32 @basic_test_zincrnan(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.14, i32 noundef %153) #6
  br label %160

154:                                              ; preds = %149
  %155 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %156 = and i32 %155, 4
  %.not64 = icmp eq i32 %156, 0
  br i1 %.not64, label %160, label %157

157:                                              ; preds = %154
  %158 = load ptr, ptr @stdout, align 8, !tbaa !13
  %159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %158, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.14) #6
  br label %160

160:                                              ; preds = %152, %157, %154
  %161 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.15) #6
  %162 = icmp eq i32 %161, 1
  br i1 %162, label %163, label %165

163:                                              ; preds = %160
  %164 = call i32 @regression_zrangebyscore(i32 noundef %.04872)
  call void @greatest_post_test(ptr noundef nonnull @.str.15, i32 noundef %164) #6
  br label %.preheader

165:                                              ; preds = %160
  %166 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %167 = and i32 %166, 4
  %.not65 = icmp eq i32 %167, 0
  br i1 %.not65, label %.preheader, label %168

168:                                              ; preds = %165
  %169 = load ptr, ptr @stdout, align 8, !tbaa !13
  %170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %169, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.15) #6
  br label %.preheader

.preheader:                                       ; preds = %165, %168, %163
  br label %171

171:                                              ; preds = %.preheader, %195
  %indvars.iv = phi i64 [ %indvars.iv.next, %195 ], [ 0, %.preheader ]
  %172 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.16) #6
  %173 = icmp eq i32 %172, 1
  br i1 %173, label %174, label %177

174:                                              ; preds = %171
  %175 = getelementptr inbounds [7 x [5 x i64]], ptr %2, i64 0, i64 %indvars.iv
  %176 = call i32 @basic_test_zadd_zinterstore(i32 noundef %.04872, ptr noundef nonnull %175)
  call void @greatest_post_test(ptr noundef nonnull @.str.16, i32 noundef %176) #6
  br label %183

177:                                              ; preds = %171
  %178 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %179 = and i32 %178, 4
  %.not68 = icmp eq i32 %179, 0
  br i1 %.not68, label %183, label %180

180:                                              ; preds = %177
  %181 = load ptr, ptr @stdout, align 8, !tbaa !13
  %182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %181, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.16) #6
  br label %183

183:                                              ; preds = %174, %180, %177
  %184 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.17) #6
  %185 = icmp eq i32 %184, 1
  br i1 %185, label %186, label %189

186:                                              ; preds = %183
  %187 = getelementptr inbounds [7 x [5 x i64]], ptr %2, i64 0, i64 %indvars.iv
  %188 = call i32 @basic_test_zadd_zunionstore(i32 noundef %.04872, ptr noundef nonnull %187)
  call void @greatest_post_test(ptr noundef nonnull @.str.17, i32 noundef %188) #6
  br label %195

189:                                              ; preds = %183
  %190 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %191 = and i32 %190, 4
  %.not69 = icmp eq i32 %191, 0
  br i1 %.not69, label %195, label %192

192:                                              ; preds = %189
  %193 = load ptr, ptr @stdout, align 8, !tbaa !13
  %194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %193, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.17) #6
  br label %195

195:                                              ; preds = %186, %192, %189
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 7
  br i1 %exitcond.not, label %.preheader.preheader, label %171, !llvm.loop !14

.preheader.preheader:                             ; preds = %195
  %196 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.18) #6
  %197 = icmp eq i32 %196, 1
  br i1 %197, label %198, label %200

198:                                              ; preds = %.preheader.preheader
  %199 = call i32 @basic_test_sadd_zinterstore(i32 noundef %.04872, ptr noundef nonnull %1)
  call void @greatest_post_test(ptr noundef nonnull @.str.18, i32 noundef %199) #6
  br label %.preheader.1

200:                                              ; preds = %.preheader.preheader
  %201 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %202 = and i32 %201, 4
  %.not67 = icmp eq i32 %202, 0
  br i1 %.not67, label %.preheader.1, label %203

203:                                              ; preds = %200
  %204 = load ptr, ptr @stdout, align 8, !tbaa !13
  %205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %204, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.18) #6
  br label %.preheader.1

.preheader.1:                                     ; preds = %198, %203, %200
  %206 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.18) #6
  %207 = icmp eq i32 %206, 1
  br i1 %207, label %214, label %208

208:                                              ; preds = %.preheader.1
  %209 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %210 = and i32 %209, 4
  %.not67.1 = icmp eq i32 %210, 0
  br i1 %.not67.1, label %.preheader.2, label %211

211:                                              ; preds = %208
  %212 = load ptr, ptr @stdout, align 8, !tbaa !13
  %213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %212, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.18) #6
  br label %.preheader.2

214:                                              ; preds = %.preheader.1
  %215 = call i32 @basic_test_sadd_zinterstore(i32 noundef %.04872, ptr noundef nonnull %3)
  call void @greatest_post_test(ptr noundef nonnull @.str.18, i32 noundef %215) #6
  br label %.preheader.2

.preheader.2:                                     ; preds = %214, %211, %208
  %216 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.18) #6
  %217 = icmp eq i32 %216, 1
  br i1 %217, label %224, label %218

218:                                              ; preds = %.preheader.2
  %219 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %220 = and i32 %219, 4
  %.not67.2 = icmp eq i32 %220, 0
  br i1 %.not67.2, label %.preheader.3, label %221

221:                                              ; preds = %218
  %222 = load ptr, ptr @stdout, align 8, !tbaa !13
  %223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %222, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.18) #6
  br label %.preheader.3

224:                                              ; preds = %.preheader.2
  %225 = call i32 @basic_test_sadd_zinterstore(i32 noundef %.04872, ptr noundef nonnull %4)
  call void @greatest_post_test(ptr noundef nonnull @.str.18, i32 noundef %225) #6
  br label %.preheader.3

.preheader.3:                                     ; preds = %224, %221, %218
  %226 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.18) #6
  %227 = icmp eq i32 %226, 1
  br i1 %227, label %234, label %228

228:                                              ; preds = %.preheader.3
  %229 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %230 = and i32 %229, 4
  %.not67.3 = icmp eq i32 %230, 0
  br i1 %.not67.3, label %236, label %231

231:                                              ; preds = %228
  %232 = load ptr, ptr @stdout, align 8, !tbaa !13
  %233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %232, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.18) #6
  br label %236

234:                                              ; preds = %.preheader.3
  %235 = call i32 @basic_test_sadd_zinterstore(i32 noundef %.04872, ptr noundef nonnull %5)
  call void @greatest_post_test(ptr noundef nonnull @.str.18, i32 noundef %235) #6
  br label %236

236:                                              ; preds = %234, %231, %228
  %237 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.19) #6
  %238 = icmp eq i32 %237, 1
  br i1 %238, label %239, label %241

239:                                              ; preds = %236
  %240 = call i32 @basic_test_zadd_zrange(i32 noundef 0)
  call void @greatest_post_test(ptr noundef nonnull @.str.19, i32 noundef %240) #6
  br label %247

241:                                              ; preds = %236
  %242 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %243 = and i32 %242, 4
  %.not66 = icmp eq i32 %243, 0
  br i1 %.not66, label %247, label %244

244:                                              ; preds = %241
  %245 = load ptr, ptr @stdout, align 8, !tbaa !13
  %246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %245, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.19) #6
  br label %247

247:                                              ; preds = %239, %244, %241
  %248 = add nuw nsw i32 %.04872, 1
  %exitcond78.not = icmp eq i32 %248, 3
  br i1 %exitcond78.not, label %249, label %6, !llvm.loop !16

249:                                              ; preds = %247
  %250 = call i32 @greatest_pre_test(ptr noundef nonnull @.str.20) #6
  %251 = icmp eq i32 %250, 1
  br i1 %251, label %252, label %258

252:                                              ; preds = %249
  %253 = call i32 @_setjmp(ptr noundef nonnull getelementptr inbounds (i8, ptr @greatest_info, i64 168)) #7
  %254 = icmp eq i32 %253, 0
  br i1 %254, label %255, label %257

255:                                              ; preds = %252
  %256 = call i32 @basic_test_invalidlex()
  br label %257

257:                                              ; preds = %255, %252
  %.0 = phi i32 [ %256, %255 ], [ %253, %252 ]
  call void @greatest_post_test(ptr noundef nonnull @.str.20, i32 noundef %.0) #6
  br label %264

258:                                              ; preds = %249
  %259 = load i32, ptr @greatest_info, align 8, !tbaa !5
  %260 = and i32 %259, 4
  %.not = icmp eq i32 %260, 0
  br i1 %.not, label %264, label %261

261:                                              ; preds = %258
  %262 = load ptr, ptr @stdout, align 8, !tbaa !13
  %263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %262, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.20) #6
  br label %264

264:                                              ; preds = %258, %261, %257
  call void @llvm.lifetime.end.p0(i64 280, ptr nonnull %2) #6
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %1) #6
  ret void
}

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

declare i32 @greatest_pre_test(ptr noundef) local_unnamed_addr #3

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zscore(i32 noundef) local_unnamed_addr #0

declare void @greatest_post_test(ptr noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zscore2(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrank(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrem(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zcount(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zincrby(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrangebylex(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrangebylex_with_empty(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrangebyscore(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zremrangebyrank(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zremrangebyscore(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zremrangebylex(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_dupe(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zincrnan(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @regression_zrangebyscore(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zinterstore(i32 noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zunionstore(i32 noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_sadd_zinterstore(i32 noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_zadd_zrange(i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind returns_twice
declare i32 @_setjmp(ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare hidden i32 @basic_test_invalidlex() local_unnamed_addr #0

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { "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 = { nofree 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 #5 = { nounwind returns_twice "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 #6 = { nounwind }
attributes #7 = { nounwind returns_twice }

!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 = !{!"greatest_run_info", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !7, i64 16, !7, i64 20, !10, i64 24, !12, i64 72, !7, i64 80, !12, i64 88, !12, i64 96, !12, i64 104, !12, i64 112, !12, i64 120, !7, i64 128, !7, i64 132, !12, i64 136, !12, i64 144, !11, i64 152, !11, i64 160, !8, i64 168}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"greatest_suite_info", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40}
!11 = !{!"long", !8, i64 0}
!12 = !{!"any pointer", !8, i64 0}
!13 = !{!12, !12, i64 0}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = distinct !{!16, !15}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass