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

; 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 }
%struct.yy_buffer_state = type { ptr, ptr, ptr, i64, i64, i32, i32, i32, i32, i32, i32, i32 }

@yyin = external dso_local global ptr, align 8
@yyout = external dso_local global ptr, align 8
@yylineno = external dso_local global i32, align 4
@yy_init = external hidden global i32, align 4
@yy_start = external hidden global i32, align 4
@stdin = external global ptr, align 8
@stdout = external global ptr, align 8
@yy_buffer_stack = external hidden global ptr, align 8
@yy_buffer_stack_top = external hidden global i64, align 8
@yy_c_buf_p = external hidden global ptr, align 8
@yy_hold_char = external hidden global i8, align 1
@yy_ec = external hidden constant [256 x i32], align 16
@yy_accept = external hidden constant [175 x i16], align 16
@yy_last_accepting_state = external hidden global i32, align 4
@yy_last_accepting_cpos = external hidden global ptr, align 8
@yy_chk = external hidden constant [232 x i16], align 16
@yy_base = external hidden constant [177 x i16], align 16
@yy_def = external hidden constant [177 x i16], align 16
@yy_meta = external hidden constant [43 x i32], align 16
@yy_nxt = external hidden constant [232 x i16], align 16
@yytext = external dso_local global ptr, align 8
@yyleng = external dso_local global i64, align 8
@yy_rule_can_match_eol = external hidden constant [57 x i32], align 16
@yylval = external global %union.YYSTYPE, align 8
@.str = external hidden unnamed_addr constant [38 x i8], align 1
@yy_n_chars = external hidden global i64, align 8
@yy_did_buffer_switch_on_eof = external hidden global i32, align 4
@.str.1 = external hidden unnamed_addr constant [51 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @yylex() #0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i8, align 1
  %7 = alloca i64, align 8
  %8 = alloca i32, align 4
  %9 = alloca [128 x i8], align 16
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #5
  %12 = load i32, ptr @yy_init, align 4, !tbaa !5
  %13 = icmp ne i32 %12, 0
  br i1 %13, label %45, label %14

14:                                               ; preds = %0
  store i32 1, ptr @yy_init, align 4, !tbaa !5
  %15 = load i32, ptr @yy_start, align 4, !tbaa !5
  %16 = icmp ne i32 %15, 0
  br i1 %16, label %18, label %17

17:                                               ; preds = %14
  store i32 1, ptr @yy_start, align 4, !tbaa !5
  br label %18

18:                                               ; preds = %17, %14
  %19 = load ptr, ptr @yyin, align 8, !tbaa !9
  %20 = icmp ne ptr %19, null
  br i1 %20, label %23, label %21

21:                                               ; preds = %18
  %22 = load ptr, ptr @stdin, align 8, !tbaa !9
  store ptr %22, ptr @yyin, align 8, !tbaa !9
  br label %23

23:                                               ; preds = %21, %18
  %24 = load ptr, ptr @yyout, align 8, !tbaa !9
  %25 = icmp ne ptr %24, null
  br i1 %25, label %28, label %26

26:                                               ; preds = %23
  %27 = load ptr, ptr @stdout, align 8, !tbaa !9
  store ptr %27, ptr @yyout, align 8, !tbaa !9
  br label %28

28:                                               ; preds = %26, %23
  %29 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %30 = icmp ne ptr %29, null
  br i1 %30, label %31, label %37

31:                                               ; preds = %28
  %32 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %33 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %34 = getelementptr inbounds ptr, ptr %32, i64 %33
  %35 = load ptr, ptr %34, align 8, !tbaa !9
  %36 = icmp ne ptr %35, null
  br i1 %36, label %44, label %38

37:                                               ; preds = %28
  br i1 false, label %44, label %38

38:                                               ; preds = %37, %31
  call void @yyensure_buffer_stack()
  %39 = load ptr, ptr @yyin, align 8, !tbaa !9
  %40 = call ptr @yy_create_buffer(ptr noundef %39, i32 noundef 16384)
  %41 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %42 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %43 = getelementptr inbounds ptr, ptr %41, i64 %42
  store ptr %40, ptr %43, align 8, !tbaa !9
  br label %44

44:                                               ; preds = %38, %37, %31
  call void @yy_load_buffer_state()
  br label %45

45:                                               ; preds = %44, %0
  br label %46

46:                                               ; preds = %481, %45
  br label %47

47:                                               ; preds = %46
  %48 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  store ptr %48, ptr %3, align 8, !tbaa !9
  %49 = load i8, ptr @yy_hold_char, align 1, !tbaa !13
  %50 = load ptr, ptr %3, align 8, !tbaa !9
  store i8 %49, ptr %50, align 1, !tbaa !13
  %51 = load ptr, ptr %3, align 8, !tbaa !9
  store ptr %51, ptr %4, align 8, !tbaa !9
  %52 = load i32, ptr @yy_start, align 4, !tbaa !5
  store i32 %52, ptr %2, align 4, !tbaa !5
  br label %53

53:                                               ; preds = %478, %47
  br label %54

54:                                               ; preds = %117, %53
  call void @llvm.lifetime.start.p0(i64 1, ptr %6) #5
  %55 = load ptr, ptr %3, align 8, !tbaa !9
  %56 = load i8, ptr %55, align 1, !tbaa !13
  %57 = zext i8 %56 to i32
  %58 = zext i32 %57 to i64
  %59 = getelementptr inbounds [256 x i32], ptr @yy_ec, i64 0, i64 %58
  %60 = load i32, ptr %59, align 4, !tbaa !5
  %61 = trunc i32 %60 to i8
  store i8 %61, ptr %6, align 1, !tbaa !13
  %62 = load i32, ptr %2, align 4, !tbaa !5
  %63 = sext i32 %62 to i64
  %64 = getelementptr inbounds [175 x i16], ptr @yy_accept, i64 0, i64 %63
  %65 = load i16, ptr %64, align 2, !tbaa !14
  %66 = icmp ne i16 %65, 0
  br i1 %66, label %67, label %70

67:                                               ; preds = %54
  %68 = load i32, ptr %2, align 4, !tbaa !5
  store i32 %68, ptr @yy_last_accepting_state, align 4, !tbaa !5
  %69 = load ptr, ptr %3, align 8, !tbaa !9
  store ptr %69, ptr @yy_last_accepting_cpos, align 8, !tbaa !9
  br label %70

70:                                               ; preds = %67, %54
  br label %71

71:                                               ; preds = %101, %70
  %72 = load i32, ptr %2, align 4, !tbaa !5
  %73 = sext i32 %72 to i64
  %74 = getelementptr inbounds [177 x i16], ptr @yy_base, i64 0, i64 %73
  %75 = load i16, ptr %74, align 2, !tbaa !14
  %76 = sext i16 %75 to i32
  %77 = load i8, ptr %6, align 1, !tbaa !13
  %78 = zext i8 %77 to i32
  %79 = add nsw i32 %76, %78
  %80 = sext i32 %79 to i64
  %81 = getelementptr inbounds [232 x i16], ptr @yy_chk, i64 0, i64 %80
  %82 = load i16, ptr %81, align 2, !tbaa !14
  %83 = sext i16 %82 to i32
  %84 = load i32, ptr %2, align 4, !tbaa !5
  %85 = icmp ne i32 %83, %84
  br i1 %85, label %86, label %102

86:                                               ; preds = %71
  %87 = load i32, ptr %2, align 4, !tbaa !5
  %88 = sext i32 %87 to i64
  %89 = getelementptr inbounds [177 x i16], ptr @yy_def, i64 0, i64 %88
  %90 = load i16, ptr %89, align 2, !tbaa !14
  %91 = sext i16 %90 to i32
  store i32 %91, ptr %2, align 4, !tbaa !5
  %92 = load i32, ptr %2, align 4, !tbaa !5
  %93 = icmp sge i32 %92, 175
  br i1 %93, label %94, label %101

94:                                               ; preds = %86
  %95 = load i8, ptr %6, align 1, !tbaa !13
  %96 = zext i8 %95 to i32
  %97 = zext i32 %96 to i64
  %98 = getelementptr inbounds [43 x i32], ptr @yy_meta, i64 0, i64 %97
  %99 = load i32, ptr %98, align 4, !tbaa !5
  %100 = trunc i32 %99 to i8
  store i8 %100, ptr %6, align 1, !tbaa !13
  br label %101

101:                                              ; preds = %94, %86
  br label %71, !llvm.loop !16

102:                                              ; preds = %71
  %103 = load i32, ptr %2, align 4, !tbaa !5
  %104 = sext i32 %103 to i64
  %105 = getelementptr inbounds [177 x i16], ptr @yy_base, i64 0, i64 %104
  %106 = load i16, ptr %105, align 2, !tbaa !14
  %107 = sext i16 %106 to i32
  %108 = load i8, ptr %6, align 1, !tbaa !13
  %109 = zext i8 %108 to i32
  %110 = add i32 %107, %109
  %111 = zext i32 %110 to i64
  %112 = getelementptr inbounds [232 x i16], ptr @yy_nxt, i64 0, i64 %111
  %113 = load i16, ptr %112, align 2, !tbaa !14
  %114 = sext i16 %113 to i32
  store i32 %114, ptr %2, align 4, !tbaa !5
  %115 = load ptr, ptr %3, align 8, !tbaa !9
  %116 = getelementptr inbounds i8, ptr %115, i32 1
  store ptr %116, ptr %3, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 1, ptr %6) #5
  br label %117

117:                                              ; preds = %102
  %118 = load i32, ptr %2, align 4, !tbaa !5
  %119 = sext i32 %118 to i64
  %120 = getelementptr inbounds [177 x i16], ptr @yy_base, i64 0, i64 %119
  %121 = load i16, ptr %120, align 2, !tbaa !14
  %122 = sext i16 %121 to i32
  %123 = icmp ne i32 %122, 189
  br i1 %123, label %54, label %124, !llvm.loop !18

124:                                              ; preds = %117
  br label %125

125:                                              ; preds = %478, %183, %124
  %126 = load i32, ptr %2, align 4, !tbaa !5
  %127 = sext i32 %126 to i64
  %128 = getelementptr inbounds [175 x i16], ptr @yy_accept, i64 0, i64 %127
  %129 = load i16, ptr %128, align 2, !tbaa !14
  %130 = sext i16 %129 to i32
  store i32 %130, ptr %5, align 4, !tbaa !5
  %131 = load i32, ptr %5, align 4, !tbaa !5
  %132 = icmp eq i32 %131, 0
  br i1 %132, label %133, label %141

133:                                              ; preds = %125
  %134 = load ptr, ptr @yy_last_accepting_cpos, align 8, !tbaa !9
  store ptr %134, ptr %3, align 8, !tbaa !9
  %135 = load i32, ptr @yy_last_accepting_state, align 4, !tbaa !5
  store i32 %135, ptr %2, align 4, !tbaa !5
  %136 = load i32, ptr %2, align 4, !tbaa !5
  %137 = sext i32 %136 to i64
  %138 = getelementptr inbounds [175 x i16], ptr @yy_accept, i64 0, i64 %137
  %139 = load i16, ptr %138, align 2, !tbaa !14
  %140 = sext i16 %139 to i32
  store i32 %140, ptr %5, align 4, !tbaa !5
  br label %141

141:                                              ; preds = %133, %125
  %142 = load ptr, ptr %4, align 8, !tbaa !9
  store ptr %142, ptr @yytext, align 8, !tbaa !9
  %143 = load ptr, ptr %3, align 8, !tbaa !9
  %144 = load ptr, ptr %4, align 8, !tbaa !9
  %145 = ptrtoint ptr %143 to i64
  %146 = ptrtoint ptr %144 to i64
  %147 = sub i64 %145, %146
  store i64 %147, ptr @yyleng, align 8, !tbaa !11
  %148 = load ptr, ptr %3, align 8, !tbaa !9
  %149 = load i8, ptr %148, align 1, !tbaa !13
  store i8 %149, ptr @yy_hold_char, align 1, !tbaa !13
  %150 = load ptr, ptr %3, align 8, !tbaa !9
  store i8 0, ptr %150, align 1, !tbaa !13
  %151 = load ptr, ptr %3, align 8, !tbaa !9
  store ptr %151, ptr @yy_c_buf_p, align 8, !tbaa !9
  %152 = load i32, ptr %5, align 4, !tbaa !5
  %153 = icmp ne i32 %152, 57
  br i1 %153, label %154, label %180

154:                                              ; preds = %141
  %155 = load i32, ptr %5, align 4, !tbaa !5
  %156 = sext i32 %155 to i64
  %157 = getelementptr inbounds [57 x i32], ptr @yy_rule_can_match_eol, i64 0, i64 %156
  %158 = load i32, ptr %157, align 4, !tbaa !5
  %159 = icmp ne i32 %158, 0
  br i1 %159, label %160, label %180

160:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #5
  store i64 0, ptr %7, align 8, !tbaa !11
  br label %161

161:                                              ; preds = %176, %160
  %162 = load i64, ptr %7, align 8, !tbaa !11
  %163 = load i64, ptr @yyleng, align 8, !tbaa !11
  %164 = icmp ult i64 %162, %163
  br i1 %164, label %165, label %179

165:                                              ; preds = %161
  %166 = load ptr, ptr @yytext, align 8, !tbaa !9
  %167 = load i64, ptr %7, align 8, !tbaa !11
  %168 = getelementptr inbounds i8, ptr %166, i64 %167
  %169 = load i8, ptr %168, align 1, !tbaa !13
  %170 = sext i8 %169 to i32
  %171 = icmp eq i32 %170, 10
  br i1 %171, label %172, label %175

172:                                              ; preds = %165
  %173 = load i32, ptr @yylineno, align 4, !tbaa !5
  %174 = add nsw i32 %173, 1
  store i32 %174, ptr @yylineno, align 4, !tbaa !5
  br label %175

175:                                              ; preds = %172, %165
  br label %176

176:                                              ; preds = %175
  %177 = load i64, ptr %7, align 8, !tbaa !11
  %178 = add i64 %177, 1
  store i64 %178, ptr %7, align 8, !tbaa !11
  br label %161, !llvm.loop !19

179:                                              ; preds = %161
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #5
  br label %180

180:                                              ; preds = %179, %154, %141
  br label %181

181:                                              ; preds = %478, %180
  %182 = load i32, ptr %5, align 4, !tbaa !5
  switch i32 %182, label %480 [
    i32 0, label %183
    i32 1, label %188
    i32 2, label %193
    i32 3, label %196
    i32 4, label %199
    i32 5, label %202
    i32 6, label %205
    i32 7, label %208
    i32 8, label %211
    i32 9, label %214
    i32 10, label %217
    i32 11, label %220
    i32 12, label %223
    i32 13, label %226
    i32 14, label %229
    i32 15, label %232
    i32 16, label %235
    i32 17, label %238
    i32 18, label %241
    i32 19, label %244
    i32 20, label %247
    i32 21, label %250
    i32 22, label %253
    i32 23, label %256
    i32 24, label %259
    i32 25, label %262
    i32 26, label %265
    i32 27, label %268
    i32 28, label %271
    i32 29, label %274
    i32 30, label %277
    i32 31, label %280
    i32 32, label %283
    i32 33, label %286
    i32 34, label %289
    i32 35, label %292
    i32 36, label %295
    i32 37, label %298
    i32 38, label %301
    i32 39, label %304
    i32 40, label %309
    i32 41, label %314
    i32 42, label %319
    i32 43, label %322
    i32 44, label %325
    i32 45, label %328
    i32 46, label %331
    i32 47, label %334
    i32 48, label %337
    i32 49, label %340
    i32 50, label %343
    i32 51, label %346
    i32 52, label %349
    i32 53, label %352
    i32 54, label %355
    i32 55, label %358
    i32 56, label %363
    i32 58, label %368
    i32 57, label %369
  ]

183:                                              ; preds = %181
  %184 = load i8, ptr @yy_hold_char, align 1, !tbaa !13
  %185 = load ptr, ptr %3, align 8, !tbaa !9
  store i8 %184, ptr %185, align 1, !tbaa !13
  %186 = load ptr, ptr @yy_last_accepting_cpos, align 8, !tbaa !9
  store ptr %186, ptr %3, align 8, !tbaa !9
  %187 = load i32, ptr @yy_last_accepting_state, align 4, !tbaa !5
  store i32 %187, ptr %2, align 4, !tbaa !5
  br label %125

188:                                              ; preds = %181
  %189 = load i32, ptr @yylineno, align 4, !tbaa !5
  %190 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %189, ptr noundef %190)
  %191 = load ptr, ptr @yytext, align 8, !tbaa !9
  %192 = call ptr @CreateSyntaxNode(i32 noundef 5, ptr noundef %191)
  store ptr %192, ptr @yylval, align 8, !tbaa !13
  store i32 296, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

193:                                              ; preds = %181
  %194 = load i32, ptr @yylineno, align 4, !tbaa !5
  %195 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %194, ptr noundef %195)
  store i32 258, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

196:                                              ; preds = %181
  %197 = load i32, ptr @yylineno, align 4, !tbaa !5
  %198 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %197, ptr noundef %198)
  store i32 259, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

199:                                              ; preds = %181
  %200 = load i32, ptr @yylineno, align 4, !tbaa !5
  %201 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %200, ptr noundef %201)
  store i32 260, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

202:                                              ; preds = %181
  %203 = load i32, ptr @yylineno, align 4, !tbaa !5
  %204 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %203, ptr noundef %204)
  store i32 261, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

205:                                              ; preds = %181
  %206 = load i32, ptr @yylineno, align 4, !tbaa !5
  %207 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %206, ptr noundef %207)
  store i32 262, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

208:                                              ; preds = %181
  %209 = load i32, ptr @yylineno, align 4, !tbaa !5
  %210 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %209, ptr noundef %210)
  store i32 263, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

211:                                              ; preds = %181
  %212 = load i32, ptr @yylineno, align 4, !tbaa !5
  %213 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %212, ptr noundef %213)
  store i32 264, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

214:                                              ; preds = %181
  %215 = load i32, ptr @yylineno, align 4, !tbaa !5
  %216 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %215, ptr noundef %216)
  store i32 265, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

217:                                              ; preds = %181
  %218 = load i32, ptr @yylineno, align 4, !tbaa !5
  %219 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %218, ptr noundef %219)
  store i32 266, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

220:                                              ; preds = %181
  %221 = load i32, ptr @yylineno, align 4, !tbaa !5
  %222 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %221, ptr noundef %222)
  store i32 267, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

223:                                              ; preds = %181
  %224 = load i32, ptr @yylineno, align 4, !tbaa !5
  %225 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %224, ptr noundef %225)
  store i32 268, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

226:                                              ; preds = %181
  %227 = load i32, ptr @yylineno, align 4, !tbaa !5
  %228 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %227, ptr noundef %228)
  store i32 269, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

229:                                              ; preds = %181
  %230 = load i32, ptr @yylineno, align 4, !tbaa !5
  %231 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %230, ptr noundef %231)
  store i32 270, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

232:                                              ; preds = %181
  %233 = load i32, ptr @yylineno, align 4, !tbaa !5
  %234 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %233, ptr noundef %234)
  store i32 271, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

235:                                              ; preds = %181
  %236 = load i32, ptr @yylineno, align 4, !tbaa !5
  %237 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %236, ptr noundef %237)
  store i32 272, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

238:                                              ; preds = %181
  %239 = load i32, ptr @yylineno, align 4, !tbaa !5
  %240 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %239, ptr noundef %240)
  store i32 273, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

241:                                              ; preds = %181
  %242 = load i32, ptr @yylineno, align 4, !tbaa !5
  %243 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %242, ptr noundef %243)
  store i32 274, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

244:                                              ; preds = %181
  %245 = load i32, ptr @yylineno, align 4, !tbaa !5
  %246 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %245, ptr noundef %246)
  store i32 275, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

247:                                              ; preds = %181
  %248 = load i32, ptr @yylineno, align 4, !tbaa !5
  %249 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %248, ptr noundef %249)
  store i32 276, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

250:                                              ; preds = %181
  %251 = load i32, ptr @yylineno, align 4, !tbaa !5
  %252 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %251, ptr noundef %252)
  store i32 277, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

253:                                              ; preds = %181
  %254 = load i32, ptr @yylineno, align 4, !tbaa !5
  %255 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %254, ptr noundef %255)
  store i32 278, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

256:                                              ; preds = %181
  %257 = load i32, ptr @yylineno, align 4, !tbaa !5
  %258 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %257, ptr noundef %258)
  store i32 279, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

259:                                              ; preds = %181
  %260 = load i32, ptr @yylineno, align 4, !tbaa !5
  %261 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %260, ptr noundef %261)
  store i32 280, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

262:                                              ; preds = %181
  %263 = load i32, ptr @yylineno, align 4, !tbaa !5
  %264 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %263, ptr noundef %264)
  store i32 281, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

265:                                              ; preds = %181
  %266 = load i32, ptr @yylineno, align 4, !tbaa !5
  %267 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %266, ptr noundef %267)
  store i32 282, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

268:                                              ; preds = %181
  %269 = load i32, ptr @yylineno, align 4, !tbaa !5
  %270 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %269, ptr noundef %270)
  store i32 283, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

271:                                              ; preds = %181
  %272 = load i32, ptr @yylineno, align 4, !tbaa !5
  %273 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %272, ptr noundef %273)
  store i32 284, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

274:                                              ; preds = %181
  %275 = load i32, ptr @yylineno, align 4, !tbaa !5
  %276 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %275, ptr noundef %276)
  store i32 285, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

277:                                              ; preds = %181
  %278 = load i32, ptr @yylineno, align 4, !tbaa !5
  %279 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %278, ptr noundef %279)
  store i32 286, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

280:                                              ; preds = %181
  %281 = load i32, ptr @yylineno, align 4, !tbaa !5
  %282 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %281, ptr noundef %282)
  store i32 287, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

283:                                              ; preds = %181
  %284 = load i32, ptr @yylineno, align 4, !tbaa !5
  %285 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %284, ptr noundef %285)
  store i32 288, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

286:                                              ; preds = %181
  %287 = load i32, ptr @yylineno, align 4, !tbaa !5
  %288 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %287, ptr noundef %288)
  store i32 289, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

289:                                              ; preds = %181
  %290 = load i32, ptr @yylineno, align 4, !tbaa !5
  %291 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %290, ptr noundef %291)
  store i32 290, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

292:                                              ; preds = %181
  %293 = load i32, ptr @yylineno, align 4, !tbaa !5
  %294 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %293, ptr noundef %294)
  store i32 291, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

295:                                              ; preds = %181
  %296 = load i32, ptr @yylineno, align 4, !tbaa !5
  %297 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %296, ptr noundef %297)
  store i32 292, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

298:                                              ; preds = %181
  %299 = load i32, ptr @yylineno, align 4, !tbaa !5
  %300 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %299, ptr noundef %300)
  store i32 293, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

301:                                              ; preds = %181
  %302 = load i32, ptr @yylineno, align 4, !tbaa !5
  %303 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %302, ptr noundef %303)
  store i32 294, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

304:                                              ; preds = %181
  %305 = load i32, ptr @yylineno, align 4, !tbaa !5
  %306 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %305, ptr noundef %306)
  %307 = load ptr, ptr @yytext, align 8, !tbaa !9
  %308 = call ptr @CreateSyntaxNode(i32 noundef 3, ptr noundef %307)
  store ptr %308, ptr @yylval, align 8, !tbaa !13
  store i32 295, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

309:                                              ; preds = %181
  %310 = load i32, ptr @yylineno, align 4, !tbaa !5
  %311 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %310, ptr noundef %311)
  %312 = load ptr, ptr @yytext, align 8, !tbaa !9
  %313 = call ptr @CreateSyntaxNode(i32 noundef 4, ptr noundef %312)
  store ptr %313, ptr @yylval, align 8, !tbaa !13
  store i32 297, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

314:                                              ; preds = %181
  %315 = load i32, ptr @yylineno, align 4, !tbaa !5
  %316 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %315, ptr noundef %316)
  %317 = load ptr, ptr @yytext, align 8, !tbaa !9
  %318 = call ptr @CreateSyntaxNode(i32 noundef 4, ptr noundef %317)
  store ptr %318, ptr @yylval, align 8, !tbaa !13
  store i32 297, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

319:                                              ; preds = %181
  %320 = load i32, ptr @yylineno, align 4, !tbaa !5
  %321 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %320, ptr noundef %321)
  store i32 298, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

322:                                              ; preds = %181
  %323 = load i32, ptr @yylineno, align 4, !tbaa !5
  %324 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %323, ptr noundef %324)
  store i32 299, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

325:                                              ; preds = %181
  %326 = load i32, ptr @yylineno, align 4, !tbaa !5
  %327 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %326, ptr noundef %327)
  store i32 300, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

328:                                              ; preds = %181
  %329 = load i32, ptr @yylineno, align 4, !tbaa !5
  %330 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %329, ptr noundef %330)
  store i32 301, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

331:                                              ; preds = %181
  %332 = load i32, ptr @yylineno, align 4, !tbaa !5
  %333 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %332, ptr noundef %333)
  store i32 44, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

334:                                              ; preds = %181
  %335 = load i32, ptr @yylineno, align 4, !tbaa !5
  %336 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %335, ptr noundef %336)
  store i32 42, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

337:                                              ; preds = %181
  %338 = load i32, ptr @yylineno, align 4, !tbaa !5
  %339 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %338, ptr noundef %339)
  store i32 59, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

340:                                              ; preds = %181
  %341 = load i32, ptr @yylineno, align 4, !tbaa !5
  %342 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %341, ptr noundef %342)
  store i32 39, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

343:                                              ; preds = %181
  %344 = load i32, ptr @yylineno, align 4, !tbaa !5
  %345 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %344, ptr noundef %345)
  store i32 60, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

346:                                              ; preds = %181
  %347 = load i32, ptr @yylineno, align 4, !tbaa !5
  %348 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %347, ptr noundef %348)
  store i32 62, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

349:                                              ; preds = %181
  %350 = load i32, ptr @yylineno, align 4, !tbaa !5
  %351 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %350, ptr noundef %351)
  store i32 40, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

352:                                              ; preds = %181
  %353 = load i32, ptr @yylineno, align 4, !tbaa !5
  %354 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %353, ptr noundef %354)
  store i32 41, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

355:                                              ; preds = %181
  %356 = load i32, ptr @yylineno, align 4, !tbaa !5
  %357 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %356, ptr noundef %357)
  br label %481

358:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 128, ptr %9) #5
  call void @llvm.memset.p0.i64(ptr align 16 %9, i8 0, i64 128, i1 false)
  %359 = getelementptr inbounds [128 x i8], ptr %9, i64 0, i64 0
  %360 = load ptr, ptr @yytext, align 8, !tbaa !9
  %361 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %359, ptr noundef @.str, ptr noundef %360) #5
  %362 = getelementptr inbounds [128 x i8], ptr %9, i64 0, i64 0
  call void @MinisqlParserSetError(ptr noundef %362)
  call void @llvm.lifetime.end.p0(i64 128, ptr %9) #5
  br label %481

363:                                              ; preds = %181
  %364 = load ptr, ptr @yytext, align 8, !tbaa !9
  %365 = load i64, ptr @yyleng, align 8, !tbaa !11
  %366 = load ptr, ptr @yyout, align 8, !tbaa !9
  %367 = call i64 @fwrite(ptr noundef %364, i64 noundef %365, i64 noundef 1, ptr noundef %366)
  br label %481

368:                                              ; preds = %181
  store i32 0, ptr %1, align 4
  store i32 1, ptr %8, align 4
  br label %482

369:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #5
  %370 = load ptr, ptr %3, align 8, !tbaa !9
  %371 = load ptr, ptr @yytext, align 8, !tbaa !9
  %372 = ptrtoint ptr %370 to i64
  %373 = ptrtoint ptr %371 to i64
  %374 = sub i64 %372, %373
  %375 = trunc i64 %374 to i32
  %376 = sub nsw i32 %375, 1
  store i32 %376, ptr %10, align 4, !tbaa !5
  %377 = load i8, ptr @yy_hold_char, align 1, !tbaa !13
  %378 = load ptr, ptr %3, align 8, !tbaa !9
  store i8 %377, ptr %378, align 1, !tbaa !13
  %379 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %380 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %381 = getelementptr inbounds ptr, ptr %379, i64 %380
  %382 = load ptr, ptr %381, align 8, !tbaa !9
  %383 = getelementptr inbounds %struct.yy_buffer_state, ptr %382, i32 0, i32 11
  %384 = load i32, ptr %383, align 8, !tbaa !20
  %385 = icmp eq i32 %384, 0
  br i1 %385, label %386, label %404

386:                                              ; preds = %369
  %387 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %388 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %389 = getelementptr inbounds ptr, ptr %387, i64 %388
  %390 = load ptr, ptr %389, align 8, !tbaa !9
  %391 = getelementptr inbounds %struct.yy_buffer_state, ptr %390, i32 0, i32 4
  %392 = load i64, ptr %391, align 8, !tbaa !22
  store i64 %392, ptr @yy_n_chars, align 8, !tbaa !11
  %393 = load ptr, ptr @yyin, align 8, !tbaa !9
  %394 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %395 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %396 = getelementptr inbounds ptr, ptr %394, i64 %395
  %397 = load ptr, ptr %396, align 8, !tbaa !9
  %398 = getelementptr inbounds %struct.yy_buffer_state, ptr %397, i32 0, i32 0
  store ptr %393, ptr %398, align 8, !tbaa !23
  %399 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %400 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %401 = getelementptr inbounds ptr, ptr %399, i64 %400
  %402 = load ptr, ptr %401, align 8, !tbaa !9
  %403 = getelementptr inbounds %struct.yy_buffer_state, ptr %402, i32 0, i32 11
  store i32 1, ptr %403, align 8, !tbaa !20
  br label %404

404:                                              ; preds = %386, %369
  %405 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  %406 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %407 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %408 = getelementptr inbounds ptr, ptr %406, i64 %407
  %409 = load ptr, ptr %408, align 8, !tbaa !9
  %410 = getelementptr inbounds %struct.yy_buffer_state, ptr %409, i32 0, i32 1
  %411 = load ptr, ptr %410, align 8, !tbaa !24
  %412 = load i64, ptr @yy_n_chars, align 8, !tbaa !11
  %413 = getelementptr inbounds i8, ptr %411, i64 %412
  %414 = icmp ule ptr %405, %413
  br i1 %414, label %415, label %434

415:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #5
  %416 = load ptr, ptr @yytext, align 8, !tbaa !9
  %417 = load i32, ptr %10, align 4, !tbaa !5
  %418 = sext i32 %417 to i64
  %419 = getelementptr inbounds i8, ptr %416, i64 %418
  store ptr %419, ptr @yy_c_buf_p, align 8, !tbaa !9
  %420 = call i32 @yy_get_previous_state()
  store i32 %420, ptr %2, align 4, !tbaa !5
  %421 = load i32, ptr %2, align 4, !tbaa !5
  %422 = call i32 @yy_try_NUL_trans(i32 noundef %421)
  store i32 %422, ptr %11, align 4, !tbaa !5
  %423 = load ptr, ptr @yytext, align 8, !tbaa !9
  %424 = getelementptr inbounds i8, ptr %423, i64 0
  store ptr %424, ptr %4, align 8, !tbaa !9
  %425 = load i32, ptr %11, align 4, !tbaa !5
  %426 = icmp ne i32 %425, 0
  br i1 %426, label %427, label %431

427:                                              ; preds = %415
  %428 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  %429 = getelementptr inbounds i8, ptr %428, i32 1
  store ptr %429, ptr @yy_c_buf_p, align 8, !tbaa !9
  store ptr %429, ptr %3, align 8, !tbaa !9
  %430 = load i32, ptr %11, align 4, !tbaa !5
  store i32 %430, ptr %2, align 4, !tbaa !5
  store i32 4, ptr %8, align 4
  br label %433

431:                                              ; preds = %415
  %432 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  store ptr %432, ptr %3, align 8, !tbaa !9
  store i32 9, ptr %8, align 4
  br label %433

433:                                              ; preds = %431, %427
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #5
  br label %478

434:                                              ; preds = %404
  %435 = call i32 @yy_get_next_buffer()
  switch i32 %435, label %476 [
    i32 1, label %436
    i32 0, label %454
    i32 2, label %463
  ]

436:                                              ; preds = %434
  store i32 0, ptr @yy_did_buffer_switch_on_eof, align 4, !tbaa !5
  %437 = call i32 @yywrap()
  %438 = icmp ne i32 %437, 0
  br i1 %438, label %439, label %447

439:                                              ; preds = %436
  %440 = load ptr, ptr @yytext, align 8, !tbaa !9
  %441 = getelementptr inbounds i8, ptr %440, i64 0
  store ptr %441, ptr @yy_c_buf_p, align 8, !tbaa !9
  %442 = load i32, ptr @yy_start, align 4, !tbaa !5
  %443 = sub nsw i32 %442, 1
  %444 = sdiv i32 %443, 2
  %445 = add nsw i32 57, %444
  %446 = add nsw i32 %445, 1
  store i32 %446, ptr %5, align 4, !tbaa !5
  store i32 13, ptr %8, align 4
  br label %478

447:                                              ; preds = %436
  %448 = load i32, ptr @yy_did_buffer_switch_on_eof, align 4, !tbaa !5
  %449 = icmp ne i32 %448, 0
  br i1 %449, label %452, label %450

450:                                              ; preds = %447
  %451 = load ptr, ptr @yyin, align 8, !tbaa !9
  call void @yyrestart(ptr noundef %451)
  br label %452

452:                                              ; preds = %450, %447
  br label %453

453:                                              ; preds = %452
  br label %476

454:                                              ; preds = %434
  %455 = load ptr, ptr @yytext, align 8, !tbaa !9
  %456 = load i32, ptr %10, align 4, !tbaa !5
  %457 = sext i32 %456 to i64
  %458 = getelementptr inbounds i8, ptr %455, i64 %457
  store ptr %458, ptr @yy_c_buf_p, align 8, !tbaa !9
  %459 = call i32 @yy_get_previous_state()
  store i32 %459, ptr %2, align 4, !tbaa !5
  %460 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  store ptr %460, ptr %3, align 8, !tbaa !9
  %461 = load ptr, ptr @yytext, align 8, !tbaa !9
  %462 = getelementptr inbounds i8, ptr %461, i64 0
  store ptr %462, ptr %4, align 8, !tbaa !9
  store i32 4, ptr %8, align 4
  br label %478

463:                                              ; preds = %434
  %464 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %465 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %466 = getelementptr inbounds ptr, ptr %464, i64 %465
  %467 = load ptr, ptr %466, align 8, !tbaa !9
  %468 = getelementptr inbounds %struct.yy_buffer_state, ptr %467, i32 0, i32 1
  %469 = load ptr, ptr %468, align 8, !tbaa !24
  %470 = load i64, ptr @yy_n_chars, align 8, !tbaa !11
  %471 = getelementptr inbounds i8, ptr %469, i64 %470
  store ptr %471, ptr @yy_c_buf_p, align 8, !tbaa !9
  %472 = call i32 @yy_get_previous_state()
  store i32 %472, ptr %2, align 4, !tbaa !5
  %473 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  store ptr %473, ptr %3, align 8, !tbaa !9
  %474 = load ptr, ptr @yytext, align 8, !tbaa !9
  %475 = getelementptr inbounds i8, ptr %474, i64 0
  store ptr %475, ptr %4, align 8, !tbaa !9
  store i32 9, ptr %8, align 4
  br label %478

476:                                              ; preds = %453, %434
  br label %477

477:                                              ; preds = %476
  store i32 14, ptr %8, align 4
  br label %478

478:                                              ; preds = %477, %463, %454, %439, %433
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #5
  %479 = load i32, ptr %8, align 4
  switch i32 %479, label %484 [
    i32 4, label %53
    i32 9, label %125
    i32 13, label %181
    i32 14, label %481
  ]

480:                                              ; preds = %181
  call void @yy_fatal_error(ptr noundef @.str.1)
  br label %481

481:                                              ; preds = %480, %478, %363, %358, %355
  br label %46

482:                                              ; preds = %368, %352, %349, %346, %343, %340, %337, %334, %331, %328, %325, %322, %319, %314, %309, %304, %301, %298, %295, %292, %289, %286, %283, %280, %277, %274, %271, %268, %265, %262, %259, %256, %253, %250, %247, %244, %241, %238, %235, %232, %229, %226, %223, %220, %217, %214, %211, %208, %205, %202, %199, %196, %193, %188
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #5
  %483 = load i32, ptr %1, align 4
  ret i32 %483

484:                                              ; preds = %478
  unreachable
}

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

; Function Attrs: nounwind uwtable
declare hidden void @yyensure_buffer_stack() #0

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

; Function Attrs: nounwind uwtable
declare hidden void @yy_load_buffer_state() #0

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

declare void @MinisqlParserMovePos(i32 noundef, ptr noundef) #2

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3

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

declare void @MinisqlParserSetError(ptr noundef) #2

declare i64 @fwrite(ptr noundef, i64 noundef, i64 noundef, ptr noundef) #2

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @yywrap() #0

; Function Attrs: nounwind uwtable
declare dso_local void @yyrestart(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden void @yy_fatal_error(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 = { "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: write) }
attributes #4 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }

!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 = !{!7, !7, i64 0}
!14 = !{!15, !15, i64 0}
!15 = !{!"short", !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = distinct !{!18, !17}
!19 = distinct !{!19, !17}
!20 = !{!21, !6, i64 64}
!21 = !{!"yy_buffer_state", !10, i64 0, !10, i64 8, !10, i64 16, !12, i64 24, !12, i64 32, !6, i64 40, !6, i64 44, !6, i64 48, !6, i64 52, !6, i64 56, !6, i64 60, !6, i64 64}
!22 = !{!21, !12, i64 32}
!23 = !{!21, !10, i64 0}
!24 = !{!21, !10, i64 8}


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

@yyin = external dso_local local_unnamed_addr global ptr, align 8
@yyout = external dso_local local_unnamed_addr global ptr, align 8
@yylineno = external dso_local local_unnamed_addr global i32, align 4
@yy_init = external hidden local_unnamed_addr global i32, align 4
@yy_start = external hidden local_unnamed_addr global i32, align 4
@stdin = external local_unnamed_addr global ptr, align 8
@stdout = external local_unnamed_addr global ptr, align 8
@yy_buffer_stack = external hidden local_unnamed_addr global ptr, align 8
@yy_buffer_stack_top = external hidden local_unnamed_addr global i64, align 8
@yy_c_buf_p = external hidden local_unnamed_addr global ptr, align 8
@yy_hold_char = external hidden local_unnamed_addr global i8, align 1
@yy_ec = external hidden local_unnamed_addr constant [256 x i32], align 16
@yy_accept = external hidden local_unnamed_addr constant [175 x i16], align 16
@yy_last_accepting_state = external hidden local_unnamed_addr global i32, align 4
@yy_last_accepting_cpos = external hidden local_unnamed_addr global ptr, align 8
@yy_chk = external hidden local_unnamed_addr constant [232 x i16], align 16
@yy_base = external hidden local_unnamed_addr constant [177 x i16], align 16
@yy_def = external hidden local_unnamed_addr constant [177 x i16], align 16
@yy_meta = external hidden local_unnamed_addr constant [43 x i32], align 16
@yy_nxt = external hidden local_unnamed_addr constant [232 x i16], align 16
@yytext = external dso_local local_unnamed_addr global ptr, align 8
@yyleng = external dso_local local_unnamed_addr global i64, align 8
@yy_rule_can_match_eol = external hidden local_unnamed_addr constant [57 x i32], align 16
@yylval = external local_unnamed_addr global %union.YYSTYPE, align 8
@.str = external hidden unnamed_addr constant [38 x i8], align 1
@yy_n_chars = external hidden local_unnamed_addr global i64, align 8
@yy_did_buffer_switch_on_eof = external hidden local_unnamed_addr global i32, align 4
@.str.1 = external hidden unnamed_addr constant [51 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local range(i32 0, 302) i32 @yylex() local_unnamed_addr #0 {
  %1 = alloca [128 x i8], align 16
  %2 = load i32, ptr @yy_init, align 4, !tbaa !5
  %.not = icmp eq i32 %2, 0
  br i1 %.not, label %3, label %.thread.preheader

3:                                                ; preds = %0
  store i32 1, ptr @yy_init, align 4, !tbaa !5
  %4 = load i32, ptr @yy_start, align 4, !tbaa !5
  %.not63 = icmp eq i32 %4, 0
  br i1 %.not63, label %5, label %6

5:                                                ; preds = %3
  store i32 1, ptr @yy_start, align 4, !tbaa !5
  br label %6

6:                                                ; preds = %5, %3
  %7 = load ptr, ptr @yyin, align 8, !tbaa !9
  %.not64 = icmp eq ptr %7, null
  br i1 %.not64, label %8, label %10

8:                                                ; preds = %6
  %9 = load ptr, ptr @stdin, align 8, !tbaa !9
  store ptr %9, ptr @yyin, align 8, !tbaa !9
  br label %10

10:                                               ; preds = %8, %6
  %11 = load ptr, ptr @yyout, align 8, !tbaa !9
  %.not65 = icmp eq ptr %11, null
  br i1 %.not65, label %12, label %14

12:                                               ; preds = %10
  %13 = load ptr, ptr @stdout, align 8, !tbaa !9
  store ptr %13, ptr @yyout, align 8, !tbaa !9
  br label %14

14:                                               ; preds = %12, %10
  %15 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %.not66 = icmp eq ptr %15, null
  br i1 %.not66, label %20, label %16

16:                                               ; preds = %14
  %17 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %18 = getelementptr inbounds ptr, ptr %15, i64 %17
  %19 = load ptr, ptr %18, align 8, !tbaa !9
  %.not67 = icmp eq ptr %19, null
  br i1 %.not67, label %20, label %26

20:                                               ; preds = %14, %16
  tail call void @yyensure_buffer_stack()
  %21 = load ptr, ptr @yyin, align 8, !tbaa !9
  %22 = tail call ptr @yy_create_buffer(ptr noundef %21, i32 noundef 16384)
  %23 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %24 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %25 = getelementptr inbounds ptr, ptr %23, i64 %24
  store ptr %22, ptr %25, align 8, !tbaa !9
  br label %26

26:                                               ; preds = %20, %16
  tail call void @yy_load_buffer_state()
  br label %.thread.preheader

.thread.preheader:                                ; preds = %26, %0
  br label %.thread

.thread:                                          ; preds = %.thread.backedge, %.thread.preheader
  %27 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  %28 = load i8, ptr @yy_hold_char, align 1, !tbaa !13
  store i8 %28, ptr %27, align 1, !tbaa !13
  %29 = load i32, ptr @yy_start, align 4, !tbaa !5
  br label %.loopexit82

.loopexit82:                                      ; preds = %.loopexit82.backedge, %.thread
  %.053 = phi ptr [ %27, %.thread ], [ %.053.be, %.loopexit82.backedge ]
  %.049 = phi ptr [ %27, %.thread ], [ %.049.be, %.loopexit82.backedge ]
  %.040 = phi i32 [ %29, %.thread ], [ %.040.be, %.loopexit82.backedge ]
  br label %30

30:                                               ; preds = %._crit_edge, %.loopexit82
  %.154 = phi ptr [ %.053, %.loopexit82 ], [ %73, %._crit_edge ]
  %.1 = phi i32 [ %.040, %.loopexit82 ], [ %72, %._crit_edge ]
  %31 = load i8, ptr %.154, align 1, !tbaa !13
  %32 = zext i8 %31 to i64
  %33 = getelementptr inbounds [256 x i32], ptr @yy_ec, i64 0, i64 %32
  %34 = load i32, ptr %33, align 4, !tbaa !5
  %35 = trunc i32 %34 to i8
  %36 = sext i32 %.1 to i64
  %37 = getelementptr inbounds [175 x i16], ptr @yy_accept, i64 0, i64 %36
  %38 = load i16, ptr %37, align 2, !tbaa !14
  %.not68 = icmp eq i16 %38, 0
  br i1 %.not68, label %40, label %39

39:                                               ; preds = %30
  store i32 %.1, ptr @yy_last_accepting_state, align 4, !tbaa !5
  store ptr %.154, ptr @yy_last_accepting_cpos, align 8, !tbaa !9
  br label %40

40:                                               ; preds = %39, %30
  %41 = getelementptr inbounds [177 x i16], ptr @yy_base, i64 0, i64 %36
  %42 = load i16, ptr %41, align 2, !tbaa !14
  %43 = sext i16 %42 to i32
  %44 = and i32 %34, 255
  %45 = add nsw i32 %44, %43
  %46 = sext i32 %45 to i64
  %47 = getelementptr inbounds [232 x i16], ptr @yy_chk, i64 0, i64 %46
  %48 = load i16, ptr %47, align 2, !tbaa !14
  %49 = sext i16 %48 to i32
  %.not69220 = icmp eq i32 %.1, %49
  br i1 %.not69220, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %40, %59
  %50 = phi i64 [ %60, %59 ], [ %36, %40 ]
  %.044221 = phi i8 [ %.145, %59 ], [ %35, %40 ]
  %51 = getelementptr inbounds [177 x i16], ptr @yy_def, i64 0, i64 %50
  %52 = load i16, ptr %51, align 2, !tbaa !14
  %53 = icmp sgt i16 %52, 174
  br i1 %53, label %54, label %59

54:                                               ; preds = %.lr.ph
  %55 = zext i8 %.044221 to i64
  %56 = getelementptr inbounds [43 x i32], ptr @yy_meta, i64 0, i64 %55
  %57 = load i32, ptr %56, align 4, !tbaa !5
  %58 = trunc i32 %57 to i8
  br label %59

59:                                               ; preds = %54, %.lr.ph
  %.145 = phi i8 [ %58, %54 ], [ %.044221, %.lr.ph ]
  %60 = sext i16 %52 to i64
  %61 = getelementptr inbounds [177 x i16], ptr @yy_base, i64 0, i64 %60
  %62 = load i16, ptr %61, align 2, !tbaa !14
  %63 = sext i16 %62 to i32
  %64 = zext i8 %.145 to i32
  %65 = add nsw i32 %63, %64
  %66 = sext i32 %65 to i64
  %67 = getelementptr inbounds [232 x i16], ptr @yy_chk, i64 0, i64 %66
  %68 = load i16, ptr %67, align 2, !tbaa !14
  %.not69 = icmp eq i16 %52, %68
  br i1 %.not69, label %._crit_edge, label %.lr.ph, !llvm.loop !16

._crit_edge:                                      ; preds = %59, %40
  %.lcssa = phi i32 [ %45, %40 ], [ %65, %59 ]
  %69 = zext i32 %.lcssa to i64
  %70 = getelementptr inbounds [232 x i16], ptr @yy_nxt, i64 0, i64 %69
  %71 = load i16, ptr %70, align 2, !tbaa !14
  %72 = sext i16 %71 to i32
  %73 = getelementptr inbounds i8, ptr %.154, i64 1
  %74 = sext i16 %71 to i64
  %75 = getelementptr inbounds [177 x i16], ptr @yy_base, i64 0, i64 %74
  %76 = load i16, ptr %75, align 2, !tbaa !14
  %.not70 = icmp eq i16 %76, 189
  br i1 %.not70, label %.preheader85, label %30, !llvm.loop !18

.preheader85:                                     ; preds = %._crit_edge, %.backedge
  %.255 = phi ptr [ %.255.be, %.backedge ], [ %73, %._crit_edge ]
  %.150 = phi ptr [ %.150.be, %.backedge ], [ %.049, %._crit_edge ]
  %.3 = phi i32 [ %.3.be, %.backedge ], [ %72, %._crit_edge ]
  %77 = sext i32 %.3 to i64
  %78 = getelementptr inbounds [175 x i16], ptr @yy_accept, i64 0, i64 %77
  %79 = load i16, ptr %78, align 2, !tbaa !14
  %80 = icmp eq i16 %79, 0
  br i1 %80, label %81, label %87

81:                                               ; preds = %.preheader85
  %82 = load ptr, ptr @yy_last_accepting_cpos, align 8, !tbaa !9
  %83 = load i32, ptr @yy_last_accepting_state, align 4, !tbaa !5
  %84 = sext i32 %83 to i64
  %85 = getelementptr inbounds [175 x i16], ptr @yy_accept, i64 0, i64 %84
  %86 = load i16, ptr %85, align 2, !tbaa !14
  br label %87

87:                                               ; preds = %81, %.preheader85
  %.356 = phi ptr [ %82, %81 ], [ %.255, %.preheader85 ]
  %.046.in = phi i16 [ %86, %81 ], [ %79, %.preheader85 ]
  %.046 = sext i16 %.046.in to i32
  store ptr %.150, ptr @yytext, align 8, !tbaa !9
  %88 = ptrtoint ptr %.356 to i64
  %89 = ptrtoint ptr %.150 to i64
  %90 = sub i64 %88, %89
  store i64 %90, ptr @yyleng, align 8, !tbaa !11
  %91 = load i8, ptr %.356, align 1, !tbaa !13
  store i8 %91, ptr @yy_hold_char, align 1, !tbaa !13
  store i8 0, ptr %.356, align 1, !tbaa !13
  store ptr %.356, ptr @yy_c_buf_p, align 8, !tbaa !9
  %.not71 = icmp eq i16 %.046.in, 57
  br i1 %.not71, label %.loopexit84.preheader, label %92

92:                                               ; preds = %87
  %93 = sext i16 %.046.in to i64
  %94 = getelementptr inbounds [57 x i32], ptr @yy_rule_can_match_eol, i64 0, i64 %93
  %95 = load i32, ptr %94, align 4, !tbaa !5
  %.not72 = icmp eq i32 %95, 0
  br i1 %.not72, label %.loopexit84.preheader, label %.preheader

.preheader:                                       ; preds = %92
  %96 = load i64, ptr @yyleng, align 8, !tbaa !11
  %.not224 = icmp eq i64 %96, 0
  br i1 %.not224, label %.loopexit84.preheader, label %.lr.ph223

.lr.ph223:                                        ; preds = %.preheader
  %yylineno.promoted = load i32, ptr @yylineno, align 4, !tbaa !5
  %97 = load ptr, ptr @yytext, align 8, !tbaa !9
  %xtraiter = and i64 %96, 1
  %98 = icmp eq i64 %96, 1
  br i1 %98, label %.loopexit84.preheader.loopexit.unr-lcssa, label %.lr.ph223.new

.lr.ph223.new:                                    ; preds = %.lr.ph223
  %unroll_iter = and i64 %96, -2
  br label %99

99:                                               ; preds = %114, %.lr.ph223.new
  %.043222 = phi i64 [ 0, %.lr.ph223.new ], [ %116, %114 ]
  %100 = phi i32 [ %yylineno.promoted, %.lr.ph223.new ], [ %115, %114 ]
  %niter = phi i64 [ 0, %.lr.ph223.new ], [ %niter.next.1, %114 ]
  %101 = getelementptr inbounds i8, ptr %97, i64 %.043222
  %102 = load i8, ptr %101, align 1, !tbaa !13
  %103 = icmp eq i8 %102, 10
  br i1 %103, label %104, label %106

104:                                              ; preds = %99
  %105 = add nsw i32 %100, 1
  store i32 %105, ptr @yylineno, align 4, !tbaa !5
  br label %106

106:                                              ; preds = %99, %104
  %107 = phi i32 [ %100, %99 ], [ %105, %104 ]
  %108 = or disjoint i64 %.043222, 1
  %109 = getelementptr inbounds i8, ptr %97, i64 %108
  %110 = load i8, ptr %109, align 1, !tbaa !13
  %111 = icmp eq i8 %110, 10
  br i1 %111, label %112, label %114

112:                                              ; preds = %106
  %113 = add nsw i32 %107, 1
  store i32 %113, ptr @yylineno, align 4, !tbaa !5
  br label %114

114:                                              ; preds = %112, %106
  %115 = phi i32 [ %107, %106 ], [ %113, %112 ]
  %116 = add nuw i64 %.043222, 2
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %.loopexit84.preheader.loopexit.unr-lcssa, label %99, !llvm.loop !19

.loopexit84.preheader.loopexit.unr-lcssa:         ; preds = %114, %.lr.ph223
  %.043222.unr = phi i64 [ 0, %.lr.ph223 ], [ %116, %114 ]
  %.unr = phi i32 [ %yylineno.promoted, %.lr.ph223 ], [ %115, %114 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.loopexit84.preheader, label %.epil.preheader

.epil.preheader:                                  ; preds = %.loopexit84.preheader.loopexit.unr-lcssa
  %117 = getelementptr inbounds i8, ptr %97, i64 %.043222.unr
  %118 = load i8, ptr %117, align 1, !tbaa !13
  %119 = icmp eq i8 %118, 10
  br i1 %119, label %120, label %.loopexit84.preheader

120:                                              ; preds = %.epil.preheader
  %121 = add nsw i32 %.unr, 1
  store i32 %121, ptr @yylineno, align 4, !tbaa !5
  br label %.loopexit84.preheader

.loopexit84.preheader:                            ; preds = %.loopexit84.preheader.loopexit.unr-lcssa, %120, %.epil.preheader, %.preheader, %92, %87
  br label %.loopexit84

.loopexit84:                                      ; preds = %.loopexit84.preheader, %372
  %.147 = phi i32 [ %377, %372 ], [ %.046, %.loopexit84.preheader ]
  switch i32 %.147, label %378 [
    i32 0, label %122
    i32 1, label %125
    i32 2, label %130
    i32 3, label %133
    i32 4, label %136
    i32 5, label %139
    i32 6, label %142
    i32 7, label %145
    i32 8, label %148
    i32 9, label %151
    i32 10, label %154
    i32 11, label %157
    i32 12, label %160
    i32 13, label %163
    i32 14, label %166
    i32 15, label %169
    i32 16, label %172
    i32 17, label %175
    i32 18, label %178
    i32 19, label %181
    i32 20, label %184
    i32 21, label %187
    i32 22, label %190
    i32 23, label %193
    i32 24, label %196
    i32 25, label %199
    i32 26, label %202
    i32 27, label %205
    i32 28, label %208
    i32 29, label %211
    i32 30, label %214
    i32 31, label %217
    i32 32, label %220
    i32 33, label %223
    i32 34, label %226
    i32 35, label %229
    i32 36, label %232
    i32 37, label %235
    i32 38, label %238
    i32 39, label %241
    i32 40, label %246
    i32 41, label %251
    i32 42, label %256
    i32 43, label %259
    i32 44, label %262
    i32 45, label %265
    i32 46, label %268
    i32 47, label %271
    i32 48, label %274
    i32 49, label %277
    i32 50, label %280
    i32 51, label %283
    i32 52, label %286
    i32 53, label %289
    i32 54, label %292
    i32 55, label %295
    i32 56, label %298
    i32 58, label %.loopexit
    i32 57, label %303
  ]

122:                                              ; preds = %.loopexit84
  %123 = load i8, ptr @yy_hold_char, align 1, !tbaa !13
  store i8 %123, ptr %.356, align 1, !tbaa !13
  %124 = load i32, ptr @yy_last_accepting_state, align 4, !tbaa !5
  br label %.backedge

.backedge:                                        ; preds = %328, %361, %122
  %.255.be.in = phi ptr [ @yy_last_accepting_cpos, %122 ], [ @yy_c_buf_p, %361 ], [ @yy_c_buf_p, %328 ]
  %.150.be = phi ptr [ %.150, %122 ], [ %371, %361 ], [ %338, %328 ]
  %.3.be = phi i32 [ %124, %122 ], [ %370, %361 ], [ %336, %328 ]
  %.255.be = load ptr, ptr %.255.be.in, align 8, !tbaa !9
  br label %.preheader85

125:                                              ; preds = %.loopexit84
  %126 = load i32, ptr @yylineno, align 4, !tbaa !5
  %127 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %126, ptr noundef %127) #5
  %128 = load ptr, ptr @yytext, align 8, !tbaa !9
  %129 = call ptr @CreateSyntaxNode(i32 noundef 5, ptr noundef %128) #5
  store ptr %129, ptr @yylval, align 8, !tbaa !13
  br label %.loopexit

130:                                              ; preds = %.loopexit84
  %131 = load i32, ptr @yylineno, align 4, !tbaa !5
  %132 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %131, ptr noundef %132) #5
  br label %.loopexit

133:                                              ; preds = %.loopexit84
  %134 = load i32, ptr @yylineno, align 4, !tbaa !5
  %135 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %134, ptr noundef %135) #5
  br label %.loopexit

136:                                              ; preds = %.loopexit84
  %137 = load i32, ptr @yylineno, align 4, !tbaa !5
  %138 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %137, ptr noundef %138) #5
  br label %.loopexit

139:                                              ; preds = %.loopexit84
  %140 = load i32, ptr @yylineno, align 4, !tbaa !5
  %141 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %140, ptr noundef %141) #5
  br label %.loopexit

142:                                              ; preds = %.loopexit84
  %143 = load i32, ptr @yylineno, align 4, !tbaa !5
  %144 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %143, ptr noundef %144) #5
  br label %.loopexit

145:                                              ; preds = %.loopexit84
  %146 = load i32, ptr @yylineno, align 4, !tbaa !5
  %147 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %146, ptr noundef %147) #5
  br label %.loopexit

148:                                              ; preds = %.loopexit84
  %149 = load i32, ptr @yylineno, align 4, !tbaa !5
  %150 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %149, ptr noundef %150) #5
  br label %.loopexit

151:                                              ; preds = %.loopexit84
  %152 = load i32, ptr @yylineno, align 4, !tbaa !5
  %153 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %152, ptr noundef %153) #5
  br label %.loopexit

154:                                              ; preds = %.loopexit84
  %155 = load i32, ptr @yylineno, align 4, !tbaa !5
  %156 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %155, ptr noundef %156) #5
  br label %.loopexit

157:                                              ; preds = %.loopexit84
  %158 = load i32, ptr @yylineno, align 4, !tbaa !5
  %159 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %158, ptr noundef %159) #5
  br label %.loopexit

160:                                              ; preds = %.loopexit84
  %161 = load i32, ptr @yylineno, align 4, !tbaa !5
  %162 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %161, ptr noundef %162) #5
  br label %.loopexit

163:                                              ; preds = %.loopexit84
  %164 = load i32, ptr @yylineno, align 4, !tbaa !5
  %165 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %164, ptr noundef %165) #5
  br label %.loopexit

166:                                              ; preds = %.loopexit84
  %167 = load i32, ptr @yylineno, align 4, !tbaa !5
  %168 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %167, ptr noundef %168) #5
  br label %.loopexit

169:                                              ; preds = %.loopexit84
  %170 = load i32, ptr @yylineno, align 4, !tbaa !5
  %171 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %170, ptr noundef %171) #5
  br label %.loopexit

172:                                              ; preds = %.loopexit84
  %173 = load i32, ptr @yylineno, align 4, !tbaa !5
  %174 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %173, ptr noundef %174) #5
  br label %.loopexit

175:                                              ; preds = %.loopexit84
  %176 = load i32, ptr @yylineno, align 4, !tbaa !5
  %177 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %176, ptr noundef %177) #5
  br label %.loopexit

178:                                              ; preds = %.loopexit84
  %179 = load i32, ptr @yylineno, align 4, !tbaa !5
  %180 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %179, ptr noundef %180) #5
  br label %.loopexit

181:                                              ; preds = %.loopexit84
  %182 = load i32, ptr @yylineno, align 4, !tbaa !5
  %183 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %182, ptr noundef %183) #5
  br label %.loopexit

184:                                              ; preds = %.loopexit84
  %185 = load i32, ptr @yylineno, align 4, !tbaa !5
  %186 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %185, ptr noundef %186) #5
  br label %.loopexit

187:                                              ; preds = %.loopexit84
  %188 = load i32, ptr @yylineno, align 4, !tbaa !5
  %189 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %188, ptr noundef %189) #5
  br label %.loopexit

190:                                              ; preds = %.loopexit84
  %191 = load i32, ptr @yylineno, align 4, !tbaa !5
  %192 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %191, ptr noundef %192) #5
  br label %.loopexit

193:                                              ; preds = %.loopexit84
  %194 = load i32, ptr @yylineno, align 4, !tbaa !5
  %195 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %194, ptr noundef %195) #5
  br label %.loopexit

196:                                              ; preds = %.loopexit84
  %197 = load i32, ptr @yylineno, align 4, !tbaa !5
  %198 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %197, ptr noundef %198) #5
  br label %.loopexit

199:                                              ; preds = %.loopexit84
  %200 = load i32, ptr @yylineno, align 4, !tbaa !5
  %201 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %200, ptr noundef %201) #5
  br label %.loopexit

202:                                              ; preds = %.loopexit84
  %203 = load i32, ptr @yylineno, align 4, !tbaa !5
  %204 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %203, ptr noundef %204) #5
  br label %.loopexit

205:                                              ; preds = %.loopexit84
  %206 = load i32, ptr @yylineno, align 4, !tbaa !5
  %207 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %206, ptr noundef %207) #5
  br label %.loopexit

208:                                              ; preds = %.loopexit84
  %209 = load i32, ptr @yylineno, align 4, !tbaa !5
  %210 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %209, ptr noundef %210) #5
  br label %.loopexit

211:                                              ; preds = %.loopexit84
  %212 = load i32, ptr @yylineno, align 4, !tbaa !5
  %213 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %212, ptr noundef %213) #5
  br label %.loopexit

214:                                              ; preds = %.loopexit84
  %215 = load i32, ptr @yylineno, align 4, !tbaa !5
  %216 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %215, ptr noundef %216) #5
  br label %.loopexit

217:                                              ; preds = %.loopexit84
  %218 = load i32, ptr @yylineno, align 4, !tbaa !5
  %219 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %218, ptr noundef %219) #5
  br label %.loopexit

220:                                              ; preds = %.loopexit84
  %221 = load i32, ptr @yylineno, align 4, !tbaa !5
  %222 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %221, ptr noundef %222) #5
  br label %.loopexit

223:                                              ; preds = %.loopexit84
  %224 = load i32, ptr @yylineno, align 4, !tbaa !5
  %225 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %224, ptr noundef %225) #5
  br label %.loopexit

226:                                              ; preds = %.loopexit84
  %227 = load i32, ptr @yylineno, align 4, !tbaa !5
  %228 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %227, ptr noundef %228) #5
  br label %.loopexit

229:                                              ; preds = %.loopexit84
  %230 = load i32, ptr @yylineno, align 4, !tbaa !5
  %231 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %230, ptr noundef %231) #5
  br label %.loopexit

232:                                              ; preds = %.loopexit84
  %233 = load i32, ptr @yylineno, align 4, !tbaa !5
  %234 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %233, ptr noundef %234) #5
  br label %.loopexit

235:                                              ; preds = %.loopexit84
  %236 = load i32, ptr @yylineno, align 4, !tbaa !5
  %237 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %236, ptr noundef %237) #5
  br label %.loopexit

238:                                              ; preds = %.loopexit84
  %239 = load i32, ptr @yylineno, align 4, !tbaa !5
  %240 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %239, ptr noundef %240) #5
  br label %.loopexit

241:                                              ; preds = %.loopexit84
  %242 = load i32, ptr @yylineno, align 4, !tbaa !5
  %243 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %242, ptr noundef %243) #5
  %244 = load ptr, ptr @yytext, align 8, !tbaa !9
  %245 = call ptr @CreateSyntaxNode(i32 noundef 3, ptr noundef %244) #5
  store ptr %245, ptr @yylval, align 8, !tbaa !13
  br label %.loopexit

246:                                              ; preds = %.loopexit84
  %247 = load i32, ptr @yylineno, align 4, !tbaa !5
  %248 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %247, ptr noundef %248) #5
  %249 = load ptr, ptr @yytext, align 8, !tbaa !9
  %250 = call ptr @CreateSyntaxNode(i32 noundef 4, ptr noundef %249) #5
  store ptr %250, ptr @yylval, align 8, !tbaa !13
  br label %.loopexit

251:                                              ; preds = %.loopexit84
  %252 = load i32, ptr @yylineno, align 4, !tbaa !5
  %253 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %252, ptr noundef %253) #5
  %254 = load ptr, ptr @yytext, align 8, !tbaa !9
  %255 = call ptr @CreateSyntaxNode(i32 noundef 4, ptr noundef %254) #5
  store ptr %255, ptr @yylval, align 8, !tbaa !13
  br label %.loopexit

256:                                              ; preds = %.loopexit84
  %257 = load i32, ptr @yylineno, align 4, !tbaa !5
  %258 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %257, ptr noundef %258) #5
  br label %.loopexit

259:                                              ; preds = %.loopexit84
  %260 = load i32, ptr @yylineno, align 4, !tbaa !5
  %261 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %260, ptr noundef %261) #5
  br label %.loopexit

262:                                              ; preds = %.loopexit84
  %263 = load i32, ptr @yylineno, align 4, !tbaa !5
  %264 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %263, ptr noundef %264) #5
  br label %.loopexit

265:                                              ; preds = %.loopexit84
  %266 = load i32, ptr @yylineno, align 4, !tbaa !5
  %267 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %266, ptr noundef %267) #5
  br label %.loopexit

268:                                              ; preds = %.loopexit84
  %269 = load i32, ptr @yylineno, align 4, !tbaa !5
  %270 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %269, ptr noundef %270) #5
  br label %.loopexit

271:                                              ; preds = %.loopexit84
  %272 = load i32, ptr @yylineno, align 4, !tbaa !5
  %273 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %272, ptr noundef %273) #5
  br label %.loopexit

274:                                              ; preds = %.loopexit84
  %275 = load i32, ptr @yylineno, align 4, !tbaa !5
  %276 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %275, ptr noundef %276) #5
  br label %.loopexit

277:                                              ; preds = %.loopexit84
  %278 = load i32, ptr @yylineno, align 4, !tbaa !5
  %279 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %278, ptr noundef %279) #5
  br label %.loopexit

280:                                              ; preds = %.loopexit84
  %281 = load i32, ptr @yylineno, align 4, !tbaa !5
  %282 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %281, ptr noundef %282) #5
  br label %.loopexit

283:                                              ; preds = %.loopexit84
  %284 = load i32, ptr @yylineno, align 4, !tbaa !5
  %285 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %284, ptr noundef %285) #5
  br label %.loopexit

286:                                              ; preds = %.loopexit84
  %287 = load i32, ptr @yylineno, align 4, !tbaa !5
  %288 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %287, ptr noundef %288) #5
  br label %.loopexit

289:                                              ; preds = %.loopexit84
  %290 = load i32, ptr @yylineno, align 4, !tbaa !5
  %291 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %290, ptr noundef %291) #5
  br label %.loopexit

292:                                              ; preds = %.loopexit84
  %293 = load i32, ptr @yylineno, align 4, !tbaa !5
  %294 = load ptr, ptr @yytext, align 8, !tbaa !9
  call void @MinisqlParserMovePos(i32 noundef %293, ptr noundef %294) #5
  br label %.thread.backedge

295:                                              ; preds = %.loopexit84
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %1) #5
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(128) %1, i8 0, i64 128, i1 false)
  %296 = load ptr, ptr @yytext, align 8, !tbaa !9
  %297 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %1, ptr noundef nonnull dereferenceable(1) @.str, ptr noundef %296) #5
  call void @MinisqlParserSetError(ptr noundef nonnull %1) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %1) #5
  br label %.thread.backedge

298:                                              ; preds = %.loopexit84
  %299 = load ptr, ptr @yytext, align 8, !tbaa !9
  %300 = load i64, ptr @yyleng, align 8, !tbaa !11
  %301 = load ptr, ptr @yyout, align 8, !tbaa !9
  %302 = call i64 @fwrite(ptr noundef %299, i64 noundef %300, i64 noundef 1, ptr noundef %301)
  br label %.thread.backedge

303:                                              ; preds = %.loopexit84
  %304 = load ptr, ptr @yytext, align 8, !tbaa !9
  %305 = load i8, ptr @yy_hold_char, align 1, !tbaa !13
  store i8 %305, ptr %.356, align 1, !tbaa !13
  %306 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %307 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %308 = getelementptr inbounds ptr, ptr %306, i64 %307
  %309 = load ptr, ptr %308, align 8, !tbaa !9
  %310 = getelementptr inbounds i8, ptr %309, i64 64
  %311 = load i32, ptr %310, align 8, !tbaa !20
  %312 = icmp eq i32 %311, 0
  br i1 %312, label %313, label %._crit_edge360

._crit_edge360:                                   ; preds = %303
  %.pre = load i64, ptr @yy_n_chars, align 8, !tbaa !11
  br label %321

313:                                              ; preds = %303
  %314 = getelementptr inbounds i8, ptr %309, i64 32
  %315 = load i64, ptr %314, align 8, !tbaa !22
  store i64 %315, ptr @yy_n_chars, align 8, !tbaa !11
  %316 = load ptr, ptr @yyin, align 8, !tbaa !9
  store ptr %316, ptr %309, align 8, !tbaa !23
  %317 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %318 = getelementptr inbounds ptr, ptr %317, i64 %307
  %319 = load ptr, ptr %318, align 8, !tbaa !9
  %320 = getelementptr inbounds i8, ptr %319, i64 64
  store i32 1, ptr %320, align 8, !tbaa !20
  br label %321

321:                                              ; preds = %._crit_edge360, %313
  %322 = phi i64 [ %315, %313 ], [ %.pre, %._crit_edge360 ]
  %323 = phi ptr [ %319, %313 ], [ %309, %._crit_edge360 ]
  %324 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  %325 = getelementptr inbounds i8, ptr %323, i64 8
  %326 = load ptr, ptr %325, align 8, !tbaa !24
  %327 = getelementptr inbounds i8, ptr %326, i64 %322
  %.not73 = icmp ugt ptr %324, %327
  br i1 %.not73, label %342, label %328

328:                                              ; preds = %321
  %329 = ptrtoint ptr %.356 to i64
  %330 = ptrtoint ptr %304 to i64
  %331 = xor i64 %330, -1
  %332 = add i64 %331, %329
  %333 = load ptr, ptr @yytext, align 8, !tbaa !9
  %sext = shl i64 %332, 32
  %334 = ashr exact i64 %sext, 32
  %335 = getelementptr inbounds i8, ptr %333, i64 %334
  store ptr %335, ptr @yy_c_buf_p, align 8, !tbaa !9
  %336 = call i32 @yy_get_previous_state()
  %337 = call i32 @yy_try_NUL_trans(i32 noundef %336)
  %338 = load ptr, ptr @yytext, align 8, !tbaa !9
  %.not76 = icmp eq i32 %337, 0
  br i1 %.not76, label %.backedge, label %339

339:                                              ; preds = %328
  %340 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  %341 = getelementptr inbounds i8, ptr %340, i64 1
  store ptr %341, ptr @yy_c_buf_p, align 8, !tbaa !9
  br label %.loopexit82.backedge

342:                                              ; preds = %321
  %343 = call i32 @yy_get_next_buffer()
  switch i32 %343, label %.thread.backedge [
    i32 1, label %344
    i32 0, label %350
    i32 2, label %361
  ]

344:                                              ; preds = %342
  store i32 0, ptr @yy_did_buffer_switch_on_eof, align 4, !tbaa !5
  %345 = call i32 @yywrap()
  %.not74 = icmp eq i32 %345, 0
  br i1 %.not74, label %346, label %372

346:                                              ; preds = %344
  %347 = load i32, ptr @yy_did_buffer_switch_on_eof, align 4, !tbaa !5
  %.not75 = icmp eq i32 %347, 0
  br i1 %.not75, label %348, label %.thread.backedge

348:                                              ; preds = %346
  %349 = load ptr, ptr @yyin, align 8, !tbaa !9
  call void @yyrestart(ptr noundef %349)
  br label %.thread.backedge

.thread.backedge:                                 ; preds = %342, %348, %346, %378, %298, %295, %292
  br label %.thread

350:                                              ; preds = %342
  %351 = ptrtoint ptr %.356 to i64
  %352 = ptrtoint ptr %304 to i64
  %353 = xor i64 %352, -1
  %354 = add i64 %353, %351
  %355 = load ptr, ptr @yytext, align 8, !tbaa !9
  %sext400 = shl i64 %354, 32
  %356 = ashr exact i64 %sext400, 32
  %357 = getelementptr inbounds i8, ptr %355, i64 %356
  store ptr %357, ptr @yy_c_buf_p, align 8, !tbaa !9
  %358 = call i32 @yy_get_previous_state()
  %359 = load ptr, ptr @yy_c_buf_p, align 8, !tbaa !9
  %360 = load ptr, ptr @yytext, align 8, !tbaa !9
  br label %.loopexit82.backedge

.loopexit82.backedge:                             ; preds = %350, %339
  %.053.be = phi ptr [ %341, %339 ], [ %359, %350 ]
  %.049.be = phi ptr [ %338, %339 ], [ %360, %350 ]
  %.040.be = phi i32 [ %337, %339 ], [ %358, %350 ]
  br label %.loopexit82

361:                                              ; preds = %342
  %362 = load ptr, ptr @yy_buffer_stack, align 8, !tbaa !9
  %363 = load i64, ptr @yy_buffer_stack_top, align 8, !tbaa !11
  %364 = getelementptr inbounds ptr, ptr %362, i64 %363
  %365 = load ptr, ptr %364, align 8, !tbaa !9
  %366 = getelementptr inbounds i8, ptr %365, i64 8
  %367 = load ptr, ptr %366, align 8, !tbaa !24
  %368 = load i64, ptr @yy_n_chars, align 8, !tbaa !11
  %369 = getelementptr inbounds i8, ptr %367, i64 %368
  store ptr %369, ptr @yy_c_buf_p, align 8, !tbaa !9
  %370 = call i32 @yy_get_previous_state()
  %371 = load ptr, ptr @yytext, align 8, !tbaa !9
  br label %.backedge

372:                                              ; preds = %344
  %373 = load ptr, ptr @yytext, align 8, !tbaa !9
  store ptr %373, ptr @yy_c_buf_p, align 8, !tbaa !9
  %374 = load i32, ptr @yy_start, align 4, !tbaa !5
  %375 = add nsw i32 %374, -1
  %376 = sdiv i32 %375, 2
  %377 = add nsw i32 %376, 58
  br label %.loopexit84

378:                                              ; preds = %.loopexit84
  call void @yy_fatal_error(ptr noundef nonnull @.str.1)
  br label %.thread.backedge

.loopexit:                                        ; preds = %.loopexit84, %289, %286, %283, %280, %277, %274, %271, %268, %265, %262, %259, %256, %251, %246, %241, %238, %235, %232, %229, %226, %223, %220, %217, %214, %211, %208, %205, %202, %199, %196, %193, %190, %187, %184, %181, %178, %175, %172, %169, %166, %163, %160, %157, %154, %151, %148, %145, %142, %139, %136, %133, %130, %125
  %.0 = phi i32 [ 41, %289 ], [ 40, %286 ], [ 62, %283 ], [ 60, %280 ], [ 39, %277 ], [ 59, %274 ], [ 42, %271 ], [ 44, %268 ], [ 301, %265 ], [ 300, %262 ], [ 299, %259 ], [ 298, %256 ], [ 297, %251 ], [ 297, %246 ], [ 295, %241 ], [ 294, %238 ], [ 293, %235 ], [ 292, %232 ], [ 291, %229 ], [ 290, %226 ], [ 289, %223 ], [ 288, %220 ], [ 287, %217 ], [ 286, %214 ], [ 285, %211 ], [ 284, %208 ], [ 283, %205 ], [ 282, %202 ], [ 281, %199 ], [ 280, %196 ], [ 279, %193 ], [ 278, %190 ], [ 277, %187 ], [ 276, %184 ], [ 275, %181 ], [ 274, %178 ], [ 273, %175 ], [ 272, %172 ], [ 271, %169 ], [ 270, %166 ], [ 269, %163 ], [ 268, %160 ], [ 267, %157 ], [ 266, %154 ], [ 265, %151 ], [ 264, %148 ], [ 263, %145 ], [ 262, %142 ], [ 261, %139 ], [ 260, %136 ], [ 259, %133 ], [ 258, %130 ], [ 296, %125 ], [ 0, %.loopexit84 ]
  ret i32 %.0
}

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

; Function Attrs: nounwind uwtable
declare hidden void @yyensure_buffer_stack() local_unnamed_addr #0

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

; Function Attrs: nounwind uwtable
declare hidden void @yy_load_buffer_state() local_unnamed_addr #0

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

declare void @MinisqlParserMovePos(i32 noundef, ptr noundef) local_unnamed_addr #2

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3

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

declare void @MinisqlParserSetError(ptr noundef) local_unnamed_addr #2

; Function Attrs: nofree nounwind
declare noundef i64 @fwrite(ptr nocapture noundef, i64 noundef, i64 noundef, ptr nocapture noundef) local_unnamed_addr #4

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @yywrap() local_unnamed_addr #0

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

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

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "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: write) }
attributes #4 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }

!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 = !{!7, !7, i64 0}
!14 = !{!15, !15, i64 0}
!15 = !{!"short", !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = distinct !{!18, !17}
!19 = distinct !{!19, !17}
!20 = !{!21, !6, i64 64}
!21 = !{!"yy_buffer_state", !10, i64 0, !10, i64 8, !10, i64 16, !12, i64 24, !12, i64 32, !6, i64 40, !6, i64 44, !6, i64 48, !6, i64 52, !6, i64 56, !6, i64 60, !6, i64 64}
!22 = !{!21, !12, i64 32}
!23 = !{!21, !10, i64 0}
!24 = !{!21, !10, i64 8}


; Effective O3 passes: ADCEPass,BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass