; LLVM IR from QAQdev/mini-sql-engine :: src/parser (minisql_yacc)

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

%union.YYSTYPE = type { ptr }
%union.yyalloc = type { %union.YYSTYPE }

@yynerrs = external dso_local global i32, align 4
@yychar = external dso_local global i32, align 4
@yypact = external hidden constant [134 x i8], align 16
@yytranslate = external hidden constant [302 x i8], align 16
@yycheck = external hidden constant [107 x i8], align 16
@yytable = external hidden constant [107 x i8], align 16
@yylval = external dso_local global %union.YYSTYPE, align 8
@yydefact = external hidden constant [134 x i8], align 16
@yyr2 = external hidden constant [78 x i8], align 16
@.str = external hidden unnamed_addr constant [13 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [4 x i8], align 1
@yyr1 = external hidden constant [78 x i8], align 16
@yypgoto = external hidden constant [35 x i8], align 16
@yydefgoto = external hidden constant [35 x i8], align 16
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [15 x i8], align 1
@yystos = external hidden constant [134 x i8], align 16
@.str.21 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [17 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @yyparse() #0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca [200 x i16], align 16
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca [200 x %union.YYSTYPE], align 16
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca i64, align 8
  %14 = alloca %union.YYSTYPE, align 8
  %15 = alloca i32, align 4
  %16 = alloca i64, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca i64, align 8
  %20 = alloca i64, align 8
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #6
  store i32 0, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 400, ptr %7) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #6
  %32 = getelementptr inbounds [200 x i16], ptr %7, i64 0, i64 0
  store ptr %32, ptr %8, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #6
  call void @llvm.lifetime.start.p0(i64 1600, ptr %10) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #6
  %33 = getelementptr inbounds [200 x %union.YYSTYPE], ptr %10, i64 0, i64 0
  store ptr %33, ptr %11, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #6
  store i64 200, ptr %13, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !5
  store i32 0, ptr %2, align 4, !tbaa !5
  store i32 0, ptr %5, align 4, !tbaa !5
  store i32 0, ptr @yynerrs, align 4, !tbaa !5
  store i32 -2, ptr @yychar, align 4, !tbaa !5
  %34 = load ptr, ptr %8, align 8, !tbaa !9
  store ptr %34, ptr %9, align 8, !tbaa !9
  %35 = load ptr, ptr %11, align 8, !tbaa !9
  store ptr %35, ptr %12, align 8, !tbaa !9
  br label %39

36:                                               ; preds = %830, %735, %215
  %37 = load ptr, ptr %9, align 8, !tbaa !9
  %38 = getelementptr inbounds i16, ptr %37, i32 1
  store ptr %38, ptr %9, align 8, !tbaa !9
  br label %39

39:                                               ; preds = %36, %0
  %40 = load i32, ptr %2, align 4, !tbaa !5
  %41 = trunc i32 %40 to i16
  %42 = load ptr, ptr %9, align 8, !tbaa !9
  store i16 %41, ptr %42, align 2, !tbaa !13
  %43 = load ptr, ptr %8, align 8, !tbaa !9
  %44 = load i64, ptr %13, align 8, !tbaa !11
  %45 = getelementptr inbounds i16, ptr %43, i64 %44
  %46 = getelementptr inbounds i16, ptr %45, i64 -1
  %47 = load ptr, ptr %9, align 8, !tbaa !9
  %48 = icmp ule ptr %46, %47
  br i1 %48, label %49, label %134

49:                                               ; preds = %39
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #6
  %50 = load ptr, ptr %9, align 8, !tbaa !9
  %51 = load ptr, ptr %8, align 8, !tbaa !9
  %52 = ptrtoint ptr %50 to i64
  %53 = ptrtoint ptr %51 to i64
  %54 = sub i64 %52, %53
  %55 = sdiv exact i64 %54, 2
  %56 = add nsw i64 %55, 1
  store i64 %56, ptr %16, align 8, !tbaa !11
  %57 = load i64, ptr %13, align 8, !tbaa !11
  %58 = icmp ule i64 10000, %57
  br i1 %58, label %59, label %60

59:                                               ; preds = %49
  store i32 4, ptr %21, align 4
  br label %131

60:                                               ; preds = %49
  %61 = load i64, ptr %13, align 8, !tbaa !11
  %62 = mul i64 %61, 2
  store i64 %62, ptr %13, align 8, !tbaa !11
  %63 = load i64, ptr %13, align 8, !tbaa !11
  %64 = icmp ult i64 10000, %63
  br i1 %64, label %65, label %66

65:                                               ; preds = %60
  store i64 10000, ptr %13, align 8, !tbaa !11
  br label %66

66:                                               ; preds = %65, %60
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #6
  %67 = load ptr, ptr %8, align 8, !tbaa !9
  store ptr %67, ptr %17, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #6
  %68 = load i64, ptr %13, align 8, !tbaa !11
  %69 = mul i64 %68, 10
  %70 = add i64 %69, 7
  %71 = call noalias ptr @malloc(i64 noundef %70) #7
  store ptr %71, ptr %18, align 8, !tbaa !9
  %72 = load ptr, ptr %18, align 8, !tbaa !9
  %73 = icmp ne ptr %72, null
  br i1 %73, label %75, label %74

74:                                               ; preds = %66
  store i32 4, ptr %21, align 4
  br label %112

75:                                               ; preds = %66
  br label %76

76:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #6
  %77 = load ptr, ptr %18, align 8, !tbaa !9
  %78 = load ptr, ptr %8, align 8, !tbaa !9
  %79 = load i64, ptr %16, align 8, !tbaa !11
  %80 = mul i64 %79, 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %77, ptr align 2 %78, i64 %80, i1 false)
  %81 = load ptr, ptr %18, align 8, !tbaa !9
  store ptr %81, ptr %8, align 8, !tbaa !9
  %82 = load i64, ptr %13, align 8, !tbaa !11
  %83 = mul i64 %82, 2
  %84 = add i64 %83, 7
  store i64 %84, ptr %19, align 8, !tbaa !11
  %85 = load i64, ptr %19, align 8, !tbaa !11
  %86 = udiv i64 %85, 8
  %87 = load ptr, ptr %18, align 8, !tbaa !9
  %88 = getelementptr inbounds %union.yyalloc, ptr %87, i64 %86
  store ptr %88, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  br label %89

89:                                               ; preds = %76
  br label %90

90:                                               ; preds = %89
  br label %91

91:                                               ; preds = %90
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  %92 = load ptr, ptr %18, align 8, !tbaa !9
  %93 = load ptr, ptr %11, align 8, !tbaa !9
  %94 = load i64, ptr %16, align 8, !tbaa !11
  %95 = mul i64 %94, 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %92, ptr align 8 %93, i64 %95, i1 false)
  %96 = load ptr, ptr %18, align 8, !tbaa !9
  store ptr %96, ptr %11, align 8, !tbaa !9
  %97 = load i64, ptr %13, align 8, !tbaa !11
  %98 = mul i64 %97, 8
  %99 = add i64 %98, 7
  store i64 %99, ptr %20, align 8, !tbaa !11
  %100 = load i64, ptr %20, align 8, !tbaa !11
  %101 = udiv i64 %100, 8
  %102 = load ptr, ptr %18, align 8, !tbaa !9
  %103 = getelementptr inbounds %union.yyalloc, ptr %102, i64 %101
  store ptr %103, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  br label %104

104:                                              ; preds = %91
  br label %105

105:                                              ; preds = %104
  %106 = load ptr, ptr %17, align 8, !tbaa !9
  %107 = getelementptr inbounds [200 x i16], ptr %7, i64 0, i64 0
  %108 = icmp ne ptr %106, %107
  br i1 %108, label %109, label %111

109:                                              ; preds = %105
  %110 = load ptr, ptr %17, align 8, !tbaa !9
  call void @free(ptr noundef %110) #6
  br label %111

111:                                              ; preds = %109, %105
  store i32 0, ptr %21, align 4
  br label %112

112:                                              ; preds = %111, %74
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #6
  %113 = load i32, ptr %21, align 4
  switch i32 %113, label %131 [
    i32 0, label %114
  ]

114:                                              ; preds = %112
  %115 = load ptr, ptr %8, align 8, !tbaa !9
  %116 = load i64, ptr %16, align 8, !tbaa !11
  %117 = getelementptr inbounds i16, ptr %115, i64 %116
  %118 = getelementptr inbounds i16, ptr %117, i64 -1
  store ptr %118, ptr %9, align 8, !tbaa !9
  %119 = load ptr, ptr %11, align 8, !tbaa !9
  %120 = load i64, ptr %16, align 8, !tbaa !11
  %121 = getelementptr inbounds %union.YYSTYPE, ptr %119, i64 %120
  %122 = getelementptr inbounds %union.YYSTYPE, ptr %121, i64 -1
  store ptr %122, ptr %12, align 8, !tbaa !9
  %123 = load ptr, ptr %8, align 8, !tbaa !9
  %124 = load i64, ptr %13, align 8, !tbaa !11
  %125 = getelementptr inbounds i16, ptr %123, i64 %124
  %126 = getelementptr inbounds i16, ptr %125, i64 -1
  %127 = load ptr, ptr %9, align 8, !tbaa !9
  %128 = icmp ule ptr %126, %127
  br i1 %128, label %129, label %130

129:                                              ; preds = %114
  store i32 9, ptr %21, align 4
  br label %131

130:                                              ; preds = %114
  store i32 0, ptr %21, align 4
  br label %131

131:                                              ; preds = %130, %129, %112, %59
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  %132 = load i32, ptr %21, align 4
  switch i32 %132, label %881 [
    i32 0, label %133
    i32 9, label %835
    i32 4, label %836
  ]

133:                                              ; preds = %131
  br label %134

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

135:                                              ; preds = %134
  %136 = load i32, ptr %2, align 4, !tbaa !5
  %137 = sext i32 %136 to i64
  %138 = getelementptr inbounds [134 x i8], ptr @yypact, i64 0, i64 %137
  %139 = load i8, ptr %138, align 1, !tbaa !15
  %140 = sext i8 %139 to i32
  store i32 %140, ptr %3, align 4, !tbaa !5
  %141 = load i32, ptr %3, align 4, !tbaa !5
  %142 = icmp eq i32 %141, -85
  br i1 %142, label %143, label %144

143:                                              ; preds = %135
  br label %219

144:                                              ; preds = %135
  %145 = load i32, ptr @yychar, align 4, !tbaa !5
  %146 = icmp eq i32 %145, -2
  br i1 %146, label %147, label %149

147:                                              ; preds = %144
  %148 = call i32 @yylex()
  store i32 %148, ptr @yychar, align 4, !tbaa !5
  br label %149

149:                                              ; preds = %147, %144
  %150 = load i32, ptr @yychar, align 4, !tbaa !5
  %151 = icmp sle i32 %150, 0
  br i1 %151, label %152, label %153

152:                                              ; preds = %149
  store i32 0, ptr %6, align 4, !tbaa !5
  store i32 0, ptr @yychar, align 4, !tbaa !5
  br label %165

153:                                              ; preds = %149
  %154 = load i32, ptr @yychar, align 4, !tbaa !5
  %155 = icmp ule i32 %154, 301
  br i1 %155, label %156, label %162

156:                                              ; preds = %153
  %157 = load i32, ptr @yychar, align 4, !tbaa !5
  %158 = sext i32 %157 to i64
  %159 = getelementptr inbounds [302 x i8], ptr @yytranslate, i64 0, i64 %158
  %160 = load i8, ptr %159, align 1, !tbaa !15
  %161 = zext i8 %160 to i32
  br label %163

162:                                              ; preds = %153
  br label %163

163:                                              ; preds = %162, %156
  %164 = phi i32 [ %161, %156 ], [ 2, %162 ]
  store i32 %164, ptr %6, align 4, !tbaa !5
  br label %165

165:                                              ; preds = %163, %152
  %166 = load i32, ptr %6, align 4, !tbaa !5
  %167 = load i32, ptr %3, align 4, !tbaa !5
  %168 = add nsw i32 %167, %166
  store i32 %168, ptr %3, align 4, !tbaa !5
  %169 = load i32, ptr %3, align 4, !tbaa !5
  %170 = icmp slt i32 %169, 0
  br i1 %170, label %182, label %171

171:                                              ; preds = %165
  %172 = load i32, ptr %3, align 4, !tbaa !5
  %173 = icmp slt i32 106, %172
  br i1 %173, label %182, label %174

174:                                              ; preds = %171
  %175 = load i32, ptr %3, align 4, !tbaa !5
  %176 = sext i32 %175 to i64
  %177 = getelementptr inbounds [107 x i8], ptr @yycheck, i64 0, i64 %176
  %178 = load i8, ptr %177, align 1, !tbaa !15
  %179 = sext i8 %178 to i32
  %180 = load i32, ptr %6, align 4, !tbaa !5
  %181 = icmp ne i32 %179, %180
  br i1 %181, label %182, label %183

182:                                              ; preds = %174, %171, %165
  br label %219

183:                                              ; preds = %174
  %184 = load i32, ptr %3, align 4, !tbaa !5
  %185 = sext i32 %184 to i64
  %186 = getelementptr inbounds [107 x i8], ptr @yytable, i64 0, i64 %185
  %187 = load i8, ptr %186, align 1, !tbaa !15
  %188 = zext i8 %187 to i32
  store i32 %188, ptr %3, align 4, !tbaa !5
  %189 = load i32, ptr %3, align 4, !tbaa !5
  %190 = icmp sle i32 %189, 0
  br i1 %190, label %191, label %201

191:                                              ; preds = %183
  %192 = load i32, ptr %3, align 4, !tbaa !5
  %193 = icmp eq i32 %192, 0
  br i1 %193, label %197, label %194

194:                                              ; preds = %191
  %195 = load i32, ptr %3, align 4, !tbaa !5
  %196 = icmp eq i32 %195, -1
  br i1 %196, label %197, label %198

197:                                              ; preds = %194, %191
  br label %736

198:                                              ; preds = %194
  %199 = load i32, ptr %3, align 4, !tbaa !5
  %200 = sub nsw i32 0, %199
  store i32 %200, ptr %3, align 4, !tbaa !5
  br label %229

201:                                              ; preds = %183
  %202 = load i32, ptr %3, align 4, !tbaa !5
  %203 = icmp eq i32 %202, 53
  br i1 %203, label %204, label %205

204:                                              ; preds = %201
  br label %834

205:                                              ; preds = %201
  %206 = load i32, ptr %5, align 4, !tbaa !5
  %207 = icmp ne i32 %206, 0
  br i1 %207, label %208, label %211

208:                                              ; preds = %205
  %209 = load i32, ptr %5, align 4, !tbaa !5
  %210 = add nsw i32 %209, -1
  store i32 %210, ptr %5, align 4, !tbaa !5
  br label %211

211:                                              ; preds = %208, %205
  %212 = load i32, ptr @yychar, align 4, !tbaa !5
  %213 = icmp ne i32 %212, 0
  br i1 %213, label %214, label %215

214:                                              ; preds = %211
  store i32 -2, ptr @yychar, align 4, !tbaa !5
  br label %215

215:                                              ; preds = %214, %211
  %216 = load i32, ptr %3, align 4, !tbaa !5
  store i32 %216, ptr %2, align 4, !tbaa !5
  %217 = load ptr, ptr %12, align 8, !tbaa !9
  %218 = getelementptr inbounds %union.YYSTYPE, ptr %217, i32 1
  store ptr %218, ptr %12, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %218, ptr align 8 @yylval, i64 8, i1 false), !tbaa.struct !16
  br label %36

219:                                              ; preds = %182, %143
  %220 = load i32, ptr %2, align 4, !tbaa !5
  %221 = sext i32 %220 to i64
  %222 = getelementptr inbounds [134 x i8], ptr @yydefact, i64 0, i64 %221
  %223 = load i8, ptr %222, align 1, !tbaa !15
  %224 = zext i8 %223 to i32
  store i32 %224, ptr %3, align 4, !tbaa !5
  %225 = load i32, ptr %3, align 4, !tbaa !5
  %226 = icmp eq i32 %225, 0
  br i1 %226, label %227, label %228

227:                                              ; preds = %219
  br label %736

228:                                              ; preds = %219
  br label %229

229:                                              ; preds = %228, %198
  %230 = load i32, ptr %3, align 4, !tbaa !5
  %231 = sext i32 %230 to i64
  %232 = getelementptr inbounds [78 x i8], ptr @yyr2, i64 0, i64 %231
  %233 = load i8, ptr %232, align 1, !tbaa !15
  %234 = zext i8 %233 to i32
  store i32 %234, ptr %15, align 4, !tbaa !5
  %235 = load ptr, ptr %12, align 8, !tbaa !9
  %236 = load i32, ptr %15, align 4, !tbaa !5
  %237 = sub nsw i32 1, %236
  %238 = sext i32 %237 to i64
  %239 = getelementptr inbounds %union.YYSTYPE, ptr %235, i64 %238
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %239, i64 8, i1 false), !tbaa.struct !16
  %240 = load i32, ptr %3, align 4, !tbaa !5
  switch i32 %240, label %678 [
    i32 2, label %241
    i32 3, label %246
    i32 4, label %250
    i32 5, label %254
    i32 6, label %258
    i32 7, label %262
    i32 8, label %266
    i32 9, label %270
    i32 10, label %274
    i32 11, label %278
    i32 12, label %282
    i32 13, label %286
    i32 14, label %290
    i32 15, label %294
    i32 16, label %298
    i32 17, label %302
    i32 18, label %306
    i32 19, label %310
    i32 20, label %314
    i32 21, label %318
    i32 22, label %322
    i32 23, label %328
    i32 24, label %334
    i32 25, label %336
    i32 26, label %342
    i32 27, label %344
    i32 28, label %357
    i32 29, label %365
    i32 30, label %369
    i32 31, label %377
    i32 32, label %381
    i32 33, label %387
    i32 34, label %397
    i32 35, label %407
    i32 36, label %409
    i32 37, label %411
    i32 38, label %417
    i32 39, label %423
    i32 40, label %440
    i32 41, label %464
    i32 42, label %470
    i32 43, label %472
    i32 44, label %482
    i32 45, label %499
    i32 46, label %501
    i32 47, label %507
    i32 48, label %519
    i32 49, label %523
    i32 50, label %525
    i32 51, label %527
    i32 52, label %539
    i32 53, label %543
    i32 54, label %547
    i32 55, label %549
    i32 56, label %551
    i32 57, label %553
    i32 58, label %555
    i32 59, label %557
    i32 60, label %559
    i32 61, label %561
    i32 62, label %563
    i32 63, label %565
    i32 64, label %578
    i32 65, label %586
    i32 66, label %590
    i32 67, label %596
    i32 68, label %609
    i32 69, label %622
    i32 70, label %642
    i32 71, label %650
    i32 72, label %654
    i32 73, label %664
    i32 74, label %666
    i32 75, label %668
    i32 76, label %670
    i32 77, label %672
  ]

241:                                              ; preds = %229
  %242 = load ptr, ptr %12, align 8, !tbaa !9
  %243 = getelementptr inbounds %union.YYSTYPE, ptr %242, i64 -1
  %244 = load ptr, ptr %243, align 8, !tbaa !15
  store ptr %244, ptr %14, align 8, !tbaa !15
  %245 = load ptr, ptr %14, align 8, !tbaa !15
  call void @MinisqlParserSetRoot(ptr noundef %245)
  br label %679

246:                                              ; preds = %229
  %247 = load ptr, ptr %12, align 8, !tbaa !9
  %248 = getelementptr inbounds %union.YYSTYPE, ptr %247, i64 0
  %249 = load ptr, ptr %248, align 8, !tbaa !15
  store ptr %249, ptr %14, align 8, !tbaa !15
  br label %679

250:                                              ; preds = %229
  %251 = load ptr, ptr %12, align 8, !tbaa !9
  %252 = getelementptr inbounds %union.YYSTYPE, ptr %251, i64 0
  %253 = load ptr, ptr %252, align 8, !tbaa !15
  store ptr %253, ptr %14, align 8, !tbaa !15
  br label %679

254:                                              ; preds = %229
  %255 = load ptr, ptr %12, align 8, !tbaa !9
  %256 = getelementptr inbounds %union.YYSTYPE, ptr %255, i64 0
  %257 = load ptr, ptr %256, align 8, !tbaa !15
  store ptr %257, ptr %14, align 8, !tbaa !15
  br label %679

258:                                              ; preds = %229
  %259 = load ptr, ptr %12, align 8, !tbaa !9
  %260 = getelementptr inbounds %union.YYSTYPE, ptr %259, i64 0
  %261 = load ptr, ptr %260, align 8, !tbaa !15
  store ptr %261, ptr %14, align 8, !tbaa !15
  br label %679

262:                                              ; preds = %229
  %263 = load ptr, ptr %12, align 8, !tbaa !9
  %264 = getelementptr inbounds %union.YYSTYPE, ptr %263, i64 0
  %265 = load ptr, ptr %264, align 8, !tbaa !15
  store ptr %265, ptr %14, align 8, !tbaa !15
  br label %679

266:                                              ; preds = %229
  %267 = load ptr, ptr %12, align 8, !tbaa !9
  %268 = getelementptr inbounds %union.YYSTYPE, ptr %267, i64 0
  %269 = load ptr, ptr %268, align 8, !tbaa !15
  store ptr %269, ptr %14, align 8, !tbaa !15
  br label %679

270:                                              ; preds = %229
  %271 = load ptr, ptr %12, align 8, !tbaa !9
  %272 = getelementptr inbounds %union.YYSTYPE, ptr %271, i64 0
  %273 = load ptr, ptr %272, align 8, !tbaa !15
  store ptr %273, ptr %14, align 8, !tbaa !15
  br label %679

274:                                              ; preds = %229
  %275 = load ptr, ptr %12, align 8, !tbaa !9
  %276 = getelementptr inbounds %union.YYSTYPE, ptr %275, i64 0
  %277 = load ptr, ptr %276, align 8, !tbaa !15
  store ptr %277, ptr %14, align 8, !tbaa !15
  br label %679

278:                                              ; preds = %229
  %279 = load ptr, ptr %12, align 8, !tbaa !9
  %280 = getelementptr inbounds %union.YYSTYPE, ptr %279, i64 0
  %281 = load ptr, ptr %280, align 8, !tbaa !15
  store ptr %281, ptr %14, align 8, !tbaa !15
  br label %679

282:                                              ; preds = %229
  %283 = load ptr, ptr %12, align 8, !tbaa !9
  %284 = getelementptr inbounds %union.YYSTYPE, ptr %283, i64 0
  %285 = load ptr, ptr %284, align 8, !tbaa !15
  store ptr %285, ptr %14, align 8, !tbaa !15
  br label %679

286:                                              ; preds = %229
  %287 = load ptr, ptr %12, align 8, !tbaa !9
  %288 = getelementptr inbounds %union.YYSTYPE, ptr %287, i64 0
  %289 = load ptr, ptr %288, align 8, !tbaa !15
  store ptr %289, ptr %14, align 8, !tbaa !15
  br label %679

290:                                              ; preds = %229
  %291 = load ptr, ptr %12, align 8, !tbaa !9
  %292 = getelementptr inbounds %union.YYSTYPE, ptr %291, i64 0
  %293 = load ptr, ptr %292, align 8, !tbaa !15
  store ptr %293, ptr %14, align 8, !tbaa !15
  br label %679

294:                                              ; preds = %229
  %295 = load ptr, ptr %12, align 8, !tbaa !9
  %296 = getelementptr inbounds %union.YYSTYPE, ptr %295, i64 0
  %297 = load ptr, ptr %296, align 8, !tbaa !15
  store ptr %297, ptr %14, align 8, !tbaa !15
  br label %679

298:                                              ; preds = %229
  %299 = load ptr, ptr %12, align 8, !tbaa !9
  %300 = getelementptr inbounds %union.YYSTYPE, ptr %299, i64 0
  %301 = load ptr, ptr %300, align 8, !tbaa !15
  store ptr %301, ptr %14, align 8, !tbaa !15
  br label %679

302:                                              ; preds = %229
  %303 = load ptr, ptr %12, align 8, !tbaa !9
  %304 = getelementptr inbounds %union.YYSTYPE, ptr %303, i64 0
  %305 = load ptr, ptr %304, align 8, !tbaa !15
  store ptr %305, ptr %14, align 8, !tbaa !15
  br label %679

306:                                              ; preds = %229
  %307 = load ptr, ptr %12, align 8, !tbaa !9
  %308 = getelementptr inbounds %union.YYSTYPE, ptr %307, i64 0
  %309 = load ptr, ptr %308, align 8, !tbaa !15
  store ptr %309, ptr %14, align 8, !tbaa !15
  br label %679

310:                                              ; preds = %229
  %311 = load ptr, ptr %12, align 8, !tbaa !9
  %312 = getelementptr inbounds %union.YYSTYPE, ptr %311, i64 0
  %313 = load ptr, ptr %312, align 8, !tbaa !15
  store ptr %313, ptr %14, align 8, !tbaa !15
  br label %679

314:                                              ; preds = %229
  %315 = load ptr, ptr %12, align 8, !tbaa !9
  %316 = getelementptr inbounds %union.YYSTYPE, ptr %315, i64 0
  %317 = load ptr, ptr %316, align 8, !tbaa !15
  store ptr %317, ptr %14, align 8, !tbaa !15
  br label %679

318:                                              ; preds = %229
  %319 = load ptr, ptr %12, align 8, !tbaa !9
  %320 = getelementptr inbounds %union.YYSTYPE, ptr %319, i64 0
  %321 = load ptr, ptr %320, align 8, !tbaa !15
  store ptr %321, ptr %14, align 8, !tbaa !15
  br label %679

322:                                              ; preds = %229
  %323 = call ptr @CreateSyntaxNode(i32 noundef 7, ptr noundef null)
  store ptr %323, ptr %14, align 8, !tbaa !15
  %324 = load ptr, ptr %14, align 8, !tbaa !15
  %325 = load ptr, ptr %12, align 8, !tbaa !9
  %326 = getelementptr inbounds %union.YYSTYPE, ptr %325, i64 0
  %327 = load ptr, ptr %326, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %324, ptr noundef %327)
  br label %679

328:                                              ; preds = %229
  %329 = call ptr @CreateSyntaxNode(i32 noundef 8, ptr noundef null)
  store ptr %329, ptr %14, align 8, !tbaa !15
  %330 = load ptr, ptr %14, align 8, !tbaa !15
  %331 = load ptr, ptr %12, align 8, !tbaa !9
  %332 = getelementptr inbounds %union.YYSTYPE, ptr %331, i64 0
  %333 = load ptr, ptr %332, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %330, ptr noundef %333)
  br label %679

334:                                              ; preds = %229
  %335 = call ptr @CreateSyntaxNode(i32 noundef 9, ptr noundef null)
  store ptr %335, ptr %14, align 8, !tbaa !15
  br label %679

336:                                              ; preds = %229
  %337 = call ptr @CreateSyntaxNode(i32 noundef 10, ptr noundef null)
  store ptr %337, ptr %14, align 8, !tbaa !15
  %338 = load ptr, ptr %14, align 8, !tbaa !15
  %339 = load ptr, ptr %12, align 8, !tbaa !9
  %340 = getelementptr inbounds %union.YYSTYPE, ptr %339, i64 0
  %341 = load ptr, ptr %340, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %338, ptr noundef %341)
  br label %679

342:                                              ; preds = %229
  %343 = call ptr @CreateSyntaxNode(i32 noundef 11, ptr noundef null)
  store ptr %343, ptr %14, align 8, !tbaa !15
  br label %679

344:                                              ; preds = %229
  %345 = call ptr @CreateSyntaxNode(i32 noundef 12, ptr noundef null)
  store ptr %345, ptr %14, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #6
  %346 = call ptr @CreateSyntaxNode(i32 noundef 24, ptr noundef null)
  store ptr %346, ptr %22, align 8, !tbaa !9
  %347 = load ptr, ptr %22, align 8, !tbaa !9
  %348 = load ptr, ptr %12, align 8, !tbaa !9
  %349 = getelementptr inbounds %union.YYSTYPE, ptr %348, i64 -1
  %350 = load ptr, ptr %349, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %347, ptr noundef %350)
  %351 = load ptr, ptr %14, align 8, !tbaa !15
  %352 = load ptr, ptr %12, align 8, !tbaa !9
  %353 = getelementptr inbounds %union.YYSTYPE, ptr %352, i64 -3
  %354 = load ptr, ptr %353, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %351, ptr noundef %354)
  %355 = load ptr, ptr %14, align 8, !tbaa !15
  %356 = load ptr, ptr %22, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %355, ptr noundef %356)
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  br label %679

357:                                              ; preds = %229
  %358 = load ptr, ptr %12, align 8, !tbaa !9
  %359 = getelementptr inbounds %union.YYSTYPE, ptr %358, i64 -2
  %360 = load ptr, ptr %359, align 8, !tbaa !15
  store ptr %360, ptr %14, align 8, !tbaa !15
  %361 = load ptr, ptr %14, align 8, !tbaa !15
  %362 = load ptr, ptr %12, align 8, !tbaa !9
  %363 = getelementptr inbounds %union.YYSTYPE, ptr %362, i64 0
  %364 = load ptr, ptr %363, align 8, !tbaa !15
  call void @SyntaxNodeAddSibling(ptr noundef %361, ptr noundef %364)
  br label %679

365:                                              ; preds = %229
  %366 = load ptr, ptr %12, align 8, !tbaa !9
  %367 = getelementptr inbounds %union.YYSTYPE, ptr %366, i64 0
  %368 = load ptr, ptr %367, align 8, !tbaa !15
  store ptr %368, ptr %14, align 8, !tbaa !15
  br label %679

369:                                              ; preds = %229
  %370 = load ptr, ptr %12, align 8, !tbaa !9
  %371 = getelementptr inbounds %union.YYSTYPE, ptr %370, i64 -2
  %372 = load ptr, ptr %371, align 8, !tbaa !15
  store ptr %372, ptr %14, align 8, !tbaa !15
  %373 = load ptr, ptr %14, align 8, !tbaa !15
  %374 = load ptr, ptr %12, align 8, !tbaa !9
  %375 = getelementptr inbounds %union.YYSTYPE, ptr %374, i64 0
  %376 = load ptr, ptr %375, align 8, !tbaa !15
  call void @SyntaxNodeAddSibling(ptr noundef %373, ptr noundef %376)
  br label %679

377:                                              ; preds = %229
  %378 = load ptr, ptr %12, align 8, !tbaa !9
  %379 = getelementptr inbounds %union.YYSTYPE, ptr %378, i64 0
  %380 = load ptr, ptr %379, align 8, !tbaa !15
  store ptr %380, ptr %14, align 8, !tbaa !15
  br label %679

381:                                              ; preds = %229
  %382 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef @.str)
  store ptr %382, ptr %14, align 8, !tbaa !15
  %383 = load ptr, ptr %14, align 8, !tbaa !15
  %384 = load ptr, ptr %12, align 8, !tbaa !9
  %385 = getelementptr inbounds %union.YYSTYPE, ptr %384, i64 -1
  %386 = load ptr, ptr %385, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %383, ptr noundef %386)
  br label %679

387:                                              ; preds = %229
  %388 = call ptr @CreateSyntaxNode(i32 noundef 23, ptr noundef @.str.1)
  store ptr %388, ptr %14, align 8, !tbaa !15
  %389 = load ptr, ptr %14, align 8, !tbaa !15
  %390 = load ptr, ptr %12, align 8, !tbaa !9
  %391 = getelementptr inbounds %union.YYSTYPE, ptr %390, i64 -2
  %392 = load ptr, ptr %391, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %389, ptr noundef %392)
  %393 = load ptr, ptr %14, align 8, !tbaa !15
  %394 = load ptr, ptr %12, align 8, !tbaa !9
  %395 = getelementptr inbounds %union.YYSTYPE, ptr %394, i64 -1
  %396 = load ptr, ptr %395, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %393, ptr noundef %396)
  br label %679

397:                                              ; preds = %229
  %398 = call ptr @CreateSyntaxNode(i32 noundef 23, ptr noundef null)
  store ptr %398, ptr %14, align 8, !tbaa !15
  %399 = load ptr, ptr %14, align 8, !tbaa !15
  %400 = load ptr, ptr %12, align 8, !tbaa !9
  %401 = getelementptr inbounds %union.YYSTYPE, ptr %400, i64 -1
  %402 = load ptr, ptr %401, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %399, ptr noundef %402)
  %403 = load ptr, ptr %14, align 8, !tbaa !15
  %404 = load ptr, ptr %12, align 8, !tbaa !9
  %405 = getelementptr inbounds %union.YYSTYPE, ptr %404, i64 0
  %406 = load ptr, ptr %405, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %403, ptr noundef %406)
  br label %679

407:                                              ; preds = %229
  %408 = call ptr @CreateSyntaxNode(i32 noundef 22, ptr noundef @.str.2)
  store ptr %408, ptr %14, align 8, !tbaa !15
  br label %679

409:                                              ; preds = %229
  %410 = call ptr @CreateSyntaxNode(i32 noundef 22, ptr noundef @.str.3)
  store ptr %410, ptr %14, align 8, !tbaa !15
  br label %679

411:                                              ; preds = %229
  %412 = call ptr @CreateSyntaxNode(i32 noundef 22, ptr noundef @.str.4)
  store ptr %412, ptr %14, align 8, !tbaa !15
  %413 = load ptr, ptr %14, align 8, !tbaa !15
  %414 = load ptr, ptr %12, align 8, !tbaa !9
  %415 = getelementptr inbounds %union.YYSTYPE, ptr %414, i64 -1
  %416 = load ptr, ptr %415, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %413, ptr noundef %416)
  br label %679

417:                                              ; preds = %229
  %418 = call ptr @CreateSyntaxNode(i32 noundef 13, ptr noundef null)
  store ptr %418, ptr %14, align 8, !tbaa !15
  %419 = load ptr, ptr %14, align 8, !tbaa !15
  %420 = load ptr, ptr %12, align 8, !tbaa !9
  %421 = getelementptr inbounds %union.YYSTYPE, ptr %420, i64 0
  %422 = load ptr, ptr %421, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %419, ptr noundef %422)
  br label %679

423:                                              ; preds = %229
  %424 = call ptr @CreateSyntaxNode(i32 noundef 30, ptr noundef null)
  store ptr %424, ptr %14, align 8, !tbaa !15
  %425 = load ptr, ptr %14, align 8, !tbaa !15
  %426 = load ptr, ptr %12, align 8, !tbaa !9
  %427 = getelementptr inbounds %union.YYSTYPE, ptr %426, i64 -5
  %428 = load ptr, ptr %427, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %425, ptr noundef %428)
  %429 = load ptr, ptr %14, align 8, !tbaa !15
  %430 = load ptr, ptr %12, align 8, !tbaa !9
  %431 = getelementptr inbounds %union.YYSTYPE, ptr %430, i64 -3
  %432 = load ptr, ptr %431, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %429, ptr noundef %432)
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #6
  %433 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef @.str.5)
  store ptr %433, ptr %23, align 8, !tbaa !9
  %434 = load ptr, ptr %23, align 8, !tbaa !9
  %435 = load ptr, ptr %12, align 8, !tbaa !9
  %436 = getelementptr inbounds %union.YYSTYPE, ptr %435, i64 -1
  %437 = load ptr, ptr %436, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %434, ptr noundef %437)
  %438 = load ptr, ptr %14, align 8, !tbaa !15
  %439 = load ptr, ptr %23, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %438, ptr noundef %439)
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #6
  br label %679

440:                                              ; preds = %229
  %441 = call ptr @CreateSyntaxNode(i32 noundef 30, ptr noundef null)
  store ptr %441, ptr %14, align 8, !tbaa !15
  %442 = load ptr, ptr %14, align 8, !tbaa !15
  %443 = load ptr, ptr %12, align 8, !tbaa !9
  %444 = getelementptr inbounds %union.YYSTYPE, ptr %443, i64 -7
  %445 = load ptr, ptr %444, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %442, ptr noundef %445)
  %446 = load ptr, ptr %14, align 8, !tbaa !15
  %447 = load ptr, ptr %12, align 8, !tbaa !9
  %448 = getelementptr inbounds %union.YYSTYPE, ptr %447, i64 -5
  %449 = load ptr, ptr %448, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %446, ptr noundef %449)
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  %450 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef @.str.5)
  store ptr %450, ptr %24, align 8, !tbaa !9
  %451 = load ptr, ptr %24, align 8, !tbaa !9
  %452 = load ptr, ptr %12, align 8, !tbaa !9
  %453 = getelementptr inbounds %union.YYSTYPE, ptr %452, i64 -3
  %454 = load ptr, ptr %453, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %451, ptr noundef %454)
  %455 = load ptr, ptr %14, align 8, !tbaa !15
  %456 = load ptr, ptr %24, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %455, ptr noundef %456)
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  %457 = call ptr @CreateSyntaxNode(i32 noundef 32, ptr noundef @.str.6)
  store ptr %457, ptr %25, align 8, !tbaa !9
  %458 = load ptr, ptr %25, align 8, !tbaa !9
  %459 = load ptr, ptr %12, align 8, !tbaa !9
  %460 = getelementptr inbounds %union.YYSTYPE, ptr %459, i64 0
  %461 = load ptr, ptr %460, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %458, ptr noundef %461)
  %462 = load ptr, ptr %14, align 8, !tbaa !15
  %463 = load ptr, ptr %25, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %462, ptr noundef %463)
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  br label %679

464:                                              ; preds = %229
  %465 = call ptr @CreateSyntaxNode(i32 noundef 31, ptr noundef null)
  store ptr %465, ptr %14, align 8, !tbaa !15
  %466 = load ptr, ptr %14, align 8, !tbaa !15
  %467 = load ptr, ptr %12, align 8, !tbaa !9
  %468 = getelementptr inbounds %union.YYSTYPE, ptr %467, i64 0
  %469 = load ptr, ptr %468, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %466, ptr noundef %469)
  br label %679

470:                                              ; preds = %229
  %471 = call ptr @CreateSyntaxNode(i32 noundef 14, ptr noundef null)
  store ptr %471, ptr %14, align 8, !tbaa !15
  br label %679

472:                                              ; preds = %229
  %473 = call ptr @CreateSyntaxNode(i32 noundef 18, ptr noundef null)
  store ptr %473, ptr %14, align 8, !tbaa !15
  %474 = load ptr, ptr %14, align 8, !tbaa !15
  %475 = load ptr, ptr %12, align 8, !tbaa !9
  %476 = getelementptr inbounds %union.YYSTYPE, ptr %475, i64 -2
  %477 = load ptr, ptr %476, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %474, ptr noundef %477)
  %478 = load ptr, ptr %14, align 8, !tbaa !15
  %479 = load ptr, ptr %12, align 8, !tbaa !9
  %480 = getelementptr inbounds %union.YYSTYPE, ptr %479, i64 0
  %481 = load ptr, ptr %480, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %478, ptr noundef %481)
  br label %679

482:                                              ; preds = %229
  %483 = call ptr @CreateSyntaxNode(i32 noundef 18, ptr noundef null)
  store ptr %483, ptr %14, align 8, !tbaa !15
  %484 = load ptr, ptr %14, align 8, !tbaa !15
  %485 = load ptr, ptr %12, align 8, !tbaa !9
  %486 = getelementptr inbounds %union.YYSTYPE, ptr %485, i64 -4
  %487 = load ptr, ptr %486, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %484, ptr noundef %487)
  %488 = load ptr, ptr %14, align 8, !tbaa !15
  %489 = load ptr, ptr %12, align 8, !tbaa !9
  %490 = getelementptr inbounds %union.YYSTYPE, ptr %489, i64 -2
  %491 = load ptr, ptr %490, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %488, ptr noundef %491)
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  %492 = call ptr @CreateSyntaxNode(i32 noundef 19, ptr noundef null)
  store ptr %492, ptr %26, align 8, !tbaa !9
  %493 = load ptr, ptr %26, align 8, !tbaa !9
  %494 = load ptr, ptr %12, align 8, !tbaa !9
  %495 = getelementptr inbounds %union.YYSTYPE, ptr %494, i64 0
  %496 = load ptr, ptr %495, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %493, ptr noundef %496)
  %497 = load ptr, ptr %14, align 8, !tbaa !15
  %498 = load ptr, ptr %26, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %497, ptr noundef %498)
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  br label %679

499:                                              ; preds = %229
  %500 = call ptr @CreateSyntaxNode(i32 noundef 29, ptr noundef null)
  store ptr %500, ptr %14, align 8, !tbaa !15
  br label %679

501:                                              ; preds = %229
  %502 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef @.str.7)
  store ptr %502, ptr %14, align 8, !tbaa !15
  %503 = load ptr, ptr %14, align 8, !tbaa !15
  %504 = load ptr, ptr %12, align 8, !tbaa !9
  %505 = getelementptr inbounds %union.YYSTYPE, ptr %504, i64 0
  %506 = load ptr, ptr %505, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %503, ptr noundef %506)
  br label %679

507:                                              ; preds = %229
  %508 = load ptr, ptr %12, align 8, !tbaa !9
  %509 = getelementptr inbounds %union.YYSTYPE, ptr %508, i64 -1
  %510 = load ptr, ptr %509, align 8, !tbaa !15
  store ptr %510, ptr %14, align 8, !tbaa !15
  %511 = load ptr, ptr %14, align 8, !tbaa !15
  %512 = load ptr, ptr %12, align 8, !tbaa !9
  %513 = getelementptr inbounds %union.YYSTYPE, ptr %512, i64 -2
  %514 = load ptr, ptr %513, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %511, ptr noundef %514)
  %515 = load ptr, ptr %14, align 8, !tbaa !15
  %516 = load ptr, ptr %12, align 8, !tbaa !9
  %517 = getelementptr inbounds %union.YYSTYPE, ptr %516, i64 0
  %518 = load ptr, ptr %517, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %515, ptr noundef %518)
  br label %679

519:                                              ; preds = %229
  %520 = load ptr, ptr %12, align 8, !tbaa !9
  %521 = getelementptr inbounds %union.YYSTYPE, ptr %520, i64 0
  %522 = load ptr, ptr %521, align 8, !tbaa !15
  store ptr %522, ptr %14, align 8, !tbaa !15
  br label %679

523:                                              ; preds = %229
  %524 = call ptr @CreateSyntaxNode(i32 noundef 20, ptr noundef @.str.8)
  store ptr %524, ptr %14, align 8, !tbaa !15
  br label %679

525:                                              ; preds = %229
  %526 = call ptr @CreateSyntaxNode(i32 noundef 20, ptr noundef @.str.9)
  store ptr %526, ptr %14, align 8, !tbaa !15
  br label %679

527:                                              ; preds = %229
  %528 = load ptr, ptr %12, align 8, !tbaa !9
  %529 = getelementptr inbounds %union.YYSTYPE, ptr %528, i64 -1
  %530 = load ptr, ptr %529, align 8, !tbaa !15
  store ptr %530, ptr %14, align 8, !tbaa !15
  %531 = load ptr, ptr %14, align 8, !tbaa !15
  %532 = load ptr, ptr %12, align 8, !tbaa !9
  %533 = getelementptr inbounds %union.YYSTYPE, ptr %532, i64 -2
  %534 = load ptr, ptr %533, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %531, ptr noundef %534)
  %535 = load ptr, ptr %14, align 8, !tbaa !15
  %536 = load ptr, ptr %12, align 8, !tbaa !9
  %537 = getelementptr inbounds %union.YYSTYPE, ptr %536, i64 0
  %538 = load ptr, ptr %537, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %535, ptr noundef %538)
  br label %679

539:                                              ; preds = %229
  %540 = load ptr, ptr %12, align 8, !tbaa !9
  %541 = getelementptr inbounds %union.YYSTYPE, ptr %540, i64 0
  %542 = load ptr, ptr %541, align 8, !tbaa !15
  store ptr %542, ptr %14, align 8, !tbaa !15
  br label %679

543:                                              ; preds = %229
  %544 = load ptr, ptr %12, align 8, !tbaa !9
  %545 = getelementptr inbounds %union.YYSTYPE, ptr %544, i64 0
  %546 = load ptr, ptr %545, align 8, !tbaa !15
  store ptr %546, ptr %14, align 8, !tbaa !15
  br label %679

547:                                              ; preds = %229
  %548 = call ptr @CreateSyntaxNode(i32 noundef 6, ptr noundef null)
  store ptr %548, ptr %14, align 8, !tbaa !15
  br label %679

549:                                              ; preds = %229
  %550 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.10)
  store ptr %550, ptr %14, align 8, !tbaa !15
  br label %679

551:                                              ; preds = %229
  %552 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.11)
  store ptr %552, ptr %14, align 8, !tbaa !15
  br label %679

553:                                              ; preds = %229
  %554 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.12)
  store ptr %554, ptr %14, align 8, !tbaa !15
  br label %679

555:                                              ; preds = %229
  %556 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.13)
  store ptr %556, ptr %14, align 8, !tbaa !15
  br label %679

557:                                              ; preds = %229
  %558 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.14)
  store ptr %558, ptr %14, align 8, !tbaa !15
  br label %679

559:                                              ; preds = %229
  %560 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.15)
  store ptr %560, ptr %14, align 8, !tbaa !15
  br label %679

561:                                              ; preds = %229
  %562 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.16)
  store ptr %562, ptr %14, align 8, !tbaa !15
  br label %679

563:                                              ; preds = %229
  %564 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef @.str.17)
  store ptr %564, ptr %14, align 8, !tbaa !15
  br label %679

565:                                              ; preds = %229
  %566 = call ptr @CreateSyntaxNode(i32 noundef 15, ptr noundef null)
  store ptr %566, ptr %14, align 8, !tbaa !15
  %567 = load ptr, ptr %14, align 8, !tbaa !15
  %568 = load ptr, ptr %12, align 8, !tbaa !9
  %569 = getelementptr inbounds %union.YYSTYPE, ptr %568, i64 -4
  %570 = load ptr, ptr %569, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %567, ptr noundef %570)
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #6
  %571 = call ptr @CreateSyntaxNode(i32 noundef 26, ptr noundef null)
  store ptr %571, ptr %27, align 8, !tbaa !9
  %572 = load ptr, ptr %27, align 8, !tbaa !9
  %573 = load ptr, ptr %12, align 8, !tbaa !9
  %574 = getelementptr inbounds %union.YYSTYPE, ptr %573, i64 -1
  %575 = load ptr, ptr %574, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %572, ptr noundef %575)
  %576 = load ptr, ptr %14, align 8, !tbaa !15
  %577 = load ptr, ptr %27, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %576, ptr noundef %577)
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  br label %679

578:                                              ; preds = %229
  %579 = load ptr, ptr %12, align 8, !tbaa !9
  %580 = getelementptr inbounds %union.YYSTYPE, ptr %579, i64 -2
  %581 = load ptr, ptr %580, align 8, !tbaa !15
  store ptr %581, ptr %14, align 8, !tbaa !15
  %582 = load ptr, ptr %14, align 8, !tbaa !15
  %583 = load ptr, ptr %12, align 8, !tbaa !9
  %584 = getelementptr inbounds %union.YYSTYPE, ptr %583, i64 0
  %585 = load ptr, ptr %584, align 8, !tbaa !15
  call void @SyntaxNodeAddSibling(ptr noundef %582, ptr noundef %585)
  br label %679

586:                                              ; preds = %229
  %587 = load ptr, ptr %12, align 8, !tbaa !9
  %588 = getelementptr inbounds %union.YYSTYPE, ptr %587, i64 0
  %589 = load ptr, ptr %588, align 8, !tbaa !15
  store ptr %589, ptr %14, align 8, !tbaa !15
  br label %679

590:                                              ; preds = %229
  %591 = call ptr @CreateSyntaxNode(i32 noundef 16, ptr noundef null)
  store ptr %591, ptr %14, align 8, !tbaa !15
  %592 = load ptr, ptr %14, align 8, !tbaa !15
  %593 = load ptr, ptr %12, align 8, !tbaa !9
  %594 = getelementptr inbounds %union.YYSTYPE, ptr %593, i64 0
  %595 = load ptr, ptr %594, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %592, ptr noundef %595)
  br label %679

596:                                              ; preds = %229
  %597 = call ptr @CreateSyntaxNode(i32 noundef 16, ptr noundef null)
  store ptr %597, ptr %14, align 8, !tbaa !15
  %598 = load ptr, ptr %14, align 8, !tbaa !15
  %599 = load ptr, ptr %12, align 8, !tbaa !9
  %600 = getelementptr inbounds %union.YYSTYPE, ptr %599, i64 -2
  %601 = load ptr, ptr %600, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %598, ptr noundef %601)
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #6
  %602 = call ptr @CreateSyntaxNode(i32 noundef 19, ptr noundef null)
  store ptr %602, ptr %28, align 8, !tbaa !9
  %603 = load ptr, ptr %28, align 8, !tbaa !9
  %604 = load ptr, ptr %12, align 8, !tbaa !9
  %605 = getelementptr inbounds %union.YYSTYPE, ptr %604, i64 0
  %606 = load ptr, ptr %605, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %603, ptr noundef %606)
  %607 = load ptr, ptr %14, align 8, !tbaa !15
  %608 = load ptr, ptr %28, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %607, ptr noundef %608)
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  br label %679

609:                                              ; preds = %229
  %610 = call ptr @CreateSyntaxNode(i32 noundef 17, ptr noundef null)
  store ptr %610, ptr %14, align 8, !tbaa !15
  %611 = load ptr, ptr %14, align 8, !tbaa !15
  %612 = load ptr, ptr %12, align 8, !tbaa !9
  %613 = getelementptr inbounds %union.YYSTYPE, ptr %612, i64 -2
  %614 = load ptr, ptr %613, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %611, ptr noundef %614)
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #6
  %615 = call ptr @CreateSyntaxNode(i32 noundef 27, ptr noundef null)
  store ptr %615, ptr %29, align 8, !tbaa !9
  %616 = load ptr, ptr %29, align 8, !tbaa !9
  %617 = load ptr, ptr %12, align 8, !tbaa !9
  %618 = getelementptr inbounds %union.YYSTYPE, ptr %617, i64 0
  %619 = load ptr, ptr %618, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %616, ptr noundef %619)
  %620 = load ptr, ptr %14, align 8, !tbaa !15
  %621 = load ptr, ptr %29, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %620, ptr noundef %621)
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  br label %679

622:                                              ; preds = %229
  %623 = call ptr @CreateSyntaxNode(i32 noundef 17, ptr noundef null)
  store ptr %623, ptr %14, align 8, !tbaa !15
  %624 = load ptr, ptr %14, align 8, !tbaa !15
  %625 = load ptr, ptr %12, align 8, !tbaa !9
  %626 = getelementptr inbounds %union.YYSTYPE, ptr %625, i64 -4
  %627 = load ptr, ptr %626, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %624, ptr noundef %627)
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  %628 = call ptr @CreateSyntaxNode(i32 noundef 27, ptr noundef null)
  store ptr %628, ptr %30, align 8, !tbaa !9
  %629 = load ptr, ptr %30, align 8, !tbaa !9
  %630 = load ptr, ptr %12, align 8, !tbaa !9
  %631 = getelementptr inbounds %union.YYSTYPE, ptr %630, i64 -2
  %632 = load ptr, ptr %631, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %629, ptr noundef %632)
  %633 = load ptr, ptr %14, align 8, !tbaa !15
  %634 = load ptr, ptr %30, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %633, ptr noundef %634)
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #6
  %635 = call ptr @CreateSyntaxNode(i32 noundef 19, ptr noundef null)
  store ptr %635, ptr %31, align 8, !tbaa !9
  %636 = load ptr, ptr %31, align 8, !tbaa !9
  %637 = load ptr, ptr %12, align 8, !tbaa !9
  %638 = getelementptr inbounds %union.YYSTYPE, ptr %637, i64 0
  %639 = load ptr, ptr %638, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %636, ptr noundef %639)
  %640 = load ptr, ptr %14, align 8, !tbaa !15
  %641 = load ptr, ptr %31, align 8, !tbaa !9
  call void @SyntaxNodeAddChildren(ptr noundef %640, ptr noundef %641)
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  br label %679

642:                                              ; preds = %229
  %643 = load ptr, ptr %12, align 8, !tbaa !9
  %644 = getelementptr inbounds %union.YYSTYPE, ptr %643, i64 -2
  %645 = load ptr, ptr %644, align 8, !tbaa !15
  store ptr %645, ptr %14, align 8, !tbaa !15
  %646 = load ptr, ptr %14, align 8, !tbaa !15
  %647 = load ptr, ptr %12, align 8, !tbaa !9
  %648 = getelementptr inbounds %union.YYSTYPE, ptr %647, i64 0
  %649 = load ptr, ptr %648, align 8, !tbaa !15
  call void @SyntaxNodeAddSibling(ptr noundef %646, ptr noundef %649)
  br label %679

650:                                              ; preds = %229
  %651 = load ptr, ptr %12, align 8, !tbaa !9
  %652 = getelementptr inbounds %union.YYSTYPE, ptr %651, i64 0
  %653 = load ptr, ptr %652, align 8, !tbaa !15
  store ptr %653, ptr %14, align 8, !tbaa !15
  br label %679

654:                                              ; preds = %229
  %655 = call ptr @CreateSyntaxNode(i32 noundef 28, ptr noundef null)
  store ptr %655, ptr %14, align 8, !tbaa !15
  %656 = load ptr, ptr %14, align 8, !tbaa !15
  %657 = load ptr, ptr %12, align 8, !tbaa !9
  %658 = getelementptr inbounds %union.YYSTYPE, ptr %657, i64 -2
  %659 = load ptr, ptr %658, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %656, ptr noundef %659)
  %660 = load ptr, ptr %14, align 8, !tbaa !15
  %661 = load ptr, ptr %12, align 8, !tbaa !9
  %662 = getelementptr inbounds %union.YYSTYPE, ptr %661, i64 0
  %663 = load ptr, ptr %662, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %660, ptr noundef %663)
  br label %679

664:                                              ; preds = %229
  %665 = call ptr @CreateSyntaxNode(i32 noundef 33, ptr noundef null)
  store ptr %665, ptr %14, align 8, !tbaa !15
  br label %679

666:                                              ; preds = %229
  %667 = call ptr @CreateSyntaxNode(i32 noundef 34, ptr noundef null)
  store ptr %667, ptr %14, align 8, !tbaa !15
  br label %679

668:                                              ; preds = %229
  %669 = call ptr @CreateSyntaxNode(i32 noundef 35, ptr noundef null)
  store ptr %669, ptr %14, align 8, !tbaa !15
  br label %679

670:                                              ; preds = %229
  %671 = call ptr @CreateSyntaxNode(i32 noundef 1, ptr noundef null)
  store ptr %671, ptr %14, align 8, !tbaa !15
  br label %679

672:                                              ; preds = %229
  %673 = call ptr @CreateSyntaxNode(i32 noundef 2, ptr noundef null)
  store ptr %673, ptr %14, align 8, !tbaa !15
  %674 = load ptr, ptr %14, align 8, !tbaa !15
  %675 = load ptr, ptr %12, align 8, !tbaa !9
  %676 = getelementptr inbounds %union.YYSTYPE, ptr %675, i64 0
  %677 = load ptr, ptr %676, align 8, !tbaa !15
  call void @SyntaxNodeAddChildren(ptr noundef %674, ptr noundef %677)
  br label %679

678:                                              ; preds = %229
  br label %679

679:                                              ; preds = %678, %672, %670, %668, %666, %664, %654, %650, %642, %622, %609, %596, %590, %586, %578, %565, %563, %561, %559, %557, %555, %553, %551, %549, %547, %543, %539, %527, %525, %523, %519, %507, %501, %499, %482, %472, %470, %464, %440, %423, %417, %411, %409, %407, %397, %387, %381, %377, %369, %365, %357, %344, %342, %336, %334, %328, %322, %318, %314, %310, %306, %302, %298, %294, %290, %286, %282, %278, %274, %270, %266, %262, %258, %254, %250, %246, %241
  %680 = load i32, ptr %15, align 4, !tbaa !5
  %681 = load ptr, ptr %12, align 8, !tbaa !9
  %682 = sext i32 %680 to i64
  %683 = sub i64 0, %682
  %684 = getelementptr inbounds %union.YYSTYPE, ptr %681, i64 %683
  store ptr %684, ptr %12, align 8, !tbaa !9
  %685 = load i32, ptr %15, align 4, !tbaa !5
  %686 = load ptr, ptr %9, align 8, !tbaa !9
  %687 = sext i32 %685 to i64
  %688 = sub i64 0, %687
  %689 = getelementptr inbounds i16, ptr %686, i64 %688
  store ptr %689, ptr %9, align 8, !tbaa !9
  store i32 0, ptr %15, align 4, !tbaa !5
  %690 = load ptr, ptr %12, align 8, !tbaa !9
  %691 = getelementptr inbounds %union.YYSTYPE, ptr %690, i32 1
  store ptr %691, ptr %12, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %691, ptr align 8 %14, i64 8, i1 false), !tbaa.struct !16
  %692 = load i32, ptr %3, align 4, !tbaa !5
  %693 = sext i32 %692 to i64
  %694 = getelementptr inbounds [78 x i8], ptr @yyr1, i64 0, i64 %693
  %695 = load i8, ptr %694, align 1, !tbaa !15
  %696 = zext i8 %695 to i32
  store i32 %696, ptr %3, align 4, !tbaa !5
  %697 = load i32, ptr %3, align 4, !tbaa !5
  %698 = sub nsw i32 %697, 54
  %699 = sext i32 %698 to i64
  %700 = getelementptr inbounds [35 x i8], ptr @yypgoto, i64 0, i64 %699
  %701 = load i8, ptr %700, align 1, !tbaa !15
  %702 = sext i8 %701 to i32
  %703 = load ptr, ptr %9, align 8, !tbaa !9
  %704 = load i16, ptr %703, align 2, !tbaa !13
  %705 = sext i16 %704 to i32
  %706 = add nsw i32 %702, %705
  store i32 %706, ptr %2, align 4, !tbaa !5
  %707 = load i32, ptr %2, align 4, !tbaa !5
  %708 = icmp sle i32 0, %707
  br i1 %708, label %709, label %728

709:                                              ; preds = %679
  %710 = load i32, ptr %2, align 4, !tbaa !5
  %711 = icmp sle i32 %710, 106
  br i1 %711, label %712, label %728

712:                                              ; preds = %709
  %713 = load i32, ptr %2, align 4, !tbaa !5
  %714 = sext i32 %713 to i64
  %715 = getelementptr inbounds [107 x i8], ptr @yycheck, i64 0, i64 %714
  %716 = load i8, ptr %715, align 1, !tbaa !15
  %717 = sext i8 %716 to i32
  %718 = load ptr, ptr %9, align 8, !tbaa !9
  %719 = load i16, ptr %718, align 2, !tbaa !13
  %720 = sext i16 %719 to i32
  %721 = icmp eq i32 %717, %720
  br i1 %721, label %722, label %728

722:                                              ; preds = %712
  %723 = load i32, ptr %2, align 4, !tbaa !5
  %724 = sext i32 %723 to i64
  %725 = getelementptr inbounds [107 x i8], ptr @yytable, i64 0, i64 %724
  %726 = load i8, ptr %725, align 1, !tbaa !15
  %727 = zext i8 %726 to i32
  store i32 %727, ptr %2, align 4, !tbaa !5
  br label %735

728:                                              ; preds = %712, %709, %679
  %729 = load i32, ptr %3, align 4, !tbaa !5
  %730 = sub nsw i32 %729, 54
  %731 = sext i32 %730 to i64
  %732 = getelementptr inbounds [35 x i8], ptr @yydefgoto, i64 0, i64 %731
  %733 = load i8, ptr %732, align 1, !tbaa !15
  %734 = sext i8 %733 to i32
  store i32 %734, ptr %2, align 4, !tbaa !5
  br label %735

735:                                              ; preds = %728, %722
  br label %36

736:                                              ; preds = %227, %197
  %737 = load i32, ptr %5, align 4, !tbaa !5
  %738 = icmp ne i32 %737, 0
  br i1 %738, label %743, label %739

739:                                              ; preds = %736
  %740 = load i32, ptr @yynerrs, align 4, !tbaa !5
  %741 = add nsw i32 %740, 1
  store i32 %741, ptr @yynerrs, align 4, !tbaa !5
  %742 = call i32 @yyerror(ptr noundef @.str.18)
  br label %743

743:                                              ; preds = %739, %736
  %744 = load i32, ptr %5, align 4, !tbaa !5
  %745 = icmp eq i32 %744, 3
  br i1 %745, label %746, label %757

746:                                              ; preds = %743
  %747 = load i32, ptr @yychar, align 4, !tbaa !5
  %748 = icmp sle i32 %747, 0
  br i1 %748, label %749, label %754

749:                                              ; preds = %746
  %750 = load i32, ptr @yychar, align 4, !tbaa !5
  %751 = icmp eq i32 %750, 0
  br i1 %751, label %752, label %753

752:                                              ; preds = %749
  br label %835

753:                                              ; preds = %749
  br label %756

754:                                              ; preds = %746
  %755 = load i32, ptr %6, align 4, !tbaa !5
  call void @yydestruct(ptr noundef @.str.19, i32 noundef %755, ptr noundef @yylval)
  store i32 -2, ptr @yychar, align 4, !tbaa !5
  br label %756

756:                                              ; preds = %754, %753
  br label %757

757:                                              ; preds = %756, %743
  br label %772

758:                                              ; No predecessors!
  %759 = load i32, ptr %15, align 4, !tbaa !5
  %760 = load ptr, ptr %12, align 8, !tbaa !9
  %761 = sext i32 %759 to i64
  %762 = sub i64 0, %761
  %763 = getelementptr inbounds %union.YYSTYPE, ptr %760, i64 %762
  store ptr %763, ptr %12, align 8, !tbaa !9
  %764 = load i32, ptr %15, align 4, !tbaa !5
  %765 = load ptr, ptr %9, align 8, !tbaa !9
  %766 = sext i32 %764 to i64
  %767 = sub i64 0, %766
  %768 = getelementptr inbounds i16, ptr %765, i64 %767
  store ptr %768, ptr %9, align 8, !tbaa !9
  store i32 0, ptr %15, align 4, !tbaa !5
  %769 = load ptr, ptr %9, align 8, !tbaa !9
  %770 = load i16, ptr %769, align 2, !tbaa !13
  %771 = sext i16 %770 to i32
  store i32 %771, ptr %2, align 4, !tbaa !5
  br label %772

772:                                              ; preds = %758, %757
  store i32 3, ptr %5, align 4, !tbaa !5
  br label %773

773:                                              ; preds = %812, %772
  %774 = load i32, ptr %2, align 4, !tbaa !5
  %775 = sext i32 %774 to i64
  %776 = getelementptr inbounds [134 x i8], ptr @yypact, i64 0, i64 %775
  %777 = load i8, ptr %776, align 1, !tbaa !15
  %778 = sext i8 %777 to i32
  store i32 %778, ptr %3, align 4, !tbaa !5
  %779 = load i32, ptr %3, align 4, !tbaa !5
  %780 = icmp ne i32 %779, -85
  br i1 %780, label %781, label %807

781:                                              ; preds = %773
  %782 = load i32, ptr %3, align 4, !tbaa !5
  %783 = add nsw i32 %782, 1
  store i32 %783, ptr %3, align 4, !tbaa !5
  %784 = load i32, ptr %3, align 4, !tbaa !5
  %785 = icmp sle i32 0, %784
  br i1 %785, label %786, label %806

786:                                              ; preds = %781
  %787 = load i32, ptr %3, align 4, !tbaa !5
  %788 = icmp sle i32 %787, 106
  br i1 %788, label %789, label %806

789:                                              ; preds = %786
  %790 = load i32, ptr %3, align 4, !tbaa !5
  %791 = sext i32 %790 to i64
  %792 = getelementptr inbounds [107 x i8], ptr @yycheck, i64 0, i64 %791
  %793 = load i8, ptr %792, align 1, !tbaa !15
  %794 = sext i8 %793 to i32
  %795 = icmp eq i32 %794, 1
  br i1 %795, label %796, label %806

796:                                              ; preds = %789
  %797 = load i32, ptr %3, align 4, !tbaa !5
  %798 = sext i32 %797 to i64
  %799 = getelementptr inbounds [107 x i8], ptr @yytable, i64 0, i64 %798
  %800 = load i8, ptr %799, align 1, !tbaa !15
  %801 = zext i8 %800 to i32
  store i32 %801, ptr %3, align 4, !tbaa !5
  %802 = load i32, ptr %3, align 4, !tbaa !5
  %803 = icmp slt i32 0, %802
  br i1 %803, label %804, label %805

804:                                              ; preds = %796
  br label %826

805:                                              ; preds = %796
  br label %806

806:                                              ; preds = %805, %789, %786, %781
  br label %807

807:                                              ; preds = %806, %773
  %808 = load ptr, ptr %9, align 8, !tbaa !9
  %809 = load ptr, ptr %8, align 8, !tbaa !9
  %810 = icmp eq ptr %808, %809
  br i1 %810, label %811, label %812

811:                                              ; preds = %807
  br label %835

812:                                              ; preds = %807
  %813 = load i32, ptr %2, align 4, !tbaa !5
  %814 = sext i32 %813 to i64
  %815 = getelementptr inbounds [134 x i8], ptr @yystos, i64 0, i64 %814
  %816 = load i8, ptr %815, align 1, !tbaa !15
  %817 = zext i8 %816 to i32
  %818 = load ptr, ptr %12, align 8, !tbaa !9
  call void @yydestruct(ptr noundef @.str.20, i32 noundef %817, ptr noundef %818)
  %819 = load ptr, ptr %12, align 8, !tbaa !9
  %820 = getelementptr inbounds %union.YYSTYPE, ptr %819, i64 -1
  store ptr %820, ptr %12, align 8, !tbaa !9
  %821 = load ptr, ptr %9, align 8, !tbaa !9
  %822 = getelementptr inbounds i16, ptr %821, i64 -1
  store ptr %822, ptr %9, align 8, !tbaa !9
  %823 = load ptr, ptr %9, align 8, !tbaa !9
  %824 = load i16, ptr %823, align 2, !tbaa !13
  %825 = sext i16 %824 to i32
  store i32 %825, ptr %2, align 4, !tbaa !5
  br label %773

826:                                              ; preds = %804
  %827 = load i32, ptr %3, align 4, !tbaa !5
  %828 = icmp eq i32 %827, 53
  br i1 %828, label %829, label %830

829:                                              ; preds = %826
  br label %834

830:                                              ; preds = %826
  %831 = load ptr, ptr %12, align 8, !tbaa !9
  %832 = getelementptr inbounds %union.YYSTYPE, ptr %831, i32 1
  store ptr %832, ptr %12, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %832, ptr align 8 @yylval, i64 8, i1 false), !tbaa.struct !16
  %833 = load i32, ptr %3, align 4, !tbaa !5
  store i32 %833, ptr %2, align 4, !tbaa !5
  br label %36

834:                                              ; preds = %829, %204
  store i32 0, ptr %4, align 4, !tbaa !5
  br label %838

835:                                              ; preds = %811, %752, %131
  store i32 1, ptr %4, align 4, !tbaa !5
  br label %838

836:                                              ; preds = %131
  %837 = call i32 @yyerror(ptr noundef @.str.21)
  store i32 2, ptr %4, align 4, !tbaa !5
  br label %838

838:                                              ; preds = %836, %835, %834
  %839 = load i32, ptr @yychar, align 4, !tbaa !5
  %840 = icmp ne i32 %839, 0
  br i1 %840, label %841, label %846

841:                                              ; preds = %838
  %842 = load i32, ptr @yychar, align 4, !tbaa !5
  %843 = icmp ne i32 %842, -2
  br i1 %843, label %844, label %846

844:                                              ; preds = %841
  %845 = load i32, ptr %6, align 4, !tbaa !5
  call void @yydestruct(ptr noundef @.str.22, i32 noundef %845, ptr noundef @yylval)
  br label %846

846:                                              ; preds = %844, %841, %838
  %847 = load i32, ptr %15, align 4, !tbaa !5
  %848 = load ptr, ptr %12, align 8, !tbaa !9
  %849 = sext i32 %847 to i64
  %850 = sub i64 0, %849
  %851 = getelementptr inbounds %union.YYSTYPE, ptr %848, i64 %850
  store ptr %851, ptr %12, align 8, !tbaa !9
  %852 = load i32, ptr %15, align 4, !tbaa !5
  %853 = load ptr, ptr %9, align 8, !tbaa !9
  %854 = sext i32 %852 to i64
  %855 = sub i64 0, %854
  %856 = getelementptr inbounds i16, ptr %853, i64 %855
  store ptr %856, ptr %9, align 8, !tbaa !9
  br label %857

857:                                              ; preds = %861, %846
  %858 = load ptr, ptr %9, align 8, !tbaa !9
  %859 = load ptr, ptr %8, align 8, !tbaa !9
  %860 = icmp ne ptr %858, %859
  br i1 %860, label %861, label %873

861:                                              ; preds = %857
  %862 = load ptr, ptr %9, align 8, !tbaa !9
  %863 = load i16, ptr %862, align 2, !tbaa !13
  %864 = sext i16 %863 to i64
  %865 = getelementptr inbounds [134 x i8], ptr @yystos, i64 0, i64 %864
  %866 = load i8, ptr %865, align 1, !tbaa !15
  %867 = zext i8 %866 to i32
  %868 = load ptr, ptr %12, align 8, !tbaa !9
  call void @yydestruct(ptr noundef @.str.23, i32 noundef %867, ptr noundef %868)
  %869 = load ptr, ptr %12, align 8, !tbaa !9
  %870 = getelementptr inbounds %union.YYSTYPE, ptr %869, i64 -1
  store ptr %870, ptr %12, align 8, !tbaa !9
  %871 = load ptr, ptr %9, align 8, !tbaa !9
  %872 = getelementptr inbounds i16, ptr %871, i64 -1
  store ptr %872, ptr %9, align 8, !tbaa !9
  br label %857, !llvm.loop !17

873:                                              ; preds = %857
  %874 = load ptr, ptr %8, align 8, !tbaa !9
  %875 = getelementptr inbounds [200 x i16], ptr %7, i64 0, i64 0
  %876 = icmp ne ptr %874, %875
  br i1 %876, label %877, label %879

877:                                              ; preds = %873
  %878 = load ptr, ptr %8, align 8, !tbaa !9
  call void @free(ptr noundef %878) #6
  br label %879

879:                                              ; preds = %877, %873
  %880 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %880, ptr %1, align 4
  store i32 1, ptr %21, align 4
  br label %881

881:                                              ; preds = %879, %131
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 1600, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 400, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #6
  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 4, ptr %2) #6
  %882 = load i32, ptr %1, align 4
  ret i32 %882
}

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

; Function Attrs: nounwind allocsize(0)
declare noalias ptr @malloc(i64 noundef) #2

; 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) #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 void @free(ptr noundef) #4

declare i32 @yylex() #5

declare void @MinisqlParserSetRoot(ptr noundef) #5

declare ptr @CreateSyntaxNode(i32 noundef, ptr noundef) #5

declare void @SyntaxNodeAddChildren(ptr noundef, ptr noundef) #5

declare void @SyntaxNodeAddSibling(ptr noundef, ptr noundef) #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @yyerror(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden void @yydestruct(ptr noundef, i32 noundef, ptr noundef) #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 = { nounwind allocsize(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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = { "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 allocsize(0) }

!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, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"short", !7, i64 0}
!15 = !{!7, !7, i64 0}
!16 = !{i64 0, i64 8, !15}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}


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

%union.YYSTYPE = type { ptr }
%union.yyalloc = type { %union.YYSTYPE }

@yynerrs = external dso_local local_unnamed_addr global i32, align 4
@yychar = external dso_local local_unnamed_addr global i32, align 4
@yypact = external hidden local_unnamed_addr constant [134 x i8], align 16
@yytranslate = external hidden local_unnamed_addr constant [302 x i8], align 16
@yycheck = external hidden local_unnamed_addr constant [107 x i8], align 16
@yytable = external hidden local_unnamed_addr constant [107 x i8], align 16
@yylval = external dso_local global %union.YYSTYPE, align 8
@yydefact = external hidden local_unnamed_addr constant [134 x i8], align 16
@yyr2 = external hidden local_unnamed_addr constant [78 x i8], align 16
@.str = external hidden unnamed_addr constant [13 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [4 x i8], align 1
@yyr1 = external hidden local_unnamed_addr constant [78 x i8], align 16
@yypgoto = external hidden local_unnamed_addr constant [35 x i8], align 16
@yydefgoto = external hidden local_unnamed_addr constant [35 x i8], align 16
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [15 x i8], align 1
@yystos = external hidden local_unnamed_addr constant [134 x i8], align 16
@.str.21 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [17 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @yyparse() local_unnamed_addr #0 {
  %1 = alloca [200 x i16], align 16
  %2 = alloca [200 x %union.YYSTYPE], align 16
  call void @llvm.lifetime.start.p0(i64 400, ptr nonnull %1) #7
  call void @llvm.lifetime.start.p0(i64 1600, ptr nonnull %2) #7
  store i32 0, ptr @yynerrs, align 4, !tbaa !5
  store i32 -2, ptr @yychar, align 4, !tbaa !5
  br label %5

3:                                                ; preds = %344, %348, %386, %68
  %.0299 = phi ptr [ %388, %386 ], [ %327, %344 ], [ %327, %348 ], [ %69, %68 ]
  %.0286 = phi ptr [ %.4290, %386 ], [ %326, %344 ], [ %326, %348 ], [ %.3289, %68 ]
  %.0277 = phi i32 [ %.5, %386 ], [ %.3, %344 ], [ %.3, %348 ], [ %.2279, %68 ]
  %.0274 = phi i32 [ 3, %386 ], [ %.1275, %344 ], [ %.1275, %348 ], [ %spec.select, %68 ]
  %.0271 = phi i32 [ %387, %386 ], [ %347, %344 ], [ %351, %348 ], [ %65, %68 ]
  %4 = getelementptr inbounds i8, ptr %.0286, i64 2
  br label %5

5:                                                ; preds = %3, %0
  %.0310 = phi i64 [ 200, %0 ], [ %.2312, %3 ]
  %.1300 = phi ptr [ %2, %0 ], [ %.0299, %3 ]
  %.0295 = phi ptr [ %2, %0 ], [ %.3298, %3 ]
  %.1287 = phi ptr [ %1, %0 ], [ %4, %3 ]
  %.0280 = phi ptr [ %1, %0 ], [ %.3283, %3 ]
  %.1278 = phi i32 [ 0, %0 ], [ %.0277, %3 ]
  %.1275 = phi i32 [ 0, %0 ], [ %.0274, %3 ]
  %.1 = phi i32 [ 0, %0 ], [ %.0271, %3 ]
  %6 = trunc nsw i32 %.1 to i16
  store i16 %6, ptr %.1287, align 2, !tbaa !9
  %7 = getelementptr inbounds i16, ptr %.0280, i64 %.0310
  %8 = getelementptr inbounds i8, ptr %7, i64 -2
  %.not = icmp ugt ptr %8, %.1287
  br i1 %.not, label %.thread357, label %9

9:                                                ; preds = %5
  %10 = ptrtoint ptr %.1287 to i64
  %11 = ptrtoint ptr %.0280 to i64
  %12 = sub i64 %10, %11
  %13 = ashr exact i64 %12, 1
  %14 = add nsw i64 %13, 1
  %15 = icmp ugt i64 %.0310, 9999
  br i1 %15, label %390, label %16

16:                                               ; preds = %9
  %17 = shl nuw nsw i64 %.0310, 1
  %spec.store.select = call i64 @llvm.umin.i64(i64 %17, i64 10000)
  %18 = mul nuw nsw i64 %spec.store.select, 10
  %19 = add nuw nsw i64 %18, 7
  %20 = call noalias ptr @malloc(i64 noundef %19) #8
  %.not329.not = icmp eq ptr %20, null
  br i1 %.not329.not, label %390, label %21

21:                                               ; preds = %16
  %22 = shl i64 %14, 1
  call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %20, ptr align 2 %.0280, i64 %22, i1 false)
  %23 = shl nuw nsw i64 %spec.store.select, 1
  %24 = add nuw nsw i64 %23, 7
  %25 = lshr i64 %24, 3
  %26 = getelementptr inbounds %union.yyalloc, ptr %20, i64 %25
  %27 = shl i64 %14, 3
  call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %26, ptr align 8 %.0295, i64 %27, i1 false)
  %.not330 = icmp eq ptr %.0280, %1
  br i1 %.not330, label %29, label %28

28:                                               ; preds = %21
  call void @free(ptr noundef %.0280) #7
  br label %29

29:                                               ; preds = %21, %28
  %30 = getelementptr inbounds i16, ptr %20, i64 %14
  %31 = getelementptr inbounds i8, ptr %30, i64 -2
  %32 = getelementptr inbounds %union.YYSTYPE, ptr %26, i64 %14
  %33 = getelementptr inbounds i8, ptr %32, i64 -8
  %.not331 = icmp sgt i64 %spec.store.select, %14
  br i1 %.not331, label %.thread357, label %.loopexit

.thread357:                                       ; preds = %29, %5
  %.2312 = phi i64 [ %.0310, %5 ], [ %spec.store.select, %29 ]
  %.3302 = phi ptr [ %.1300, %5 ], [ %33, %29 ]
  %.3298 = phi ptr [ %.0295, %5 ], [ %26, %29 ]
  %.3289 = phi ptr [ %.1287, %5 ], [ %31, %29 ]
  %.3283 = phi ptr [ %.0280, %5 ], [ %20, %29 ]
  %34 = sext i32 %.1 to i64
  %35 = getelementptr inbounds [134 x i8], ptr @yypact, i64 0, i64 %34
  %36 = load i8, ptr %35, align 1, !tbaa !11
  %37 = sext i8 %36 to i32
  %38 = icmp eq i8 %36, -85
  br i1 %38, label %71, label %39

39:                                               ; preds = %.thread357
  %40 = load i32, ptr @yychar, align 4, !tbaa !5
  %41 = icmp eq i32 %40, -2
  br i1 %41, label %42, label %44

42:                                               ; preds = %39
  %43 = call i32 @yylex() #7
  store i32 %43, ptr @yychar, align 4, !tbaa !5
  br label %44

44:                                               ; preds = %42, %39
  %45 = phi i32 [ %43, %42 ], [ %40, %39 ]
  %46 = icmp slt i32 %45, 1
  br i1 %46, label %47, label %48

47:                                               ; preds = %44
  store i32 0, ptr @yychar, align 4, !tbaa !5
  br label %55

48:                                               ; preds = %44
  %49 = icmp ult i32 %45, 302
  br i1 %49, label %50, label %55

50:                                               ; preds = %48
  %51 = zext nneg i32 %45 to i64
  %52 = getelementptr inbounds [302 x i8], ptr @yytranslate, i64 0, i64 %51
  %53 = load i8, ptr %52, align 1, !tbaa !11
  %54 = zext i8 %53 to i32
  br label %55

55:                                               ; preds = %50, %48, %47
  %.2279 = phi i32 [ 0, %47 ], [ %54, %50 ], [ 2, %48 ]
  %56 = add nsw i32 %.2279, %37
  %or.cond = icmp ugt i32 %56, 106
  br i1 %or.cond, label %71, label %57

57:                                               ; preds = %55
  %58 = zext nneg i32 %56 to i64
  %59 = getelementptr inbounds [107 x i8], ptr @yycheck, i64 0, i64 %58
  %60 = load i8, ptr %59, align 1, !tbaa !11
  %61 = sext i8 %60 to i32
  %.not332 = icmp eq i32 %.2279, %61
  br i1 %.not332, label %62, label %71

62:                                               ; preds = %57
  %63 = getelementptr inbounds [107 x i8], ptr @yytable, i64 0, i64 %58
  %64 = load i8, ptr %63, align 1, !tbaa !11
  %65 = zext i8 %64 to i32
  switch i8 %64, label %66 [
    i8 0, label %352
    i8 53, label %.loopexit
  ]

66:                                               ; preds = %62
  %spec.select = call i32 @llvm.usub.sat.i32(i32 %.1275, i32 1)
  br i1 %46, label %68, label %67

67:                                               ; preds = %66
  store i32 -2, ptr @yychar, align 4, !tbaa !5
  br label %68

68:                                               ; preds = %67, %66
  %69 = getelementptr inbounds i8, ptr %.3302, i64 8
  %70 = load i64, ptr @yylval, align 8, !tbaa !11
  store i64 %70, ptr %69, align 8, !tbaa !11
  br label %3

71:                                               ; preds = %55, %57, %.thread357
  %.3 = phi i32 [ %.1278, %.thread357 ], [ %.2279, %55 ], [ %.2279, %57 ]
  %72 = getelementptr inbounds [134 x i8], ptr @yydefact, i64 0, i64 %34
  %73 = load i8, ptr %72, align 1, !tbaa !11
  %74 = icmp eq i8 %73, 0
  br i1 %74, label %352, label %75

75:                                               ; preds = %71
  %76 = zext i8 %73 to i64
  %77 = getelementptr inbounds [78 x i8], ptr @yyr2, i64 0, i64 %76
  %78 = load i8, ptr %77, align 1, !tbaa !11
  %79 = zext i8 %78 to i64
  %80 = sub nsw i64 1, %79
  %81 = getelementptr inbounds %union.YYSTYPE, ptr %.3302, i64 %80
  %.sroa.0.0.copyload = load ptr, ptr %81, align 8, !tbaa !11
  switch i8 %73, label %323 [
    i8 2, label %82
    i8 3, label %85
    i8 4, label %87
    i8 5, label %89
    i8 6, label %91
    i8 7, label %93
    i8 8, label %95
    i8 9, label %97
    i8 10, label %99
    i8 11, label %101
    i8 12, label %103
    i8 13, label %105
    i8 14, label %107
    i8 15, label %109
    i8 16, label %111
    i8 17, label %113
    i8 18, label %115
    i8 19, label %117
    i8 20, label %119
    i8 21, label %121
    i8 22, label %123
    i8 23, label %126
    i8 24, label %129
    i8 25, label %131
    i8 26, label %134
    i8 27, label %136
    i8 28, label %143
    i8 29, label %147
    i8 30, label %149
    i8 31, label %153
    i8 32, label %155
    i8 33, label %159
    i8 34, label %165
    i8 35, label %170
    i8 36, label %172
    i8 37, label %174
    i8 38, label %178
    i8 39, label %181
    i8 40, label %190
    i8 41, label %201
    i8 42, label %204
    i8 43, label %206
    i8 44, label %211
    i8 45, label %219
    i8 46, label %221
    i8 47, label %224
    i8 48, label %230
    i8 49, label %232
    i8 50, label %234
    i8 51, label %236
    i8 52, label %242
    i8 53, label %244
    i8 54, label %246
    i8 55, label %248
    i8 56, label %250
    i8 57, label %252
    i8 58, label %254
    i8 59, label %256
    i8 60, label %258
    i8 61, label %260
    i8 62, label %262
    i8 63, label %264
    i8 64, label %271
    i8 65, label %275
    i8 66, label %277
    i8 67, label %280
    i8 68, label %286
    i8 69, label %292
    i8 70, label %301
    i8 71, label %305
    i8 72, label %307
    i8 73, label %312
    i8 74, label %314
    i8 75, label %316
    i8 76, label %318
    i8 77, label %320
  ]

82:                                               ; preds = %75
  %83 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %84 = load ptr, ptr %83, align 8, !tbaa !11
  call void @MinisqlParserSetRoot(ptr noundef %84) #7
  br label %323

85:                                               ; preds = %75
  %86 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

87:                                               ; preds = %75
  %88 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

89:                                               ; preds = %75
  %90 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

91:                                               ; preds = %75
  %92 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

93:                                               ; preds = %75
  %94 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

95:                                               ; preds = %75
  %96 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

97:                                               ; preds = %75
  %98 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

99:                                               ; preds = %75
  %100 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

101:                                              ; preds = %75
  %102 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

103:                                              ; preds = %75
  %104 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

105:                                              ; preds = %75
  %106 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

107:                                              ; preds = %75
  %108 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

109:                                              ; preds = %75
  %110 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

111:                                              ; preds = %75
  %112 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

113:                                              ; preds = %75
  %114 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

115:                                              ; preds = %75
  %116 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

117:                                              ; preds = %75
  %118 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

119:                                              ; preds = %75
  %120 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

121:                                              ; preds = %75
  %122 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

123:                                              ; preds = %75
  %124 = call ptr @CreateSyntaxNode(i32 noundef 7, ptr noundef null) #7
  %125 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %124, ptr noundef %125) #7
  br label %323

126:                                              ; preds = %75
  %127 = call ptr @CreateSyntaxNode(i32 noundef 8, ptr noundef null) #7
  %128 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %127, ptr noundef %128) #7
  br label %323

129:                                              ; preds = %75
  %130 = call ptr @CreateSyntaxNode(i32 noundef 9, ptr noundef null) #7
  br label %323

131:                                              ; preds = %75
  %132 = call ptr @CreateSyntaxNode(i32 noundef 10, ptr noundef null) #7
  %133 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %132, ptr noundef %133) #7
  br label %323

134:                                              ; preds = %75
  %135 = call ptr @CreateSyntaxNode(i32 noundef 11, ptr noundef null) #7
  br label %323

136:                                              ; preds = %75
  %137 = call ptr @CreateSyntaxNode(i32 noundef 12, ptr noundef null) #7
  %138 = call ptr @CreateSyntaxNode(i32 noundef 24, ptr noundef null) #7
  %139 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %140 = load ptr, ptr %139, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %138, ptr noundef %140) #7
  %141 = getelementptr inbounds i8, ptr %.3302, i64 -24
  %142 = load ptr, ptr %141, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %137, ptr noundef %142) #7
  call void @SyntaxNodeAddChildren(ptr noundef %137, ptr noundef %138) #7
  br label %323

143:                                              ; preds = %75
  %144 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %145 = load ptr, ptr %144, align 8, !tbaa !11
  %146 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddSibling(ptr noundef %145, ptr noundef %146) #7
  br label %323

147:                                              ; preds = %75
  %148 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

149:                                              ; preds = %75
  %150 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %151 = load ptr, ptr %150, align 8, !tbaa !11
  %152 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddSibling(ptr noundef %151, ptr noundef %152) #7
  br label %323

153:                                              ; preds = %75
  %154 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

155:                                              ; preds = %75
  %156 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef nonnull @.str) #7
  %157 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %158 = load ptr, ptr %157, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %156, ptr noundef %158) #7
  br label %323

159:                                              ; preds = %75
  %160 = call ptr @CreateSyntaxNode(i32 noundef 23, ptr noundef nonnull @.str.1) #7
  %161 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %162 = load ptr, ptr %161, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %160, ptr noundef %162) #7
  %163 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %164 = load ptr, ptr %163, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %160, ptr noundef %164) #7
  br label %323

165:                                              ; preds = %75
  %166 = call ptr @CreateSyntaxNode(i32 noundef 23, ptr noundef null) #7
  %167 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %168 = load ptr, ptr %167, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %166, ptr noundef %168) #7
  %169 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %166, ptr noundef %169) #7
  br label %323

170:                                              ; preds = %75
  %171 = call ptr @CreateSyntaxNode(i32 noundef 22, ptr noundef nonnull @.str.2) #7
  br label %323

172:                                              ; preds = %75
  %173 = call ptr @CreateSyntaxNode(i32 noundef 22, ptr noundef nonnull @.str.3) #7
  br label %323

174:                                              ; preds = %75
  %175 = call ptr @CreateSyntaxNode(i32 noundef 22, ptr noundef nonnull @.str.4) #7
  %176 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %177 = load ptr, ptr %176, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %175, ptr noundef %177) #7
  br label %323

178:                                              ; preds = %75
  %179 = call ptr @CreateSyntaxNode(i32 noundef 13, ptr noundef null) #7
  %180 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %179, ptr noundef %180) #7
  br label %323

181:                                              ; preds = %75
  %182 = call ptr @CreateSyntaxNode(i32 noundef 30, ptr noundef null) #7
  %183 = getelementptr inbounds i8, ptr %.3302, i64 -40
  %184 = load ptr, ptr %183, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %182, ptr noundef %184) #7
  %185 = getelementptr inbounds i8, ptr %.3302, i64 -24
  %186 = load ptr, ptr %185, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %182, ptr noundef %186) #7
  %187 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef nonnull @.str.5) #7
  %188 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %189 = load ptr, ptr %188, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %187, ptr noundef %189) #7
  call void @SyntaxNodeAddChildren(ptr noundef %182, ptr noundef %187) #7
  br label %323

190:                                              ; preds = %75
  %191 = call ptr @CreateSyntaxNode(i32 noundef 30, ptr noundef null) #7
  %192 = getelementptr inbounds i8, ptr %.3302, i64 -56
  %193 = load ptr, ptr %192, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %191, ptr noundef %193) #7
  %194 = getelementptr inbounds i8, ptr %.3302, i64 -40
  %195 = load ptr, ptr %194, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %191, ptr noundef %195) #7
  %196 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef nonnull @.str.5) #7
  %197 = getelementptr inbounds i8, ptr %.3302, i64 -24
  %198 = load ptr, ptr %197, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %196, ptr noundef %198) #7
  call void @SyntaxNodeAddChildren(ptr noundef %191, ptr noundef %196) #7
  %199 = call ptr @CreateSyntaxNode(i32 noundef 32, ptr noundef nonnull @.str.6) #7
  %200 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %199, ptr noundef %200) #7
  call void @SyntaxNodeAddChildren(ptr noundef %191, ptr noundef %199) #7
  br label %323

201:                                              ; preds = %75
  %202 = call ptr @CreateSyntaxNode(i32 noundef 31, ptr noundef null) #7
  %203 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %202, ptr noundef %203) #7
  br label %323

204:                                              ; preds = %75
  %205 = call ptr @CreateSyntaxNode(i32 noundef 14, ptr noundef null) #7
  br label %323

206:                                              ; preds = %75
  %207 = call ptr @CreateSyntaxNode(i32 noundef 18, ptr noundef null) #7
  %208 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %209 = load ptr, ptr %208, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %207, ptr noundef %209) #7
  %210 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %207, ptr noundef %210) #7
  br label %323

211:                                              ; preds = %75
  %212 = call ptr @CreateSyntaxNode(i32 noundef 18, ptr noundef null) #7
  %213 = getelementptr inbounds i8, ptr %.3302, i64 -32
  %214 = load ptr, ptr %213, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %212, ptr noundef %214) #7
  %215 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %216 = load ptr, ptr %215, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %212, ptr noundef %216) #7
  %217 = call ptr @CreateSyntaxNode(i32 noundef 19, ptr noundef null) #7
  %218 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %217, ptr noundef %218) #7
  call void @SyntaxNodeAddChildren(ptr noundef %212, ptr noundef %217) #7
  br label %323

219:                                              ; preds = %75
  %220 = call ptr @CreateSyntaxNode(i32 noundef 29, ptr noundef null) #7
  br label %323

221:                                              ; preds = %75
  %222 = call ptr @CreateSyntaxNode(i32 noundef 25, ptr noundef nonnull @.str.7) #7
  %223 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %222, ptr noundef %223) #7
  br label %323

224:                                              ; preds = %75
  %225 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %226 = load ptr, ptr %225, align 8, !tbaa !11
  %227 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %228 = load ptr, ptr %227, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %226, ptr noundef %228) #7
  %229 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %226, ptr noundef %229) #7
  br label %323

230:                                              ; preds = %75
  %231 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

232:                                              ; preds = %75
  %233 = call ptr @CreateSyntaxNode(i32 noundef 20, ptr noundef nonnull @.str.8) #7
  br label %323

234:                                              ; preds = %75
  %235 = call ptr @CreateSyntaxNode(i32 noundef 20, ptr noundef nonnull @.str.9) #7
  br label %323

236:                                              ; preds = %75
  %237 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %238 = load ptr, ptr %237, align 8, !tbaa !11
  %239 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %240 = load ptr, ptr %239, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %238, ptr noundef %240) #7
  %241 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %238, ptr noundef %241) #7
  br label %323

242:                                              ; preds = %75
  %243 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

244:                                              ; preds = %75
  %245 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

246:                                              ; preds = %75
  %247 = call ptr @CreateSyntaxNode(i32 noundef 6, ptr noundef null) #7
  br label %323

248:                                              ; preds = %75
  %249 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.10) #7
  br label %323

250:                                              ; preds = %75
  %251 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.11) #7
  br label %323

252:                                              ; preds = %75
  %253 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.12) #7
  br label %323

254:                                              ; preds = %75
  %255 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.13) #7
  br label %323

256:                                              ; preds = %75
  %257 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.14) #7
  br label %323

258:                                              ; preds = %75
  %259 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.15) #7
  br label %323

260:                                              ; preds = %75
  %261 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.16) #7
  br label %323

262:                                              ; preds = %75
  %263 = call ptr @CreateSyntaxNode(i32 noundef 21, ptr noundef nonnull @.str.17) #7
  br label %323

264:                                              ; preds = %75
  %265 = call ptr @CreateSyntaxNode(i32 noundef 15, ptr noundef null) #7
  %266 = getelementptr inbounds i8, ptr %.3302, i64 -32
  %267 = load ptr, ptr %266, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %265, ptr noundef %267) #7
  %268 = call ptr @CreateSyntaxNode(i32 noundef 26, ptr noundef null) #7
  %269 = getelementptr inbounds i8, ptr %.3302, i64 -8
  %270 = load ptr, ptr %269, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %268, ptr noundef %270) #7
  call void @SyntaxNodeAddChildren(ptr noundef %265, ptr noundef %268) #7
  br label %323

271:                                              ; preds = %75
  %272 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %273 = load ptr, ptr %272, align 8, !tbaa !11
  %274 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddSibling(ptr noundef %273, ptr noundef %274) #7
  br label %323

275:                                              ; preds = %75
  %276 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

277:                                              ; preds = %75
  %278 = call ptr @CreateSyntaxNode(i32 noundef 16, ptr noundef null) #7
  %279 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %278, ptr noundef %279) #7
  br label %323

280:                                              ; preds = %75
  %281 = call ptr @CreateSyntaxNode(i32 noundef 16, ptr noundef null) #7
  %282 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %283 = load ptr, ptr %282, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %281, ptr noundef %283) #7
  %284 = call ptr @CreateSyntaxNode(i32 noundef 19, ptr noundef null) #7
  %285 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %284, ptr noundef %285) #7
  call void @SyntaxNodeAddChildren(ptr noundef %281, ptr noundef %284) #7
  br label %323

286:                                              ; preds = %75
  %287 = call ptr @CreateSyntaxNode(i32 noundef 17, ptr noundef null) #7
  %288 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %289 = load ptr, ptr %288, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %287, ptr noundef %289) #7
  %290 = call ptr @CreateSyntaxNode(i32 noundef 27, ptr noundef null) #7
  %291 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %290, ptr noundef %291) #7
  call void @SyntaxNodeAddChildren(ptr noundef %287, ptr noundef %290) #7
  br label %323

292:                                              ; preds = %75
  %293 = call ptr @CreateSyntaxNode(i32 noundef 17, ptr noundef null) #7
  %294 = getelementptr inbounds i8, ptr %.3302, i64 -32
  %295 = load ptr, ptr %294, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %293, ptr noundef %295) #7
  %296 = call ptr @CreateSyntaxNode(i32 noundef 27, ptr noundef null) #7
  %297 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %298 = load ptr, ptr %297, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %296, ptr noundef %298) #7
  call void @SyntaxNodeAddChildren(ptr noundef %293, ptr noundef %296) #7
  %299 = call ptr @CreateSyntaxNode(i32 noundef 19, ptr noundef null) #7
  %300 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %299, ptr noundef %300) #7
  call void @SyntaxNodeAddChildren(ptr noundef %293, ptr noundef %299) #7
  br label %323

301:                                              ; preds = %75
  %302 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %303 = load ptr, ptr %302, align 8, !tbaa !11
  %304 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddSibling(ptr noundef %303, ptr noundef %304) #7
  br label %323

305:                                              ; preds = %75
  %306 = load ptr, ptr %.3302, align 8, !tbaa !11
  br label %323

307:                                              ; preds = %75
  %308 = call ptr @CreateSyntaxNode(i32 noundef 28, ptr noundef null) #7
  %309 = getelementptr inbounds i8, ptr %.3302, i64 -16
  %310 = load ptr, ptr %309, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %308, ptr noundef %310) #7
  %311 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %308, ptr noundef %311) #7
  br label %323

312:                                              ; preds = %75
  %313 = call ptr @CreateSyntaxNode(i32 noundef 33, ptr noundef null) #7
  br label %323

314:                                              ; preds = %75
  %315 = call ptr @CreateSyntaxNode(i32 noundef 34, ptr noundef null) #7
  br label %323

316:                                              ; preds = %75
  %317 = call ptr @CreateSyntaxNode(i32 noundef 35, ptr noundef null) #7
  br label %323

318:                                              ; preds = %75
  %319 = call ptr @CreateSyntaxNode(i32 noundef 1, ptr noundef null) #7
  br label %323

320:                                              ; preds = %75
  %321 = call ptr @CreateSyntaxNode(i32 noundef 2, ptr noundef null) #7
  %322 = load ptr, ptr %.3302, align 8, !tbaa !11
  call void @SyntaxNodeAddChildren(ptr noundef %321, ptr noundef %322) #7
  br label %323

323:                                              ; preds = %75, %320, %318, %316, %314, %312, %307, %305, %301, %292, %286, %280, %277, %275, %271, %264, %262, %260, %258, %256, %254, %252, %250, %248, %246, %244, %242, %236, %234, %232, %230, %224, %221, %219, %211, %206, %204, %201, %190, %181, %178, %174, %172, %170, %165, %159, %155, %153, %149, %147, %143, %136, %134, %131, %129, %126, %123, %121, %119, %117, %115, %113, %111, %109, %107, %105, %103, %101, %99, %97, %95, %93, %91, %89, %87, %85, %82
  %.sroa.0.0 = phi ptr [ %.sroa.0.0.copyload, %75 ], [ %321, %320 ], [ %319, %318 ], [ %317, %316 ], [ %315, %314 ], [ %313, %312 ], [ %308, %307 ], [ %306, %305 ], [ %303, %301 ], [ %293, %292 ], [ %287, %286 ], [ %281, %280 ], [ %278, %277 ], [ %276, %275 ], [ %273, %271 ], [ %265, %264 ], [ %263, %262 ], [ %261, %260 ], [ %259, %258 ], [ %257, %256 ], [ %255, %254 ], [ %253, %252 ], [ %251, %250 ], [ %249, %248 ], [ %247, %246 ], [ %245, %244 ], [ %243, %242 ], [ %238, %236 ], [ %235, %234 ], [ %233, %232 ], [ %231, %230 ], [ %226, %224 ], [ %222, %221 ], [ %220, %219 ], [ %212, %211 ], [ %207, %206 ], [ %205, %204 ], [ %202, %201 ], [ %191, %190 ], [ %182, %181 ], [ %179, %178 ], [ %175, %174 ], [ %173, %172 ], [ %171, %170 ], [ %166, %165 ], [ %160, %159 ], [ %156, %155 ], [ %154, %153 ], [ %151, %149 ], [ %148, %147 ], [ %145, %143 ], [ %137, %136 ], [ %135, %134 ], [ %132, %131 ], [ %130, %129 ], [ %127, %126 ], [ %124, %123 ], [ %122, %121 ], [ %120, %119 ], [ %118, %117 ], [ %116, %115 ], [ %114, %113 ], [ %112, %111 ], [ %110, %109 ], [ %108, %107 ], [ %106, %105 ], [ %104, %103 ], [ %102, %101 ], [ %100, %99 ], [ %98, %97 ], [ %96, %95 ], [ %94, %93 ], [ %92, %91 ], [ %90, %89 ], [ %88, %87 ], [ %86, %85 ], [ %84, %82 ]
  %324 = sub nsw i64 0, %79
  %325 = getelementptr inbounds %union.YYSTYPE, ptr %.3302, i64 %324
  %326 = getelementptr inbounds i16, ptr %.3289, i64 %324
  %327 = getelementptr inbounds i8, ptr %325, i64 8
  store ptr %.sroa.0.0, ptr %327, align 8, !tbaa !11
  %328 = getelementptr inbounds [78 x i8], ptr @yyr1, i64 0, i64 %76
  %329 = load i8, ptr %328, align 1, !tbaa !11
  %330 = zext i8 %329 to i64
  %331 = add nsw i64 %330, -54
  %332 = getelementptr inbounds [35 x i8], ptr @yypgoto, i64 0, i64 %331
  %333 = load i8, ptr %332, align 1, !tbaa !11
  %334 = sext i8 %333 to i32
  %335 = load i16, ptr %326, align 2, !tbaa !9
  %336 = sext i16 %335 to i32
  %337 = add nsw i32 %336, %334
  %or.cond5 = icmp ult i32 %337, 107
  br i1 %or.cond5, label %338, label %348

338:                                              ; preds = %323
  %339 = zext nneg i32 %337 to i64
  %340 = getelementptr inbounds [107 x i8], ptr @yycheck, i64 0, i64 %339
  %341 = load i8, ptr %340, align 1, !tbaa !11
  %342 = sext i8 %341 to i16
  %343 = icmp eq i16 %335, %342
  br i1 %343, label %344, label %348

344:                                              ; preds = %338
  %345 = getelementptr inbounds [107 x i8], ptr @yytable, i64 0, i64 %339
  %346 = load i8, ptr %345, align 1, !tbaa !11
  %347 = zext i8 %346 to i32
  br label %3

348:                                              ; preds = %338, %323
  %349 = getelementptr inbounds [35 x i8], ptr @yydefgoto, i64 0, i64 %331
  %350 = load i8, ptr %349, align 1, !tbaa !11
  %351 = sext i8 %350 to i32
  br label %3

352:                                              ; preds = %62, %71
  %.5 = phi i32 [ %.3, %71 ], [ %.2279, %62 ]
  switch i32 %.1275, label %.preheader [
    i32 0, label %353
    i32 3, label %357
  ]

353:                                              ; preds = %352
  %354 = load i32, ptr @yynerrs, align 4, !tbaa !5
  %355 = add nsw i32 %354, 1
  store i32 %355, ptr @yynerrs, align 4, !tbaa !5
  %356 = call i32 @yyerror(ptr noundef nonnull @.str.18)
  br label %.preheader

357:                                              ; preds = %352
  %358 = load i32, ptr @yychar, align 4
  %359 = icmp slt i32 %358, 1
  br i1 %359, label %360, label %362

360:                                              ; preds = %357
  %361 = icmp eq i32 %358, 0
  br i1 %361, label %.thread364, label %.preheader

362:                                              ; preds = %357
  call void @yydestruct(ptr noundef nonnull @.str.19, i32 noundef %.5, ptr noundef nonnull @yylval)
  store i32 -2, ptr @yychar, align 4, !tbaa !5
  br label %.preheader

.preheader:                                       ; preds = %353, %352, %360, %362
  br label %363

363:                                              ; preds = %.preheader, %378
  %364 = phi i8 [ %.pre, %378 ], [ %36, %.preheader ]
  %.4303 = phi ptr [ %382, %378 ], [ %.3302, %.preheader ]
  %.4290 = phi ptr [ %383, %378 ], [ %.3289, %.preheader ]
  %.2 = phi i32 [ %385, %378 ], [ %.1, %.preheader ]
  %365 = sext i32 %.2 to i64
  %366 = add i8 %364, 1
  %or.cond7 = icmp ult i8 %366, 107
  br i1 %or.cond7, label %367, label %376

367:                                              ; preds = %363
  %368 = sext i8 %364 to i64
  %369 = add nsw i64 %368, 1
  %370 = getelementptr inbounds [107 x i8], ptr @yycheck, i64 0, i64 %369
  %371 = load i8, ptr %370, align 1, !tbaa !11
  %372 = icmp eq i8 %371, 1
  br i1 %372, label %373, label %376

373:                                              ; preds = %367
  %374 = getelementptr inbounds [107 x i8], ptr @yytable, i64 0, i64 %369
  %375 = load i8, ptr %374, align 1, !tbaa !11
  switch i8 %375, label %386 [
    i8 0, label %376
    i8 53, label %.loopexit
  ]

376:                                              ; preds = %373, %367, %363
  %377 = icmp eq ptr %.4290, %.3283
  br i1 %377, label %.loopexit, label %378

378:                                              ; preds = %376
  %379 = getelementptr inbounds [134 x i8], ptr @yystos, i64 0, i64 %365
  %380 = load i8, ptr %379, align 1, !tbaa !11
  %381 = zext i8 %380 to i32
  call void @yydestruct(ptr noundef nonnull @.str.20, i32 noundef %381, ptr noundef nonnull %.4303)
  %382 = getelementptr inbounds i8, ptr %.4303, i64 -8
  %383 = getelementptr inbounds i8, ptr %.4290, i64 -2
  %384 = load i16, ptr %383, align 2, !tbaa !9
  %385 = sext i16 %384 to i32
  %.phi.trans.insert = sext i16 %384 to i64
  %.phi.trans.insert417 = getelementptr inbounds [134 x i8], ptr @yypact, i64 0, i64 %.phi.trans.insert
  %.pre = load i8, ptr %.phi.trans.insert417, align 1, !tbaa !11
  br label %363

386:                                              ; preds = %373
  %387 = zext i8 %375 to i32
  %388 = getelementptr inbounds i8, ptr %.4303, i64 8
  %389 = load i64, ptr @yylval, align 8, !tbaa !11
  store i64 %389, ptr %388, align 8, !tbaa !11
  br label %3

390:                                              ; preds = %9, %16
  %391 = call i32 @yyerror(ptr noundef nonnull @.str.21)
  br label %.loopexit

.loopexit:                                        ; preds = %29, %62, %376, %373, %390
  %.7306.ph = phi ptr [ %.1300, %390 ], [ %.4303, %373 ], [ %.4303, %376 ], [ %.3302, %62 ], [ %33, %29 ]
  %.7293.ph = phi ptr [ %.1287, %390 ], [ %.4290, %373 ], [ %.4290, %376 ], [ %.3289, %62 ], [ %31, %29 ]
  %.5285.ph = phi ptr [ %.0280, %390 ], [ %.3283, %373 ], [ %.3283, %376 ], [ %.3283, %62 ], [ %20, %29 ]
  %.8.ph = phi i32 [ %.1278, %390 ], [ %.5, %373 ], [ %.5, %376 ], [ %.2279, %62 ], [ %.1278, %29 ]
  %.0273.ph = phi i32 [ 2, %390 ], [ 1, %376 ], [ 0, %373 ], [ 0, %62 ], [ 1, %29 ]
  %.pr = load i32, ptr @yychar, align 4
  switch i32 %.pr, label %392 [
    i32 -2, label %.thread364
    i32 0, label %.thread364
  ]

392:                                              ; preds = %.loopexit
  call void @yydestruct(ptr noundef nonnull @.str.22, i32 noundef %.8.ph, ptr noundef nonnull @yylval)
  br label %.thread364

.thread364:                                       ; preds = %360, %.loopexit, %.loopexit, %392
  %.0273373 = phi i32 [ %.0273.ph, %.loopexit ], [ %.0273.ph, %.loopexit ], [ %.0273.ph, %392 ], [ 1, %360 ]
  %.5285372 = phi ptr [ %.5285.ph, %.loopexit ], [ %.5285.ph, %.loopexit ], [ %.5285.ph, %392 ], [ %.3283, %360 ]
  %.7293371 = phi ptr [ %.7293.ph, %.loopexit ], [ %.7293.ph, %.loopexit ], [ %.7293.ph, %392 ], [ %.3289, %360 ]
  %.7306370 = phi ptr [ %.7306.ph, %.loopexit ], [ %.7306.ph, %.loopexit ], [ %.7306.ph, %392 ], [ %.3302, %360 ]
  %.not338394 = icmp eq ptr %.7293371, %.5285372
  br i1 %.not338394, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.thread364, %.lr.ph
  %.8294396 = phi ptr [ %399, %.lr.ph ], [ %.7293371, %.thread364 ]
  %.8307395 = phi ptr [ %398, %.lr.ph ], [ %.7306370, %.thread364 ]
  %393 = load i16, ptr %.8294396, align 2, !tbaa !9
  %394 = sext i16 %393 to i64
  %395 = getelementptr inbounds [134 x i8], ptr @yystos, i64 0, i64 %394
  %396 = load i8, ptr %395, align 1, !tbaa !11
  %397 = zext i8 %396 to i32
  call void @yydestruct(ptr noundef nonnull @.str.23, i32 noundef %397, ptr noundef nonnull %.8307395)
  %398 = getelementptr inbounds i8, ptr %.8307395, i64 -8
  %399 = getelementptr inbounds i8, ptr %.8294396, i64 -2
  %.not338 = icmp eq ptr %399, %.5285372
  br i1 %.not338, label %._crit_edge, label %.lr.ph, !llvm.loop !12

._crit_edge:                                      ; preds = %.lr.ph, %.thread364
  %.not339 = icmp eq ptr %.5285372, %1
  br i1 %.not339, label %401, label %400

400:                                              ; preds = %._crit_edge
  call void @free(ptr noundef %.5285372) #7
  br label %401

401:                                              ; preds = %._crit_edge, %400
  call void @llvm.lifetime.end.p0(i64 1600, ptr nonnull %2) #7
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %1) #7
  ret i32 %.0273373
}

; 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 nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite)
declare noalias noundef ptr @malloc(i64 noundef) local_unnamed_addr #2

; 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) #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: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite)
declare void @free(ptr allocptr nocapture noundef) local_unnamed_addr #4

declare i32 @yylex() local_unnamed_addr #5

declare void @MinisqlParserSetRoot(ptr noundef) local_unnamed_addr #5

declare ptr @CreateSyntaxNode(i32 noundef, ptr noundef) local_unnamed_addr #5

declare void @SyntaxNodeAddChildren(ptr noundef, ptr noundef) local_unnamed_addr #5

declare void @SyntaxNodeAddSibling(ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @yyerror(ptr noundef) local_unnamed_addr #0

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umin.i64(i64, i64) #6

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.usub.sat.i32(i32, i32) #6

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 nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite) "alloc-family"="malloc" "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 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "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 = { "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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { nounwind }
attributes #8 = { nounwind allocsize(0) }

!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, !10, i64 0}
!10 = !{!"short", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass