You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3321 lines
178 KiB

; ModuleID = 'parser.c'
source_filename = "parser.c"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"
%struct.YYLTYPE = type { i32, i32, i32, i32 }
%union.YYSTYPE = type { i8* }
%struct.ASTNode = type { i32, %struct.ASTNode*, %struct.ASTNode*, %struct.ASTNode*, i32, float, i8*, i32 }
%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] }
%struct._IO_marker = type opaque
%struct._IO_codecvt = type opaque
%struct._IO_wide_data = type opaque
%union.yyalloc = type { %union.YYSTYPE, [8 x i8] }
%struct.yypcontext_t = type { i8*, i32, %struct.YYLTYPE* }
%struct.__va_list_tag = type { i32, i32, i8*, i8* }
@syntax_error = dso_local global i32 0, align 4
@yylloc = dso_local global %struct.YYLTYPE { i32 1, i32 1, i32 1, i32 1 }, align 4
@yychar = dso_local global i32 0, align 4
@yypact = internal constant [207 x i16] [i16 112, i16 57, i16 85, i16 110, i16 94, i16 9, i16 -167, i16 112, i16 112, i16 112, i16 28, i16 93, i16 117, i16 126, i16 131, i16 155, i16 155, i16 -167, i16 -167, i16 -167, i16 -167, i16 64, i16 232, i16 -5, i16 -167, i16 98, i16 -167, i16 100, i16 144, i16 153, i16 164, i16 198, i16 207, i16 191, i16 195, i16 124, i16 -167, i16 -167, i16 232, i16 232, i16 232, i16 232, i16 196, i16 -8, i16 116, i16 -167, i16 -167, i16 214, i16 189, i16 191, i16 201, i16 191, i16 208, i16 200, i16 -167, i16 -167, i16 80, i16 104, i16 150, i16 -167, i16 191, i16 203, i16 232, i16 -167, i16 212, i16 -167, i16 6, i16 -167, i16 -167, i16 -167, i16 144, i16 232, i16 232, i16 232, i16 232, i16 232, i16 144, i16 -167, i16 70, i16 202, i16 -167, i16 -167, i16 191, i16 -167, i16 191, i16 218, i16 220, i16 165, i16 221, i16 165, i16 214, i16 214, i16 228, i16 225, i16 230, i16 224, i16 226, i16 -167, i16 150, i16 150, i16 -167, i16 229, i16 150, i16 231, i16 237, i16 -167, i16 -167, i16 236, i16 250, i16 249, i16 -167, i16 232, i16 232, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 247, i16 251, i16 214, i16 -167, i16 -167, i16 107, i16 248, i16 -167, i16 253, i16 -167, i16 253, i16 -167, i16 -167, i16 252, i16 257, i16 257, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 232, i16 232, i16 -167, i16 253, i16 -167, i16 -167, i16 189, i16 -167, i16 -167, i16 -167, i16 182, i16 155, i16 254, i16 256, i16 -167, i16 261, i16 101, i16 262, i16 -167, i16 242, i16 -167, i16 258, i16 163, i16 263, i16 260, i16 -167, i16 -167, i16 -167, i16 -167, i16 218, i16 -167, i16 165, i16 165, i16 232, i16 232, i16 232, i16 232, i16 232, i16 175, i16 257, i16 232, i16 232, i16 232, i16 175, i16 -167, i16 266, i16 -167, i16 -167, i16 12, i16 273, i16 -167, i16 -167, i16 -167, i16 -167, i16 279, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 -167, i16 175, i16 -167], align 16
@yytranslate = internal constant [296 x i8] c"\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F !\22#$%&'(", align 16
@yycheck = internal constant [302 x i16] [i16 22, i16 58, i16 25, i16 38, i16 27, i16 16, i16 39, i16 40, i16 41, i16 0, i16 2, i16 111, i16 112, i16 48, i16 125, i16 181, i16 24, i16 22, i16 58, i16 27, i16 186, i16 26, i16 128, i16 176, i16 130, i16 28, i16 61, i16 62, i16 58, i16 17, i16 24, i16 184, i16 185, i16 27, i16 134, i16 135, i16 71, i16 72, i16 33, i16 205, i16 146, i16 98, i16 99, i16 78, i16 16, i16 102, i16 18, i16 35, i16 36, i16 37, i16 38, i16 73, i16 74, i16 75, i16 49, i16 47, i16 51, i16 92, i16 98, i16 99, i16 3, i16 172, i16 102, i16 85, i16 87, i16 60, i16 89, i16 70, i16 98, i16 99, i16 6, i16 7, i16 102, i16 3, i16 4, i16 5, i16 176, i16 177, i16 178, i16 179, i16 180, i16 17, i16 182, i16 183, i16 184, i16 185, i16 16, i16 82, i16 3, i16 84, i16 20, i16 21, i16 98, i16 99, i16 24, i16 25, i16 102, i16 27, i16 18, i16 91, i16 6, i16 7, i16 22, i16 125, i16 6, i16 7, i16 6, i16 7, i16 143, i16 144, i16 3, i16 4, i16 5, i16 3, i16 149, i16 17, i16 23, i16 17, i16 6, i16 7, i16 8, i16 9, i16 18, i16 16, i16 181, i16 158, i16 22, i16 20, i16 21, i16 186, i16 122, i16 24, i16 25, i16 16, i16 27, i16 18, i16 35, i16 36, i16 37, i16 38, i16 16, i16 176, i16 18, i16 154, i16 28, i16 29, i16 30, i16 16, i16 205, i16 23, i16 172, i16 174, i16 175, i16 3, i16 4, i16 5, i16 6, i16 7, i16 3, i16 9, i16 10, i16 11, i16 18, i16 13, i16 14, i16 15, i16 16, i16 7, i16 8, i16 9, i16 20, i16 6, i16 7, i16 23, i16 24, i16 25, i16 23, i16 27, i16 3, i16 4, i16 5, i16 177, i16 178, i16 179, i16 180, i16 10, i16 11, i16 23, i16 13, i16 14, i16 15, i16 16, i16 3, i16 4, i16 5, i16 20, i16 33, i16 34, i16 23, i16 24, i16 25, i16 3, i16 27, i16 21, i16 22, i16 16, i16 3, i16 4, i16 5, i16 20, i16 3, i16 20, i16 17, i16 24, i16 25, i16 19, i16 27, i16 3, i16 17, i16 16, i16 17, i16 3, i16 4, i16 5, i16 22, i16 17, i16 26, i16 24, i16 25, i16 17, i16 27, i16 3, i16 4, i16 5, i16 16, i16 3, i16 4, i16 5, i16 20, i16 19, i16 19, i16 16, i16 24, i16 25, i16 16, i16 27, i16 16, i16 23, i16 16, i16 23, i16 21, i16 23, i16 24, i16 25, i16 23, i16 27, i16 24, i16 25, i16 22, i16 27, i16 3, i16 4, i16 5, i16 26, i16 3, i16 4, i16 5, i16 17, i16 19, i16 22, i16 22, i16 18, i16 21, i16 16, i16 32, i16 23, i16 22, i16 16, i16 22, i16 17, i16 17, i16 24, i16 25, i16 23, i16 27, i16 24, i16 25, i16 21, i16 27, i16 31, i16 17, i16 12, i16 22, i16 48, i16 149, i16 144, i16 135, i16 182, i16 -1, i16 -1, i16 -1, i16 183], align 16
@yytable = internal constant [302 x i16] [i16 43, i16 104, i16 50, i16 64, i16 52, i16 30, i16 67, i16 68, i16 69, i16 17, i16 13, i16 147, i16 148, i16 80, i16 153, i16 197, i16 71, i16 47, i16 98, i16 72, i16 202, i16 48, i16 155, i16 192, i16 156, i16 53, i16 107, i16 109, i16 99, i16 -63, i16 111, i16 200, i16 201, i16 112, i16 159, i16 159, i16 114, i16 115, i16 59, i16 206, i16 169, i16 104, i16 104, i16 80, i16 21, i16 104, i16 22, i16 177, i16 178, i16 179, i16 180, i16 116, i16 117, i16 118, i16 81, i16 77, i16 83, i16 133, i16 98, i16 98, i16 10, i16 188, i16 98, i16 43, i16 129, i16 105, i16 131, i16 113, i16 99, i16 99, i16 31, i16 32, i16 99, i16 35, i16 36, i16 37, i16 191, i16 159, i16 159, i16 159, i16 159, i16 33, i16 159, i16 159, i16 159, i16 159, i16 38, i16 123, i16 12, i16 124, i16 78, i16 119, i16 138, i16 139, i16 39, i16 40, i16 141, i16 41, i16 86, i16 13, i16 15, i16 16, i16 87, i16 43, i16 31, i16 32, i16 31, i16 32, i16 167, i16 107, i16 35, i16 36, i16 37, i16 14, i16 80, i16 49, i16 24, i16 51, i16 1, i16 2, i16 3, i16 4, i16 88, i16 38, i16 104, i16 68, i16 89, i16 125, i16 152, i16 104, i16 151, i16 39, i16 40, i16 25, i16 41, i16 22, i16 177, i16 178, i16 179, i16 180, i16 61, i16 64, i16 62, i16 173, i16 73, i16 74, i16 75, i16 27, i16 104, i16 26, i16 43, i16 189, i16 190, i16 35, i16 36, i16 37, i16 90, i16 91, i16 28, i16 4, i16 92, i16 93, i16 22, i16 94, i16 95, i16 96, i16 38, i16 18, i16 19, i16 20, i16 58, i16 31, i16 32, i16 97, i16 39, i16 40, i16 54, i16 41, i16 35, i16 36, i16 37, i16 193, i16 194, i16 195, i16 196, i16 92, i16 93, i16 55, i16 94, i16 95, i16 96, i16 38, i16 35, i16 36, i16 37, i16 58, i16 184, i16 185, i16 97, i16 39, i16 40, i16 56, i16 41, i16 171, i16 172, i16 38, i16 35, i16 36, i16 37, i16 78, i16 57, i16 58, i16 60, i16 39, i16 40, i16 70, i16 41, i16 76, i16 82, i16 38, i16 106, i16 35, i16 36, i16 37, i16 122, i16 84, i16 85, i16 39, i16 40, i16 110, i16 41, i16 35, i16 36, i16 37, i16 38, i16 35, i16 36, i16 37, i16 125, i16 128, i16 130, i16 134, i16 39, i16 40, i16 38, i16 41, i16 135, i16 136, i16 38, i16 137, i16 140, i16 132, i16 39, i16 40, i16 142, i16 41, i16 39, i16 40, i16 144, i16 41, i16 35, i16 36, i16 37, i16 143, i16 35, i16 36, i16 37, i16 145, i16 146, i16 149, i16 154, i16 62, i16 150, i16 38, i16 182, i16 157, i16 174, i16 176, i16 175, i16 181, i16 186, i16 39, i16 158, i16 187, i16 41, i16 39, i16 40, i16 203, i16 41, i16 183, i16 204, i16 205, i16 42, i16 79, i16 170, i16 168, i16 166, i16 198, i16 0, i16 0, i16 0, i16 199], align 16
@yylval = dso_local global %union.YYSTYPE zeroinitializer, align 8
@yydefact = internal constant [207 x i8] c"\00\00\00\00\00\00\02\03\04\05\0D\00\0D\00\00\00\00\01\06\07\08\00\00\18\16\00\17\00\0D\00\00\00\00\00\00cQR\00\00\00\00\00\13CGP\00\00\00\00\00\00\00\09\0A'(0!\00\00\00S\00?@KLJ\0D\00\00\00\00\00\0D\1A\00\19\1C\22\00#\00\00\00\00\00\00\00\00\00\00\00\00\006007\000\00P$HM\00\00O\00\00\0E\15\14DEF\1D\1F\00\00%&\00\0B\0Fc+c,=\00\00\00;<12/35\00\00IcBA\00\1E\1B\10\00\00)*>\00^\00TUWX[\00\00Nd \11\00\0C\00\00\00\00\00\00\00\00\00\00\00\00\004\00-.^\00_a`b8VY\\]:\12Z\009", align 16
@yyr2 = internal constant [101 x i8] c"\00\02\01\01\01\01\02\02\02\04\04\04\06\00\04\01\02\03\05\01\03\03\03\03\02\04\04\06\01\02\03\01\03\05\05\05\06\06\06\02\02\05\05\04\04\07\07\03\00\02\02\02\04\02\01\01\05\07\05\02\02\02\03\01\01\03\03\01\03\03\03\01\03\04\02\02\02\01\03\03\01\01\01\02\01\01\03\01\01\03\04\01\03\03\01\03\03\03\03\00\04", align 16
@root = dso_local global %struct.ASTNode* null, align 8
@yyr1 = internal constant [101 x i8] c"\00)*++++++,,--..////00011222233344555555666666667888899999999999:;;;<<<<======>>????@ABBBCCDEEEFFFFFGG", align 16
@yypgoto = internal constant [31 x i16] [i16 -167, i16 -167, i16 160, i16 -40, i16 -11, i16 -3, i16 -111, i16 270, i16 -30, i16 8, i16 245, i16 145, i16 -167, i16 -23, i16 5, i16 -6, i16 -166, i16 -35, i16 -100, i16 -22, i16 -33, i16 151, i16 -167, i16 -57, i16 161, i16 115, i16 118, i16 -167, i16 -153, i16 4, i16 -106], align 16
@yydefgoto = internal constant [31 x i8] c"\00\05\06\07\1D\17~\7F\08\0Bxy\09\22defgAB,l-.\A0\A1\A2\A3\A4\A5?", align 16
@yynerrs = dso_local global i32 0, align 4
@.str = private unnamed_addr constant [13 x i8] c"syntax error\00", align 1
@.str.1 = private unnamed_addr constant [18 x i8] c"Error: discarding\00", align 1
@.str.2 = private unnamed_addr constant [15 x i8] c"Error: popping\00", align 1
@yystos = internal constant [207 x i8] c"\00\06\07\08\09*+,15\032\032\03\06\07\00+++\10\12.\17\10\17\10\03--\06\07\116\03\04\05\10\18\19\1B0<=?@\16\1A\116\116.\17\17\03\03\147\11\10\12G:;<===\13\18\1B\1C\1D\1E\032\143:7\117\11\1A\12\16\12\16\06\07\0A\0B\0D\0E\0F\17,1789:@7\11:>:\11\18\1B.::<<<\1534\1677\14/0\136\136\17:\10\10\17\1788\158\17\1A\16\11\13;;\16\152\15/\16GG\17\19;ABCDEFA:>G4\15\16-\16\16\10#$%&\11 \1F!\22\11\17/66;EFFFF9BCEE9\15\11\0C9", align 16
@.str.3 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1
@.str.4 = private unnamed_addr constant [30 x i8] c"Cleanup: discarding lookahead\00", align 1
@.str.5 = private unnamed_addr constant [17 x i8] c"Cleanup: popping\00", align 1
@filename = dso_local global [100 x i8] zeroinitializer, align 16
@.str.6 = private unnamed_addr constant [2 x i8] c"r\00", align 1
@stdin = external global %struct._IO_FILE*, align 8
@stderr = external global %struct._IO_FILE*, align 8
@.str.7 = private unnamed_addr constant [7 x i8] c"%s:%d \00", align 1
@yylineno = external global i32, align 4
@.str.8 = private unnamed_addr constant [3 x i8] c".\0A\00", align 1
@.str.9 = private unnamed_addr constant [28 x i8] c"syntax error, unexpected %s\00", align 1
@.str.10 = private unnamed_addr constant [42 x i8] c"syntax error, unexpected %s, expecting %s\00", align 1
@.str.11 = private unnamed_addr constant [48 x i8] c"syntax error, unexpected %s, expecting %s or %s\00", align 1
@.str.12 = private unnamed_addr constant [54 x i8] c"syntax error, unexpected %s, expecting %s or %s or %s\00", align 1
@.str.13 = private unnamed_addr constant [60 x i8] c"syntax error, unexpected %s, expecting %s or %s or %s or %s\00", align 1
@yytname = internal constant [73 x i8*] [i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.28, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.44, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.70, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.71, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.72, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.73, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.74, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.75, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.76, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.77, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.78, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.79, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.80, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.81, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.82, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.83, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.84, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.85, i32 0, i32 0), i8* null], align 16
@.str.14 = private unnamed_addr constant [14 x i8] c"\22end of file\22\00", align 1
@.str.15 = private unnamed_addr constant [6 x i8] c"error\00", align 1
@.str.16 = private unnamed_addr constant [16 x i8] c"\22invalid token\22\00", align 1
@.str.17 = private unnamed_addr constant [3 x i8] c"ID\00", align 1
@.str.18 = private unnamed_addr constant [8 x i8] c"INT_LIT\00", align 1
@.str.19 = private unnamed_addr constant [10 x i8] c"FLOAT_LIT\00", align 1
@.str.20 = private unnamed_addr constant [4 x i8] c"INT\00", align 1
@.str.21 = private unnamed_addr constant [6 x i8] c"FLOAT\00", align 1
@.str.22 = private unnamed_addr constant [5 x i8] c"VOID\00", align 1
@.str.23 = private unnamed_addr constant [6 x i8] c"CONST\00", align 1
@.str.24 = private unnamed_addr constant [7 x i8] c"RETURN\00", align 1
@.str.25 = private unnamed_addr constant [3 x i8] c"IF\00", align 1
@.str.26 = private unnamed_addr constant [5 x i8] c"ELSE\00", align 1
@.str.27 = private unnamed_addr constant [6 x i8] c"WHILE\00", align 1
@.str.28 = private unnamed_addr constant [6 x i8] c"BREAK\00", align 1
@.str.29 = private unnamed_addr constant [9 x i8] c"CONTINUE\00", align 1
@.str.30 = private unnamed_addr constant [3 x i8] c"LP\00", align 1
@.str.31 = private unnamed_addr constant [3 x i8] c"RP\00", align 1
@.str.32 = private unnamed_addr constant [3 x i8] c"LB\00", align 1
@.str.33 = private unnamed_addr constant [3 x i8] c"RB\00", align 1
@.str.34 = private unnamed_addr constant [3 x i8] c"LC\00", align 1
@.str.35 = private unnamed_addr constant [3 x i8] c"RC\00", align 1
@.str.36 = private unnamed_addr constant [6 x i8] c"COMMA\00", align 1
@.str.37 = private unnamed_addr constant [10 x i8] c"SEMICOLON\00", align 1
@.str.38 = private unnamed_addr constant [6 x i8] c"MINUS\00", align 1
@.str.39 = private unnamed_addr constant [4 x i8] c"NOT\00", align 1
@.str.40 = private unnamed_addr constant [7 x i8] c"ASSIGN\00", align 1
@.str.41 = private unnamed_addr constant [5 x i8] c"PLUS\00", align 1
@.str.42 = private unnamed_addr constant [4 x i8] c"MUL\00", align 1
@.str.43 = private unnamed_addr constant [4 x i8] c"DIV\00", align 1
@.str.44 = private unnamed_addr constant [4 x i8] c"MOD\00", align 1
@.str.45 = private unnamed_addr constant [4 x i8] c"AND\00", align 1
@.str.46 = private unnamed_addr constant [3 x i8] c"OR\00", align 1
@.str.47 = private unnamed_addr constant [3 x i8] c"EQ\00", align 1
@.str.48 = private unnamed_addr constant [3 x i8] c"NE\00", align 1
@.str.49 = private unnamed_addr constant [3 x i8] c"LT\00", align 1
@.str.50 = private unnamed_addr constant [3 x i8] c"LE\00", align 1
@.str.51 = private unnamed_addr constant [3 x i8] c"GT\00", align 1
@.str.52 = private unnamed_addr constant [3 x i8] c"GE\00", align 1
@.str.53 = private unnamed_addr constant [8 x i8] c"LEX_ERR\00", align 1
@.str.54 = private unnamed_addr constant [5 x i8] c"THEN\00", align 1
@.str.55 = private unnamed_addr constant [8 x i8] c"$accept\00", align 1
@.str.56 = private unnamed_addr constant [5 x i8] c"Root\00", align 1
@.str.57 = private unnamed_addr constant [9 x i8] c"CompUnit\00", align 1
@.str.58 = private unnamed_addr constant [10 x i8] c"ConstDecl\00", align 1
@.str.59 = private unnamed_addr constant [9 x i8] c"ConstDef\00", align 1
@.str.60 = private unnamed_addr constant [14 x i8] c"ConstExpArray\00", align 1
@.str.61 = private unnamed_addr constant [13 x i8] c"ConstInitVal\00", align 1
@.str.62 = private unnamed_addr constant [9 x i8] c"ConstExp\00", align 1
@.str.63 = private unnamed_addr constant [8 x i8] c"VarDecl\00", align 1
@.str.64 = private unnamed_addr constant [7 x i8] c"VarDef\00", align 1
@.str.65 = private unnamed_addr constant [8 x i8] c"InitVal\00", align 1
@.str.66 = private unnamed_addr constant [9 x i8] c"InitVals\00", align 1
@.str.67 = private unnamed_addr constant [8 x i8] c"FuncDef\00", align 1
@.str.68 = private unnamed_addr constant [11 x i8] c"FuncFParam\00", align 1
@.str.69 = private unnamed_addr constant [6 x i8] c"Block\00", align 1
@.str.70 = private unnamed_addr constant [10 x i8] c"BlockItem\00", align 1
@.str.71 = private unnamed_addr constant [5 x i8] c"Stmt\00", align 1
@.str.72 = private unnamed_addr constant [4 x i8] c"Exp\00", align 1
@.str.73 = private unnamed_addr constant [7 x i8] c"AddExp\00", align 1
@.str.74 = private unnamed_addr constant [7 x i8] c"MulExp\00", align 1
@.str.75 = private unnamed_addr constant [9 x i8] c"UnaryExp\00", align 1
@.str.76 = private unnamed_addr constant [12 x i8] c"FuncRParams\00", align 1
@.str.77 = private unnamed_addr constant [11 x i8] c"PrimaryExp\00", align 1
@.str.78 = private unnamed_addr constant [5 x i8] c"LVal\00", align 1
@.str.79 = private unnamed_addr constant [5 x i8] c"Cond\00", align 1
@.str.80 = private unnamed_addr constant [7 x i8] c"LOrExp\00", align 1
@.str.81 = private unnamed_addr constant [8 x i8] c"LAndExp\00", align 1
@.str.82 = private unnamed_addr constant [8 x i8] c"LNotExp\00", align 1
@.str.83 = private unnamed_addr constant [6 x i8] c"EqExp\00", align 1
@.str.84 = private unnamed_addr constant [7 x i8] c"RelExp\00", align 1
@.str.85 = private unnamed_addr constant [9 x i8] c"ExpArray\00", align 1
@.str.86 = private unnamed_addr constant [9 x i8] c"Deleting\00", align 1
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i32 @yyparse() #0 {
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i64, align 8
%4 = alloca [200 x i8], align 16
%5 = alloca i8*, align 8
%6 = alloca i8*, align 8
%7 = alloca [200 x %union.YYSTYPE], align 16
%8 = alloca %union.YYSTYPE*, align 8
%9 = alloca %union.YYSTYPE*, align 8
%10 = alloca [200 x %struct.YYLTYPE], align 16
%11 = alloca %struct.YYLTYPE*, align 8
%12 = alloca %struct.YYLTYPE*, align 8
%13 = alloca i32, align 4
%14 = alloca i32, align 4
%15 = alloca i32, align 4
%16 = alloca %union.YYSTYPE, align 8
%17 = alloca %struct.YYLTYPE, align 4
%18 = alloca [3 x %struct.YYLTYPE], align 16
%19 = alloca [128 x i8], align 16
%20 = alloca i8*, align 8
%21 = alloca i64, align 8
%22 = alloca i32, align 4
%23 = alloca i64, align 8
%24 = alloca i8*, align 8
%25 = alloca %union.yyalloc*, align 8
%26 = alloca i64, align 8
%27 = alloca i64, align 8
%28 = alloca i64, align 8
%29 = alloca i32, align 4
%30 = alloca i32, align 4
%31 = alloca %struct.yypcontext_t, align 8
%32 = alloca i8*, align 8
%33 = alloca i32, align 4
store i32 0, i32* %1, align 4
store i32 0, i32* %2, align 4
store i64 200, i64* %3, align 8
%34 = getelementptr inbounds [200 x i8], [200 x i8]* %4, i64 0, i64 0
store i8* %34, i8** %5, align 8
%35 = load i8*, i8** %5, align 8
store i8* %35, i8** %6, align 8
%36 = getelementptr inbounds [200 x %union.YYSTYPE], [200 x %union.YYSTYPE]* %7, i64 0, i64 0
store %union.YYSTYPE* %36, %union.YYSTYPE** %8, align 8
%37 = load %union.YYSTYPE*, %union.YYSTYPE** %8, align 8
store %union.YYSTYPE* %37, %union.YYSTYPE** %9, align 8
%38 = getelementptr inbounds [200 x %struct.YYLTYPE], [200 x %struct.YYLTYPE]* %10, i64 0, i64 0
store %struct.YYLTYPE* %38, %struct.YYLTYPE** %11, align 8
%39 = load %struct.YYLTYPE*, %struct.YYLTYPE** %11, align 8
store %struct.YYLTYPE* %39, %struct.YYLTYPE** %12, align 8
store i32 -2, i32* %15, align 4
%40 = getelementptr inbounds [128 x i8], [128 x i8]* %19, i64 0, i64 0
store i8* %40, i8** %20, align 8
store i64 128, i64* %21, align 8
store i32 0, i32* %22, align 4
store i32 -2, i32* @yychar, align 4
%41 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%42 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %41, i64 0
%43 = bitcast %struct.YYLTYPE* %42 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %43, i8* align 4 bitcast (%struct.YYLTYPE* @yylloc to i8*), i64 16, i1 false)
br label %47
44: ; preds = %1505, %1312, %242
%45 = load i8*, i8** %6, align 8
%46 = getelementptr inbounds i8, i8* %45, i32 1
store i8* %46, i8** %6, align 8
br label %47
47: ; preds = %44, %0
%48 = load i32, i32* %1, align 4
%49 = trunc i32 %48 to i8
%50 = load i8*, i8** %6, align 8
store i8 %49, i8* %50, align 1
%51 = load i8*, i8** %5, align 8
%52 = load i64, i64* %3, align 8
%53 = getelementptr inbounds i8, i8* %51, i64 %52
%54 = getelementptr inbounds i8, i8* %53, i64 -1
%55 = load i8*, i8** %6, align 8
%56 = icmp ule i8* %54, %55
br i1 %56, label %57, label %162
57: ; preds = %47
%58 = load i8*, i8** %6, align 8
%59 = load i8*, i8** %5, align 8
%60 = ptrtoint i8* %58 to i64
%61 = ptrtoint i8* %59 to i64
%62 = sub i64 %60, %61
%63 = add nsw i64 %62, 1
store i64 %63, i64* %23, align 8
%64 = load i64, i64* %3, align 8
%65 = icmp sle i64 10000, %64
br i1 %65, label %66, label %67
66: ; preds = %57
br label %1509
67: ; preds = %57
%68 = load i64, i64* %3, align 8
%69 = mul nsw i64 %68, 2
store i64 %69, i64* %3, align 8
%70 = load i64, i64* %3, align 8
%71 = icmp slt i64 10000, %70
br i1 %71, label %72, label %73
72: ; preds = %67
store i64 10000, i64* %3, align 8
br label %73
73: ; preds = %72, %67
%74 = load i8*, i8** %5, align 8
store i8* %74, i8** %24, align 8
%75 = load i64, i64* %3, align 8
%76 = mul nsw i64 %75, 25
%77 = add nsw i64 %76, 30
%78 = call noalias i8* @malloc(i64 noundef %77) #6
%79 = bitcast i8* %78 to %union.yyalloc*
store %union.yyalloc* %79, %union.yyalloc** %25, align 8
%80 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%81 = icmp ne %union.yyalloc* %80, null
br i1 %81, label %83, label %82
82: ; preds = %73
br label %1509
83: ; preds = %73
br label %84
84: ; preds = %83
%85 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%86 = bitcast %union.yyalloc* %85 to i8*
%87 = load i8*, i8** %5, align 8
%88 = load i64, i64* %23, align 8
%89 = mul i64 %88, 1
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %86, i8* align 1 %87, i64 %89, i1 false)
%90 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%91 = bitcast %union.yyalloc* %90 to i8*
store i8* %91, i8** %5, align 8
%92 = load i64, i64* %3, align 8
%93 = mul nsw i64 %92, 1
%94 = add nsw i64 %93, 15
store i64 %94, i64* %26, align 8
%95 = load i64, i64* %26, align 8
%96 = sdiv i64 %95, 16
%97 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%98 = getelementptr inbounds %union.yyalloc, %union.yyalloc* %97, i64 %96
store %union.yyalloc* %98, %union.yyalloc** %25, align 8
br label %99
99: ; preds = %84
br label %100
100: ; preds = %99
%101 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%102 = bitcast %union.yyalloc* %101 to %union.YYSTYPE*
%103 = bitcast %union.YYSTYPE* %102 to i8*
%104 = load %union.YYSTYPE*, %union.YYSTYPE** %8, align 8
%105 = bitcast %union.YYSTYPE* %104 to i8*
%106 = load i64, i64* %23, align 8
%107 = mul i64 %106, 8
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %103, i8* align 8 %105, i64 %107, i1 false)
%108 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%109 = bitcast %union.yyalloc* %108 to %union.YYSTYPE*
store %union.YYSTYPE* %109, %union.YYSTYPE** %8, align 8
%110 = load i64, i64* %3, align 8
%111 = mul nsw i64 %110, 8
%112 = add nsw i64 %111, 15
store i64 %112, i64* %27, align 8
%113 = load i64, i64* %27, align 8
%114 = sdiv i64 %113, 16
%115 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%116 = getelementptr inbounds %union.yyalloc, %union.yyalloc* %115, i64 %114
store %union.yyalloc* %116, %union.yyalloc** %25, align 8
br label %117
117: ; preds = %100
br label %118
118: ; preds = %117
%119 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%120 = bitcast %union.yyalloc* %119 to %struct.YYLTYPE*
%121 = bitcast %struct.YYLTYPE* %120 to i8*
%122 = load %struct.YYLTYPE*, %struct.YYLTYPE** %11, align 8
%123 = bitcast %struct.YYLTYPE* %122 to i8*
%124 = load i64, i64* %23, align 8
%125 = mul i64 %124, 16
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %121, i8* align 4 %123, i64 %125, i1 false)
%126 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%127 = bitcast %union.yyalloc* %126 to %struct.YYLTYPE*
store %struct.YYLTYPE* %127, %struct.YYLTYPE** %11, align 8
%128 = load i64, i64* %3, align 8
%129 = mul nsw i64 %128, 16
%130 = add nsw i64 %129, 15
store i64 %130, i64* %28, align 8
%131 = load i64, i64* %28, align 8
%132 = sdiv i64 %131, 16
%133 = load %union.yyalloc*, %union.yyalloc** %25, align 8
%134 = getelementptr inbounds %union.yyalloc, %union.yyalloc* %133, i64 %132
store %union.yyalloc* %134, %union.yyalloc** %25, align 8
br label %135
135: ; preds = %118
%136 = load i8*, i8** %24, align 8
%137 = getelementptr inbounds [200 x i8], [200 x i8]* %4, i64 0, i64 0
%138 = icmp ne i8* %136, %137
br i1 %138, label %139, label %141
139: ; preds = %135
%140 = load i8*, i8** %24, align 8
call void @free(i8* noundef %140) #6
br label %141
141: ; preds = %139, %135
%142 = load i8*, i8** %5, align 8
%143 = load i64, i64* %23, align 8
%144 = getelementptr inbounds i8, i8* %142, i64 %143
%145 = getelementptr inbounds i8, i8* %144, i64 -1
store i8* %145, i8** %6, align 8
%146 = load %union.YYSTYPE*, %union.YYSTYPE** %8, align 8
%147 = load i64, i64* %23, align 8
%148 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %146, i64 %147
%149 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %148, i64 -1
store %union.YYSTYPE* %149, %union.YYSTYPE** %9, align 8
%150 = load %struct.YYLTYPE*, %struct.YYLTYPE** %11, align 8
%151 = load i64, i64* %23, align 8
%152 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %150, i64 %151
%153 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %152, i64 -1
store %struct.YYLTYPE* %153, %struct.YYLTYPE** %12, align 8
%154 = load i8*, i8** %5, align 8
%155 = load i64, i64* %3, align 8
%156 = getelementptr inbounds i8, i8* %154, i64 %155
%157 = getelementptr inbounds i8, i8* %156, i64 -1
%158 = load i8*, i8** %6, align 8
%159 = icmp ule i8* %157, %158
br i1 %159, label %160, label %161
160: ; preds = %141
br label %1508
161: ; preds = %141
br label %162
162: ; preds = %161, %47
%163 = load i32, i32* %1, align 4
%164 = icmp eq i32 %163, 17
br i1 %164, label %165, label %166
165: ; preds = %162
br label %1507
166: ; preds = %162
br label %167
167: ; preds = %166
%168 = load i32, i32* %1, align 4
%169 = sext i32 %168 to i64
%170 = getelementptr inbounds [207 x i16], [207 x i16]* @yypact, i64 0, i64 %169
%171 = load i16, i16* %170, align 2
%172 = sext i16 %171 to i32
store i32 %172, i32* %13, align 4
%173 = load i32, i32* %13, align 4
%174 = icmp eq i32 %173, -167
br i1 %174, label %175, label %176
175: ; preds = %167
br label %250
176: ; preds = %167
%177 = load i32, i32* @yychar, align 4
%178 = icmp eq i32 %177, -2
br i1 %178, label %179, label %181
179: ; preds = %176
%180 = call i32 (...) @yylex()
store i32 %180, i32* @yychar, align 4
br label %181
181: ; preds = %179, %176
%182 = load i32, i32* @yychar, align 4
%183 = icmp sle i32 %182, 0
br i1 %183, label %184, label %185
184: ; preds = %181
store i32 0, i32* @yychar, align 4
store i32 0, i32* %15, align 4
br label %207
185: ; preds = %181
%186 = load i32, i32* @yychar, align 4
%187 = icmp eq i32 %186, 256
br i1 %187, label %188, label %191
188: ; preds = %185
store i32 257, i32* @yychar, align 4
store i32 1, i32* %15, align 4
%189 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 1
%190 = bitcast %struct.YYLTYPE* %189 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %190, i8* align 4 bitcast (%struct.YYLTYPE* @yylloc to i8*), i64 16, i1 false)
br label %1415
191: ; preds = %185
%192 = load i32, i32* @yychar, align 4
%193 = icmp sle i32 0, %192
br i1 %193, label %194, label %203
194: ; preds = %191
%195 = load i32, i32* @yychar, align 4
%196 = icmp sle i32 %195, 295
br i1 %196, label %197, label %203
197: ; preds = %194
%198 = load i32, i32* @yychar, align 4
%199 = sext i32 %198 to i64
%200 = getelementptr inbounds [296 x i8], [296 x i8]* @yytranslate, i64 0, i64 %199
%201 = load i8, i8* %200, align 1
%202 = sext i8 %201 to i32
br label %204
203: ; preds = %194, %191
br label %204
204: ; preds = %203, %197
%205 = phi i32 [ %202, %197 ], [ 2, %203 ]
store i32 %205, i32* %15, align 4
br label %206
206: ; preds = %204
br label %207
207: ; preds = %206, %184
%208 = load i32, i32* %15, align 4
%209 = load i32, i32* %13, align 4
%210 = add nsw i32 %209, %208
store i32 %210, i32* %13, align 4
%211 = load i32, i32* %13, align 4
%212 = icmp slt i32 %211, 0
br i1 %212, label %224, label %213
213: ; preds = %207
%214 = load i32, i32* %13, align 4
%215 = icmp slt i32 301, %214
br i1 %215, label %224, label %216
216: ; preds = %213
%217 = load i32, i32* %13, align 4
%218 = sext i32 %217 to i64
%219 = getelementptr inbounds [302 x i16], [302 x i16]* @yycheck, i64 0, i64 %218
%220 = load i16, i16* %219, align 2
%221 = sext i16 %220 to i32
%222 = load i32, i32* %15, align 4
%223 = icmp ne i32 %221, %222
br i1 %223, label %224, label %225
224: ; preds = %216, %213, %207
br label %250
225: ; preds = %216
%226 = load i32, i32* %13, align 4
%227 = sext i32 %226 to i64
%228 = getelementptr inbounds [302 x i16], [302 x i16]* @yytable, i64 0, i64 %227
%229 = load i16, i16* %228, align 2
%230 = sext i16 %229 to i32
store i32 %230, i32* %13, align 4
%231 = load i32, i32* %13, align 4
%232 = icmp sle i32 %231, 0
br i1 %232, label %233, label %236
233: ; preds = %225
%234 = load i32, i32* %13, align 4
%235 = sub nsw i32 0, %234
store i32 %235, i32* %13, align 4
br label %260
236: ; preds = %225
%237 = load i32, i32* %2, align 4
%238 = icmp ne i32 %237, 0
br i1 %238, label %239, label %242
239: ; preds = %236
%240 = load i32, i32* %2, align 4
%241 = add nsw i32 %240, -1
store i32 %241, i32* %2, align 4
br label %242
242: ; preds = %239, %236
%243 = load i32, i32* %13, align 4
store i32 %243, i32* %1, align 4
%244 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%245 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %244, i32 1
store %union.YYSTYPE* %245, %union.YYSTYPE** %9, align 8
%246 = bitcast %union.YYSTYPE* %245 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %246, i8* align 8 bitcast (%union.YYSTYPE* @yylval to i8*), i64 8, i1 false)
%247 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%248 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %247, i32 1
store %struct.YYLTYPE* %248, %struct.YYLTYPE** %12, align 8
%249 = bitcast %struct.YYLTYPE* %248 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %249, i8* align 4 bitcast (%struct.YYLTYPE* @yylloc to i8*), i64 16, i1 false)
store i32 -2, i32* @yychar, align 4
br label %44
250: ; preds = %224, %175
%251 = load i32, i32* %1, align 4
%252 = sext i32 %251 to i64
%253 = getelementptr inbounds [207 x i8], [207 x i8]* @yydefact, i64 0, i64 %252
%254 = load i8, i8* %253, align 1
%255 = sext i8 %254 to i32
store i32 %255, i32* %13, align 4
%256 = load i32, i32* %13, align 4
%257 = icmp eq i32 %256, 0
br i1 %257, label %258, label %259
258: ; preds = %250
br label %1314
259: ; preds = %250
br label %260
260: ; preds = %259, %233
%261 = load i32, i32* %13, align 4
%262 = sext i32 %261 to i64
%263 = getelementptr inbounds [101 x i8], [101 x i8]* @yyr2, i64 0, i64 %262
%264 = load i8, i8* %263, align 1
%265 = sext i8 %264 to i32
store i32 %265, i32* %22, align 4
%266 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%267 = load i32, i32* %22, align 4
%268 = sub nsw i32 1, %267
%269 = sext i32 %268 to i64
%270 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %266, i64 %269
%271 = bitcast %union.YYSTYPE* %16 to i8*
%272 = bitcast %union.YYSTYPE* %270 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %271, i8* align 8 %272, i64 8, i1 false)
br label %273
273: ; preds = %260
%274 = load i32, i32* %22, align 4
%275 = icmp ne i32 %274, 0
br i1 %275, label %276, label %317
276: ; preds = %273
%277 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%278 = load i32, i32* %22, align 4
%279 = sext i32 %278 to i64
%280 = sub i64 0, %279
%281 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %277, i64 %280
%282 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %281, i64 1
%283 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %282, i32 0, i32 0
%284 = load i32, i32* %283, align 4
%285 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 0
store i32 %284, i32* %285, align 4
%286 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%287 = load i32, i32* %22, align 4
%288 = sext i32 %287 to i64
%289 = sub i64 0, %288
%290 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %286, i64 %289
%291 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %290, i64 1
%292 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %291, i32 0, i32 1
%293 = load i32, i32* %292, align 4
%294 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 1
store i32 %293, i32* %294, align 4
%295 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%296 = load i32, i32* %22, align 4
%297 = sext i32 %296 to i64
%298 = sub i64 0, %297
%299 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %295, i64 %298
%300 = load i32, i32* %22, align 4
%301 = sext i32 %300 to i64
%302 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %299, i64 %301
%303 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %302, i32 0, i32 2
%304 = load i32, i32* %303, align 4
%305 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 2
store i32 %304, i32* %305, align 4
%306 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%307 = load i32, i32* %22, align 4
%308 = sext i32 %307 to i64
%309 = sub i64 0, %308
%310 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %306, i64 %309
%311 = load i32, i32* %22, align 4
%312 = sext i32 %311 to i64
%313 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %310, i64 %312
%314 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %313, i32 0, i32 3
%315 = load i32, i32* %314, align 4
%316 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 3
store i32 %315, i32* %316, align 4
br label %338
317: ; preds = %273
%318 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%319 = load i32, i32* %22, align 4
%320 = sext i32 %319 to i64
%321 = sub i64 0, %320
%322 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %318, i64 %321
%323 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %322, i64 0
%324 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %323, i32 0, i32 2
%325 = load i32, i32* %324, align 4
%326 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 2
store i32 %325, i32* %326, align 4
%327 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 0
store i32 %325, i32* %327, align 4
%328 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%329 = load i32, i32* %22, align 4
%330 = sext i32 %329 to i64
%331 = sub i64 0, %330
%332 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %328, i64 %331
%333 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %332, i64 0
%334 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %333, i32 0, i32 3
%335 = load i32, i32* %334, align 4
%336 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 3
store i32 %335, i32* %336, align 4
%337 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %17, i32 0, i32 1
store i32 %335, i32* %337, align 4
br label %338
338: ; preds = %317, %276
br label %339
339: ; preds = %338
%340 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 1
%341 = bitcast %struct.YYLTYPE* %340 to i8*
%342 = bitcast %struct.YYLTYPE* %17 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %341, i8* align 4 %342, i64 16, i1 false)
%343 = load i32, i32* %13, align 4
switch i32 %343, label %1245 [
i32 2, label %344
i32 3, label %350
i32 4, label %357
i32 5, label %364
i32 6, label %371
i32 7, label %382
i32 8, label %393
i32 9, label %404
i32 10, label %411
i32 11, label %418
i32 12, label %433
i32 13, label %452
i32 14, label %454
i32 15, label %465
i32 16, label %472
i32 17, label %475
i32 18, label %482
i32 19, label %493
i32 20, label %500
i32 21, label %511
i32 22, label %522
i32 23, label %529
i32 24, label %536
i32 25, label %547
i32 26, label %562
i32 27, label %577
i32 28, label %596
i32 29, label %603
i32 30, label %606
i32 31, label %613
i32 32, label %620
i32 33, label %631
i32 34, label %642
i32 35, label %653
i32 36, label %664
i32 37, label %679
i32 38, label %694
i32 39, label %709
i32 40, label %716
i32 41, label %723
i32 42, label %734
i32 43, label %745
i32 44, label %756
i32 45, label %767
i32 46, label %782
i32 47, label %797
i32 48, label %804
i32 49, label %806
i32 50, label %817
i32 51, label %828
i32 52, label %839
i32 53, label %850
i32 54, label %857
i32 55, label %859
i32 56, label %866
i32 57, label %877
i32 58, label %892
i32 59, label %903
i32 60, label %905
i32 61, label %907
i32 62, label %909
i32 63, label %916
i32 64, label %923
i32 65, label %930
i32 66, label %941
i32 67, label %952
i32 68, label %959
i32 69, label %970
i32 70, label %981
i32 71, label %992
i32 72, label %999
i32 73, label %1006
i32 74, label %1017
i32 75, label %1024
i32 76, label %1031
i32 77, label %1038
i32 78, label %1045
i32 79, label %1056
i32 80, label %1063
i32 81, label %1070
i32 82, label %1077
i32 83, label %1084
i32 84, label %1095
i32 85, label %1102
i32 86, label %1109
i32 87, label %1120
i32 88, label %1127
i32 89, label %1134
i32 90, label %1145
i32 91, label %1152
i32 92, label %1159
i32 93, label %1170
i32 94, label %1181
i32 95, label %1188
i32 96, label %1199
i32 97, label %1210
i32 98, label %1221
i32 99, label %1232
i32 100, label %1234
]
344: ; preds = %339
%345 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%346 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %345, i64 0
%347 = bitcast %union.YYSTYPE* %346 to %struct.ASTNode**
%348 = load %struct.ASTNode*, %struct.ASTNode** %347, align 8
%349 = call %struct.ASTNode* @new_node(i32 noundef 45, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %348, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
store %struct.ASTNode* %349, %struct.ASTNode** @root, align 8
br label %1246
350: ; preds = %339
%351 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%352 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %351, i64 0
%353 = bitcast %union.YYSTYPE* %352 to %struct.ASTNode**
%354 = load %struct.ASTNode*, %struct.ASTNode** %353, align 8
%355 = call %struct.ASTNode* @new_node(i32 noundef 0, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %354, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%356 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %355, %struct.ASTNode** %356, align 8
br label %1246
357: ; preds = %339
%358 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%359 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %358, i64 0
%360 = bitcast %union.YYSTYPE* %359 to %struct.ASTNode**
%361 = load %struct.ASTNode*, %struct.ASTNode** %360, align 8
%362 = call %struct.ASTNode* @new_node(i32 noundef 0, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %361, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%363 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %362, %struct.ASTNode** %363, align 8
br label %1246
364: ; preds = %339
%365 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%366 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %365, i64 0
%367 = bitcast %union.YYSTYPE* %366 to %struct.ASTNode**
%368 = load %struct.ASTNode*, %struct.ASTNode** %367, align 8
%369 = call %struct.ASTNode* @new_node(i32 noundef 0, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %368, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%370 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %369, %struct.ASTNode** %370, align 8
br label %1246
371: ; preds = %339
%372 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%373 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %372, i64 0
%374 = bitcast %union.YYSTYPE* %373 to %struct.ASTNode**
%375 = load %struct.ASTNode*, %struct.ASTNode** %374, align 8
%376 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%377 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %376, i64 -1
%378 = bitcast %union.YYSTYPE* %377 to %struct.ASTNode**
%379 = load %struct.ASTNode*, %struct.ASTNode** %378, align 8
%380 = call %struct.ASTNode* @new_node(i32 noundef 0, %struct.ASTNode* noundef %375, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %379, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%381 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %380, %struct.ASTNode** %381, align 8
br label %1246
382: ; preds = %339
%383 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%384 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %383, i64 0
%385 = bitcast %union.YYSTYPE* %384 to %struct.ASTNode**
%386 = load %struct.ASTNode*, %struct.ASTNode** %385, align 8
%387 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%388 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %387, i64 -1
%389 = bitcast %union.YYSTYPE* %388 to %struct.ASTNode**
%390 = load %struct.ASTNode*, %struct.ASTNode** %389, align 8
%391 = call %struct.ASTNode* @new_node(i32 noundef 0, %struct.ASTNode* noundef %386, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %390, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%392 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %391, %struct.ASTNode** %392, align 8
br label %1246
393: ; preds = %339
%394 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%395 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %394, i64 0
%396 = bitcast %union.YYSTYPE* %395 to %struct.ASTNode**
%397 = load %struct.ASTNode*, %struct.ASTNode** %396, align 8
%398 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%399 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %398, i64 -1
%400 = bitcast %union.YYSTYPE* %399 to %struct.ASTNode**
%401 = load %struct.ASTNode*, %struct.ASTNode** %400, align 8
%402 = call %struct.ASTNode* @new_node(i32 noundef 0, %struct.ASTNode* noundef %397, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %401, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%403 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %402, %struct.ASTNode** %403, align 8
br label %1246
404: ; preds = %339
%405 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%406 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %405, i64 -1
%407 = bitcast %union.YYSTYPE* %406 to %struct.ASTNode**
%408 = load %struct.ASTNode*, %struct.ASTNode** %407, align 8
%409 = call %struct.ASTNode* @new_node(i32 noundef 1, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %408, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 40)
%410 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %409, %struct.ASTNode** %410, align 8
br label %1246
411: ; preds = %339
%412 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%413 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %412, i64 -1
%414 = bitcast %union.YYSTYPE* %413 to %struct.ASTNode**
%415 = load %struct.ASTNode*, %struct.ASTNode** %414, align 8
%416 = call %struct.ASTNode* @new_node(i32 noundef 1, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %415, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 39)
%417 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %416, %struct.ASTNode** %417, align 8
br label %1246
418: ; preds = %339
%419 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%420 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %419, i64 -2
%421 = bitcast %union.YYSTYPE* %420 to %struct.ASTNode**
%422 = load %struct.ASTNode*, %struct.ASTNode** %421, align 8
%423 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%424 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %423, i64 0
%425 = bitcast %union.YYSTYPE* %424 to %struct.ASTNode**
%426 = load %struct.ASTNode*, %struct.ASTNode** %425, align 8
%427 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%428 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %427, i64 -3
%429 = bitcast %union.YYSTYPE* %428 to i8**
%430 = load i8*, i8** %429, align 8
%431 = call %struct.ASTNode* @new_node(i32 noundef 4, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %422, %struct.ASTNode* noundef %426, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %430, i32 noundef 38)
%432 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %431, %struct.ASTNode** %432, align 8
br label %1246
433: ; preds = %339
%434 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%435 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %434, i64 0
%436 = bitcast %union.YYSTYPE* %435 to %struct.ASTNode**
%437 = load %struct.ASTNode*, %struct.ASTNode** %436, align 8
%438 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%439 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %438, i64 -4
%440 = bitcast %union.YYSTYPE* %439 to %struct.ASTNode**
%441 = load %struct.ASTNode*, %struct.ASTNode** %440, align 8
%442 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%443 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %442, i64 -2
%444 = bitcast %union.YYSTYPE* %443 to %struct.ASTNode**
%445 = load %struct.ASTNode*, %struct.ASTNode** %444, align 8
%446 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%447 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %446, i64 -5
%448 = bitcast %union.YYSTYPE* %447 to i8**
%449 = load i8*, i8** %448, align 8
%450 = call %struct.ASTNode* @new_node(i32 noundef 4, %struct.ASTNode* noundef %437, %struct.ASTNode* noundef %441, %struct.ASTNode* noundef %445, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %449, i32 noundef 38)
%451 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %450, %struct.ASTNode** %451, align 8
br label %1246
452: ; preds = %339
%453 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* null, %struct.ASTNode** %453, align 8
br label %1246
454: ; preds = %339
%455 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%456 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %455, i64 0
%457 = bitcast %union.YYSTYPE* %456 to %struct.ASTNode**
%458 = load %struct.ASTNode*, %struct.ASTNode** %457, align 8
%459 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%460 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %459, i64 -2
%461 = bitcast %union.YYSTYPE* %460 to %struct.ASTNode**
%462 = load %struct.ASTNode*, %struct.ASTNode** %461, align 8
%463 = call %struct.ASTNode* @new_node(i32 noundef 26, %struct.ASTNode* noundef %458, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %462, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%464 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %463, %struct.ASTNode** %464, align 8
br label %1246
465: ; preds = %339
%466 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%467 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %466, i64 0
%468 = bitcast %union.YYSTYPE* %467 to %struct.ASTNode**
%469 = load %struct.ASTNode*, %struct.ASTNode** %468, align 8
%470 = call %struct.ASTNode* @new_node(i32 noundef 5, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %469, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%471 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %470, %struct.ASTNode** %471, align 8
br label %1246
472: ; preds = %339
%473 = call %struct.ASTNode* @new_node(i32 noundef 5, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%474 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %473, %struct.ASTNode** %474, align 8
br label %1246
475: ; preds = %339
%476 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%477 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %476, i64 -1
%478 = bitcast %union.YYSTYPE* %477 to %struct.ASTNode**
%479 = load %struct.ASTNode*, %struct.ASTNode** %478, align 8
%480 = call %struct.ASTNode* @new_node(i32 noundef 5, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %479, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%481 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %480, %struct.ASTNode** %481, align 8
br label %1246
482: ; preds = %339
%483 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%484 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %483, i64 -1
%485 = bitcast %union.YYSTYPE* %484 to %struct.ASTNode**
%486 = load %struct.ASTNode*, %struct.ASTNode** %485, align 8
%487 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%488 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %487, i64 -3
%489 = bitcast %union.YYSTYPE* %488 to %struct.ASTNode**
%490 = load %struct.ASTNode*, %struct.ASTNode** %489, align 8
%491 = call %struct.ASTNode* @new_node(i32 noundef 5, %struct.ASTNode* noundef %486, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %490, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%492 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %491, %struct.ASTNode** %492, align 8
br label %1246
493: ; preds = %339
%494 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%495 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %494, i64 0
%496 = bitcast %union.YYSTYPE* %495 to %struct.ASTNode**
%497 = load %struct.ASTNode*, %struct.ASTNode** %496, align 8
%498 = call %struct.ASTNode* @new_node(i32 noundef 25, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %497, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%499 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %498, %struct.ASTNode** %499, align 8
br label %1246
500: ; preds = %339
%501 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%502 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %501, i64 0
%503 = bitcast %union.YYSTYPE* %502 to %struct.ASTNode**
%504 = load %struct.ASTNode*, %struct.ASTNode** %503, align 8
%505 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%506 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %505, i64 -2
%507 = bitcast %union.YYSTYPE* %506 to %struct.ASTNode**
%508 = load %struct.ASTNode*, %struct.ASTNode** %507, align 8
%509 = call %struct.ASTNode* @new_node(i32 noundef 25, %struct.ASTNode* noundef %504, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %508, i32 noundef 282, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%510 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %509, %struct.ASTNode** %510, align 8
br label %1246
511: ; preds = %339
%512 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%513 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %512, i64 0
%514 = bitcast %union.YYSTYPE* %513 to %struct.ASTNode**
%515 = load %struct.ASTNode*, %struct.ASTNode** %514, align 8
%516 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%517 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %516, i64 -2
%518 = bitcast %union.YYSTYPE* %517 to %struct.ASTNode**
%519 = load %struct.ASTNode*, %struct.ASTNode** %518, align 8
%520 = call %struct.ASTNode* @new_node(i32 noundef 25, %struct.ASTNode* noundef %515, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %519, i32 noundef 279, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%521 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %520, %struct.ASTNode** %521, align 8
br label %1246
522: ; preds = %339
%523 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%524 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %523, i64 -1
%525 = bitcast %union.YYSTYPE* %524 to %struct.ASTNode**
%526 = load %struct.ASTNode*, %struct.ASTNode** %525, align 8
%527 = call %struct.ASTNode* @new_node(i32 noundef 2, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %526, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 40)
%528 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %527, %struct.ASTNode** %528, align 8
br label %1246
529: ; preds = %339
%530 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%531 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %530, i64 -1
%532 = bitcast %union.YYSTYPE* %531 to %struct.ASTNode**
%533 = load %struct.ASTNode*, %struct.ASTNode** %532, align 8
%534 = call %struct.ASTNode* @new_node(i32 noundef 2, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %533, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 39)
%535 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %534, %struct.ASTNode** %535, align 8
br label %1246
536: ; preds = %339
%537 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%538 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %537, i64 0
%539 = bitcast %union.YYSTYPE* %538 to %struct.ASTNode**
%540 = load %struct.ASTNode*, %struct.ASTNode** %539, align 8
%541 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%542 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %541, i64 -1
%543 = bitcast %union.YYSTYPE* %542 to i8**
%544 = load i8*, i8** %543, align 8
%545 = call %struct.ASTNode* @new_node(i32 noundef 6, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %540, %struct.ASTNode* noundef null, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %544, i32 noundef 38)
%546 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %545, %struct.ASTNode** %546, align 8
br label %1246
547: ; preds = %339
%548 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%549 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %548, i64 -2
%550 = bitcast %union.YYSTYPE* %549 to %struct.ASTNode**
%551 = load %struct.ASTNode*, %struct.ASTNode** %550, align 8
%552 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%553 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %552, i64 0
%554 = bitcast %union.YYSTYPE* %553 to %struct.ASTNode**
%555 = load %struct.ASTNode*, %struct.ASTNode** %554, align 8
%556 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%557 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %556, i64 -3
%558 = bitcast %union.YYSTYPE* %557 to i8**
%559 = load i8*, i8** %558, align 8
%560 = call %struct.ASTNode* @new_node(i32 noundef 6, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %551, %struct.ASTNode* noundef %555, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %559, i32 noundef 38)
%561 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %560, %struct.ASTNode** %561, align 8
br label %1246
562: ; preds = %339
%563 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%564 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %563, i64 0
%565 = bitcast %union.YYSTYPE* %564 to %struct.ASTNode**
%566 = load %struct.ASTNode*, %struct.ASTNode** %565, align 8
%567 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%568 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %567, i64 -2
%569 = bitcast %union.YYSTYPE* %568 to %struct.ASTNode**
%570 = load %struct.ASTNode*, %struct.ASTNode** %569, align 8
%571 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%572 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %571, i64 -3
%573 = bitcast %union.YYSTYPE* %572 to i8**
%574 = load i8*, i8** %573, align 8
%575 = call %struct.ASTNode* @new_node(i32 noundef 6, %struct.ASTNode* noundef %566, %struct.ASTNode* noundef %570, %struct.ASTNode* noundef null, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %574, i32 noundef 38)
%576 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %575, %struct.ASTNode** %576, align 8
br label %1246
577: ; preds = %339
%578 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%579 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %578, i64 0
%580 = bitcast %union.YYSTYPE* %579 to %struct.ASTNode**
%581 = load %struct.ASTNode*, %struct.ASTNode** %580, align 8
%582 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%583 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %582, i64 -4
%584 = bitcast %union.YYSTYPE* %583 to %struct.ASTNode**
%585 = load %struct.ASTNode*, %struct.ASTNode** %584, align 8
%586 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%587 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %586, i64 -2
%588 = bitcast %union.YYSTYPE* %587 to %struct.ASTNode**
%589 = load %struct.ASTNode*, %struct.ASTNode** %588, align 8
%590 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%591 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %590, i64 -5
%592 = bitcast %union.YYSTYPE* %591 to i8**
%593 = load i8*, i8** %592, align 8
%594 = call %struct.ASTNode* @new_node(i32 noundef 6, %struct.ASTNode* noundef %581, %struct.ASTNode* noundef %585, %struct.ASTNode* noundef %589, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %593, i32 noundef 38)
%595 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %594, %struct.ASTNode** %595, align 8
br label %1246
596: ; preds = %339
%597 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%598 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %597, i64 0
%599 = bitcast %union.YYSTYPE* %598 to %struct.ASTNode**
%600 = load %struct.ASTNode*, %struct.ASTNode** %599, align 8
%601 = call %struct.ASTNode* @new_node(i32 noundef 7, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %600, i32 noundef 10, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%602 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %601, %struct.ASTNode** %602, align 8
br label %1246
603: ; preds = %339
%604 = call %struct.ASTNode* @new_node(i32 noundef 7, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 41, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%605 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %604, %struct.ASTNode** %605, align 8
br label %1246
606: ; preds = %339
%607 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%608 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %607, i64 -1
%609 = bitcast %union.YYSTYPE* %608 to %struct.ASTNode**
%610 = load %struct.ASTNode*, %struct.ASTNode** %609, align 8
%611 = call %struct.ASTNode* @new_node(i32 noundef 7, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %610, i32 noundef 41, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%612 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %611, %struct.ASTNode** %612, align 8
br label %1246
613: ; preds = %339
%614 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%615 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %614, i64 0
%616 = bitcast %union.YYSTYPE* %615 to %struct.ASTNode**
%617 = load %struct.ASTNode*, %struct.ASTNode** %616, align 8
%618 = call %struct.ASTNode* @new_node(i32 noundef 41, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %617, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%619 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %618, %struct.ASTNode** %619, align 8
br label %1246
620: ; preds = %339
%621 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%622 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %621, i64 0
%623 = bitcast %union.YYSTYPE* %622 to %struct.ASTNode**
%624 = load %struct.ASTNode*, %struct.ASTNode** %623, align 8
%625 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%626 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %625, i64 -2
%627 = bitcast %union.YYSTYPE* %626 to %struct.ASTNode**
%628 = load %struct.ASTNode*, %struct.ASTNode** %627, align 8
%629 = call %struct.ASTNode* @new_node(i32 noundef 41, %struct.ASTNode* noundef %624, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %628, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%630 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %629, %struct.ASTNode** %630, align 8
br label %1246
631: ; preds = %339
%632 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%633 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %632, i64 0
%634 = bitcast %union.YYSTYPE* %633 to %struct.ASTNode**
%635 = load %struct.ASTNode*, %struct.ASTNode** %634, align 8
%636 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%637 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %636, i64 -3
%638 = bitcast %union.YYSTYPE* %637 to i8**
%639 = load i8*, i8** %638, align 8
%640 = call %struct.ASTNode* @new_node(i32 noundef 3, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %635, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %639, i32 noundef 40)
%641 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %640, %struct.ASTNode** %641, align 8
br label %1246
642: ; preds = %339
%643 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%644 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %643, i64 0
%645 = bitcast %union.YYSTYPE* %644 to %struct.ASTNode**
%646 = load %struct.ASTNode*, %struct.ASTNode** %645, align 8
%647 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%648 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %647, i64 -3
%649 = bitcast %union.YYSTYPE* %648 to i8**
%650 = load i8*, i8** %649, align 8
%651 = call %struct.ASTNode* @new_node(i32 noundef 3, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %646, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %650, i32 noundef 39)
%652 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %651, %struct.ASTNode** %652, align 8
br label %1246
653: ; preds = %339
%654 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%655 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %654, i64 0
%656 = bitcast %union.YYSTYPE* %655 to %struct.ASTNode**
%657 = load %struct.ASTNode*, %struct.ASTNode** %656, align 8
%658 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%659 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %658, i64 -3
%660 = bitcast %union.YYSTYPE* %659 to i8**
%661 = load i8*, i8** %660, align 8
%662 = call %struct.ASTNode* @new_node(i32 noundef 3, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %657, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %661, i32 noundef 42)
%663 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %662, %struct.ASTNode** %663, align 8
br label %1246
664: ; preds = %339
%665 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%666 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %665, i64 -2
%667 = bitcast %union.YYSTYPE* %666 to %struct.ASTNode**
%668 = load %struct.ASTNode*, %struct.ASTNode** %667, align 8
%669 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%670 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %669, i64 0
%671 = bitcast %union.YYSTYPE* %670 to %struct.ASTNode**
%672 = load %struct.ASTNode*, %struct.ASTNode** %671, align 8
%673 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%674 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %673, i64 -4
%675 = bitcast %union.YYSTYPE* %674 to i8**
%676 = load i8*, i8** %675, align 8
%677 = call %struct.ASTNode* @new_node(i32 noundef 3, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %668, %struct.ASTNode* noundef %672, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %676, i32 noundef 40)
%678 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %677, %struct.ASTNode** %678, align 8
br label %1246
679: ; preds = %339
%680 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%681 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %680, i64 -2
%682 = bitcast %union.YYSTYPE* %681 to %struct.ASTNode**
%683 = load %struct.ASTNode*, %struct.ASTNode** %682, align 8
%684 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%685 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %684, i64 0
%686 = bitcast %union.YYSTYPE* %685 to %struct.ASTNode**
%687 = load %struct.ASTNode*, %struct.ASTNode** %686, align 8
%688 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%689 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %688, i64 -4
%690 = bitcast %union.YYSTYPE* %689 to i8**
%691 = load i8*, i8** %690, align 8
%692 = call %struct.ASTNode* @new_node(i32 noundef 3, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %683, %struct.ASTNode* noundef %687, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %691, i32 noundef 39)
%693 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %692, %struct.ASTNode** %693, align 8
br label %1246
694: ; preds = %339
%695 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%696 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %695, i64 -2
%697 = bitcast %union.YYSTYPE* %696 to %struct.ASTNode**
%698 = load %struct.ASTNode*, %struct.ASTNode** %697, align 8
%699 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%700 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %699, i64 0
%701 = bitcast %union.YYSTYPE* %700 to %struct.ASTNode**
%702 = load %struct.ASTNode*, %struct.ASTNode** %701, align 8
%703 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%704 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %703, i64 -4
%705 = bitcast %union.YYSTYPE* %704 to i8**
%706 = load i8*, i8** %705, align 8
%707 = call %struct.ASTNode* @new_node(i32 noundef 3, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %698, %struct.ASTNode* noundef %702, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %706, i32 noundef 42)
%708 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %707, %struct.ASTNode** %708, align 8
br label %1246
709: ; preds = %339
%710 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%711 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %710, i64 0
%712 = bitcast %union.YYSTYPE* %711 to i8**
%713 = load i8*, i8** %712, align 8
%714 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %713, i32 noundef 40)
%715 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %714, %struct.ASTNode** %715, align 8
br label %1246
716: ; preds = %339
%717 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%718 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %717, i64 0
%719 = bitcast %union.YYSTYPE* %718 to i8**
%720 = load i8*, i8** %719, align 8
%721 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %720, i32 noundef 39)
%722 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %721, %struct.ASTNode** %722, align 8
br label %1246
723: ; preds = %339
%724 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%725 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %724, i64 0
%726 = bitcast %union.YYSTYPE* %725 to %struct.ASTNode**
%727 = load %struct.ASTNode*, %struct.ASTNode** %726, align 8
%728 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%729 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %728, i64 -3
%730 = bitcast %union.YYSTYPE* %729 to i8**
%731 = load i8*, i8** %730, align 8
%732 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %727, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %731, i32 noundef 40)
%733 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %732, %struct.ASTNode** %733, align 8
br label %1246
734: ; preds = %339
%735 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%736 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %735, i64 0
%737 = bitcast %union.YYSTYPE* %736 to %struct.ASTNode**
%738 = load %struct.ASTNode*, %struct.ASTNode** %737, align 8
%739 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%740 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %739, i64 -3
%741 = bitcast %union.YYSTYPE* %740 to i8**
%742 = load i8*, i8** %741, align 8
%743 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %738, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %742, i32 noundef 39)
%744 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %743, %struct.ASTNode** %744, align 8
br label %1246
745: ; preds = %339
%746 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%747 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %746, i64 0
%748 = bitcast %union.YYSTYPE* %747 to %struct.ASTNode**
%749 = load %struct.ASTNode*, %struct.ASTNode** %748, align 8
%750 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%751 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %750, i64 -2
%752 = bitcast %union.YYSTYPE* %751 to i8**
%753 = load i8*, i8** %752, align 8
%754 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef %749, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %753, i32 noundef 40)
%755 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %754, %struct.ASTNode** %755, align 8
br label %1246
756: ; preds = %339
%757 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%758 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %757, i64 0
%759 = bitcast %union.YYSTYPE* %758 to %struct.ASTNode**
%760 = load %struct.ASTNode*, %struct.ASTNode** %759, align 8
%761 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%762 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %761, i64 -2
%763 = bitcast %union.YYSTYPE* %762 to i8**
%764 = load i8*, i8** %763, align 8
%765 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef %760, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %764, i32 noundef 39)
%766 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %765, %struct.ASTNode** %766, align 8
br label %1246
767: ; preds = %339
%768 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%769 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %768, i64 0
%770 = bitcast %union.YYSTYPE* %769 to %struct.ASTNode**
%771 = load %struct.ASTNode*, %struct.ASTNode** %770, align 8
%772 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%773 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %772, i64 -2
%774 = bitcast %union.YYSTYPE* %773 to %struct.ASTNode**
%775 = load %struct.ASTNode*, %struct.ASTNode** %774, align 8
%776 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%777 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %776, i64 -5
%778 = bitcast %union.YYSTYPE* %777 to i8**
%779 = load i8*, i8** %778, align 8
%780 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef %771, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %775, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %779, i32 noundef 40)
%781 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %780, %struct.ASTNode** %781, align 8
br label %1246
782: ; preds = %339
%783 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%784 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %783, i64 0
%785 = bitcast %union.YYSTYPE* %784 to %struct.ASTNode**
%786 = load %struct.ASTNode*, %struct.ASTNode** %785, align 8
%787 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%788 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %787, i64 -2
%789 = bitcast %union.YYSTYPE* %788 to %struct.ASTNode**
%790 = load %struct.ASTNode*, %struct.ASTNode** %789, align 8
%791 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%792 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %791, i64 -5
%793 = bitcast %union.YYSTYPE* %792 to i8**
%794 = load i8*, i8** %793, align 8
%795 = call %struct.ASTNode* @new_node(i32 noundef 8, %struct.ASTNode* noundef %786, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %790, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %794, i32 noundef 39)
%796 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %795, %struct.ASTNode** %796, align 8
br label %1246
797: ; preds = %339
%798 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%799 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %798, i64 -1
%800 = bitcast %union.YYSTYPE* %799 to %struct.ASTNode**
%801 = load %struct.ASTNode*, %struct.ASTNode** %800, align 8
%802 = call %struct.ASTNode* @new_node(i32 noundef 11, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %801, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%803 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %802, %struct.ASTNode** %803, align 8
br label %1246
804: ; preds = %339
%805 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* null, %struct.ASTNode** %805, align 8
br label %1246
806: ; preds = %339
%807 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%808 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %807, i64 0
%809 = bitcast %union.YYSTYPE* %808 to %struct.ASTNode**
%810 = load %struct.ASTNode*, %struct.ASTNode** %809, align 8
%811 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%812 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %811, i64 -1
%813 = bitcast %union.YYSTYPE* %812 to %struct.ASTNode**
%814 = load %struct.ASTNode*, %struct.ASTNode** %813, align 8
%815 = call %struct.ASTNode* @new_node(i32 noundef 12, %struct.ASTNode* noundef %810, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %814, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%816 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %815, %struct.ASTNode** %816, align 8
br label %1246
817: ; preds = %339
%818 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%819 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %818, i64 0
%820 = bitcast %union.YYSTYPE* %819 to %struct.ASTNode**
%821 = load %struct.ASTNode*, %struct.ASTNode** %820, align 8
%822 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%823 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %822, i64 -1
%824 = bitcast %union.YYSTYPE* %823 to %struct.ASTNode**
%825 = load %struct.ASTNode*, %struct.ASTNode** %824, align 8
%826 = call %struct.ASTNode* @new_node(i32 noundef 12, %struct.ASTNode* noundef %821, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %825, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%827 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %826, %struct.ASTNode** %827, align 8
br label %1246
828: ; preds = %339
%829 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%830 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %829, i64 0
%831 = bitcast %union.YYSTYPE* %830 to %struct.ASTNode**
%832 = load %struct.ASTNode*, %struct.ASTNode** %831, align 8
%833 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%834 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %833, i64 -1
%835 = bitcast %union.YYSTYPE* %834 to %struct.ASTNode**
%836 = load %struct.ASTNode*, %struct.ASTNode** %835, align 8
%837 = call %struct.ASTNode* @new_node(i32 noundef 12, %struct.ASTNode* noundef %832, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %836, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%838 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %837, %struct.ASTNode** %838, align 8
br label %1246
839: ; preds = %339
%840 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%841 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %840, i64 -3
%842 = bitcast %union.YYSTYPE* %841 to %struct.ASTNode**
%843 = load %struct.ASTNode*, %struct.ASTNode** %842, align 8
%844 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%845 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %844, i64 -1
%846 = bitcast %union.YYSTYPE* %845 to %struct.ASTNode**
%847 = load %struct.ASTNode*, %struct.ASTNode** %846, align 8
%848 = call %struct.ASTNode* @new_node(i32 noundef 13, %struct.ASTNode* noundef %843, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %847, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%849 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %848, %struct.ASTNode** %849, align 8
br label %1246
850: ; preds = %339
%851 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%852 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %851, i64 -1
%853 = bitcast %union.YYSTYPE* %852 to %struct.ASTNode**
%854 = load %struct.ASTNode*, %struct.ASTNode** %853, align 8
%855 = call %struct.ASTNode* @new_node(i32 noundef 13, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %854, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%856 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %855, %struct.ASTNode** %856, align 8
br label %1246
857: ; preds = %339
%858 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* null, %struct.ASTNode** %858, align 8
br label %1246
859: ; preds = %339
%860 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%861 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %860, i64 0
%862 = bitcast %union.YYSTYPE* %861 to %struct.ASTNode**
%863 = load %struct.ASTNode*, %struct.ASTNode** %862, align 8
%864 = call %struct.ASTNode* @new_node(i32 noundef 13, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %863, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%865 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %864, %struct.ASTNode** %865, align 8
br label %1246
866: ; preds = %339
%867 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%868 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %867, i64 -2
%869 = bitcast %union.YYSTYPE* %868 to %struct.ASTNode**
%870 = load %struct.ASTNode*, %struct.ASTNode** %869, align 8
%871 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%872 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %871, i64 0
%873 = bitcast %union.YYSTYPE* %872 to %struct.ASTNode**
%874 = load %struct.ASTNode*, %struct.ASTNode** %873, align 8
%875 = call %struct.ASTNode* @new_node(i32 noundef 13, %struct.ASTNode* noundef %870, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %874, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%876 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %875, %struct.ASTNode** %876, align 8
br label %1246
877: ; preds = %339
%878 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%879 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %878, i64 -4
%880 = bitcast %union.YYSTYPE* %879 to %struct.ASTNode**
%881 = load %struct.ASTNode*, %struct.ASTNode** %880, align 8
%882 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%883 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %882, i64 0
%884 = bitcast %union.YYSTYPE* %883 to %struct.ASTNode**
%885 = load %struct.ASTNode*, %struct.ASTNode** %884, align 8
%886 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%887 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %886, i64 -2
%888 = bitcast %union.YYSTYPE* %887 to %struct.ASTNode**
%889 = load %struct.ASTNode*, %struct.ASTNode** %888, align 8
%890 = call %struct.ASTNode* @new_node(i32 noundef 13, %struct.ASTNode* noundef %881, %struct.ASTNode* noundef %885, %struct.ASTNode* noundef %889, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%891 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %890, %struct.ASTNode** %891, align 8
br label %1246
892: ; preds = %339
%893 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%894 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %893, i64 -2
%895 = bitcast %union.YYSTYPE* %894 to %struct.ASTNode**
%896 = load %struct.ASTNode*, %struct.ASTNode** %895, align 8
%897 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%898 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %897, i64 0
%899 = bitcast %union.YYSTYPE* %898 to %struct.ASTNode**
%900 = load %struct.ASTNode*, %struct.ASTNode** %899, align 8
%901 = call %struct.ASTNode* @new_node(i32 noundef 13, %struct.ASTNode* noundef %896, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %900, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%902 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %901, %struct.ASTNode** %902, align 8
br label %1246
903: ; preds = %339
%904 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* null, %struct.ASTNode** %904, align 8
br label %1246
905: ; preds = %339
%906 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* null, %struct.ASTNode** %906, align 8
br label %1246
907: ; preds = %339
%908 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* null, %struct.ASTNode** %908, align 8
br label %1246
909: ; preds = %339
%910 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%911 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %910, i64 -1
%912 = bitcast %union.YYSTYPE* %911 to %struct.ASTNode**
%913 = load %struct.ASTNode*, %struct.ASTNode** %912, align 8
%914 = call %struct.ASTNode* @new_node(i32 noundef 13, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %913, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%915 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %914, %struct.ASTNode** %915, align 8
br label %1246
916: ; preds = %339
%917 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%918 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %917, i64 0
%919 = bitcast %union.YYSTYPE* %918 to %struct.ASTNode**
%920 = load %struct.ASTNode*, %struct.ASTNode** %919, align 8
%921 = call %struct.ASTNode* @new_node(i32 noundef 10, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %920, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%922 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %921, %struct.ASTNode** %922, align 8
br label %1246
923: ; preds = %339
%924 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%925 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %924, i64 0
%926 = bitcast %union.YYSTYPE* %925 to %struct.ASTNode**
%927 = load %struct.ASTNode*, %struct.ASTNode** %926, align 8
%928 = call %struct.ASTNode* @new_node(i32 noundef 36, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %927, i32 noundef 283, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%929 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %928, %struct.ASTNode** %929, align 8
br label %1246
930: ; preds = %339
%931 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%932 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %931, i64 0
%933 = bitcast %union.YYSTYPE* %932 to %struct.ASTNode**
%934 = load %struct.ASTNode*, %struct.ASTNode** %933, align 8
%935 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%936 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %935, i64 -2
%937 = bitcast %union.YYSTYPE* %936 to %struct.ASTNode**
%938 = load %struct.ASTNode*, %struct.ASTNode** %937, align 8
%939 = call %struct.ASTNode* @new_node(i32 noundef 36, %struct.ASTNode* noundef %934, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %938, i32 noundef 282, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%940 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %939, %struct.ASTNode** %940, align 8
br label %1246
941: ; preds = %339
%942 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%943 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %942, i64 0
%944 = bitcast %union.YYSTYPE* %943 to %struct.ASTNode**
%945 = load %struct.ASTNode*, %struct.ASTNode** %944, align 8
%946 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%947 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %946, i64 -2
%948 = bitcast %union.YYSTYPE* %947 to %struct.ASTNode**
%949 = load %struct.ASTNode*, %struct.ASTNode** %948, align 8
%950 = call %struct.ASTNode* @new_node(i32 noundef 36, %struct.ASTNode* noundef %945, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %949, i32 noundef 279, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%951 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %950, %struct.ASTNode** %951, align 8
br label %1246
952: ; preds = %339
%953 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%954 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %953, i64 0
%955 = bitcast %union.YYSTYPE* %954 to %struct.ASTNode**
%956 = load %struct.ASTNode*, %struct.ASTNode** %955, align 8
%957 = call %struct.ASTNode* @new_node(i32 noundef 19, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %956, i32 noundef 16, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%958 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %957, %struct.ASTNode** %958, align 8
br label %1246
959: ; preds = %339
%960 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%961 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %960, i64 0
%962 = bitcast %union.YYSTYPE* %961 to %struct.ASTNode**
%963 = load %struct.ASTNode*, %struct.ASTNode** %962, align 8
%964 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%965 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %964, i64 -2
%966 = bitcast %union.YYSTYPE* %965 to %struct.ASTNode**
%967 = load %struct.ASTNode*, %struct.ASTNode** %966, align 8
%968 = call %struct.ASTNode* @new_node(i32 noundef 19, %struct.ASTNode* noundef %963, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %967, i32 noundef 283, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%969 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %968, %struct.ASTNode** %969, align 8
br label %1246
970: ; preds = %339
%971 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%972 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %971, i64 0
%973 = bitcast %union.YYSTYPE* %972 to %struct.ASTNode**
%974 = load %struct.ASTNode*, %struct.ASTNode** %973, align 8
%975 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%976 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %975, i64 -2
%977 = bitcast %union.YYSTYPE* %976 to %struct.ASTNode**
%978 = load %struct.ASTNode*, %struct.ASTNode** %977, align 8
%979 = call %struct.ASTNode* @new_node(i32 noundef 19, %struct.ASTNode* noundef %974, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %978, i32 noundef 284, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%980 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %979, %struct.ASTNode** %980, align 8
br label %1246
981: ; preds = %339
%982 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%983 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %982, i64 0
%984 = bitcast %union.YYSTYPE* %983 to %struct.ASTNode**
%985 = load %struct.ASTNode*, %struct.ASTNode** %984, align 8
%986 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%987 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %986, i64 -2
%988 = bitcast %union.YYSTYPE* %987 to %struct.ASTNode**
%989 = load %struct.ASTNode*, %struct.ASTNode** %988, align 8
%990 = call %struct.ASTNode* @new_node(i32 noundef 19, %struct.ASTNode* noundef %985, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %989, i32 noundef 285, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%991 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %990, %struct.ASTNode** %991, align 8
br label %1246
992: ; preds = %339
%993 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%994 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %993, i64 0
%995 = bitcast %union.YYSTYPE* %994 to %struct.ASTNode**
%996 = load %struct.ASTNode*, %struct.ASTNode** %995, align 8
%997 = call %struct.ASTNode* @new_node(i32 noundef 16, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %996, i32 noundef 15, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%998 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %997, %struct.ASTNode** %998, align 8
br label %1246
999: ; preds = %339
%1000 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1001 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1000, i64 -2
%1002 = bitcast %union.YYSTYPE* %1001 to i8**
%1003 = load i8*, i8** %1002, align 8
%1004 = call %struct.ASTNode* @new_node(i32 noundef 16, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 18, float noundef 0.000000e+00, i8* noundef %1003, i32 noundef 38)
%1005 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1004, %struct.ASTNode** %1005, align 8
br label %1246
1006: ; preds = %339
%1007 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1008 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1007, i64 -1
%1009 = bitcast %union.YYSTYPE* %1008 to %struct.ASTNode**
%1010 = load %struct.ASTNode*, %struct.ASTNode** %1009, align 8
%1011 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1012 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1011, i64 -3
%1013 = bitcast %union.YYSTYPE* %1012 to i8**
%1014 = load i8*, i8** %1013, align 8
%1015 = call %struct.ASTNode* @new_node(i32 noundef 16, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1010, i32 noundef 18, float noundef 0.000000e+00, i8* noundef %1014, i32 noundef 38)
%1016 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1015, %struct.ASTNode** %1016, align 8
br label %1246
1017: ; preds = %339
%1018 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1019 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1018, i64 0
%1020 = bitcast %union.YYSTYPE* %1019 to %struct.ASTNode**
%1021 = load %struct.ASTNode*, %struct.ASTNode** %1020, align 8
%1022 = call %struct.ASTNode* @new_node(i32 noundef 16, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1021, i32 noundef 43, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1023 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1022, %struct.ASTNode** %1023, align 8
br label %1246
1024: ; preds = %339
%1025 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1026 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1025, i64 0
%1027 = bitcast %union.YYSTYPE* %1026 to %struct.ASTNode**
%1028 = load %struct.ASTNode*, %struct.ASTNode** %1027, align 8
%1029 = call %struct.ASTNode* @new_node(i32 noundef 16, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1028, i32 noundef 44, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1030 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1029, %struct.ASTNode** %1030, align 8
br label %1246
1031: ; preds = %339
%1032 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1033 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1032, i64 0
%1034 = bitcast %union.YYSTYPE* %1033 to %struct.ASTNode**
%1035 = load %struct.ASTNode*, %struct.ASTNode** %1034, align 8
%1036 = call %struct.ASTNode* @new_node(i32 noundef 16, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1035, i32 noundef 280, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1037 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1036, %struct.ASTNode** %1037, align 8
br label %1246
1038: ; preds = %339
%1039 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1040 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1039, i64 0
%1041 = bitcast %union.YYSTYPE* %1040 to %struct.ASTNode**
%1042 = load %struct.ASTNode*, %struct.ASTNode** %1041, align 8
%1043 = call %struct.ASTNode* @new_node(i32 noundef 18, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1042, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1044 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1043, %struct.ASTNode** %1044, align 8
br label %1246
1045: ; preds = %339
%1046 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1047 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1046, i64 0
%1048 = bitcast %union.YYSTYPE* %1047 to %struct.ASTNode**
%1049 = load %struct.ASTNode*, %struct.ASTNode** %1048, align 8
%1050 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1051 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1050, i64 -2
%1052 = bitcast %union.YYSTYPE* %1051 to %struct.ASTNode**
%1053 = load %struct.ASTNode*, %struct.ASTNode** %1052, align 8
%1054 = call %struct.ASTNode* @new_node(i32 noundef 18, %struct.ASTNode* noundef %1049, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1053, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1055 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1054, %struct.ASTNode** %1055, align 8
br label %1246
1056: ; preds = %339
%1057 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1058 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1057, i64 -1
%1059 = bitcast %union.YYSTYPE* %1058 to %struct.ASTNode**
%1060 = load %struct.ASTNode*, %struct.ASTNode** %1059, align 8
%1061 = call %struct.ASTNode* @new_node(i32 noundef 15, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1060, i32 noundef 10, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1062 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1061, %struct.ASTNode** %1062, align 8
br label %1246
1063: ; preds = %339
%1064 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1065 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1064, i64 0
%1066 = bitcast %union.YYSTYPE* %1065 to %struct.ASTNode**
%1067 = load %struct.ASTNode*, %struct.ASTNode** %1066, align 8
%1068 = call %struct.ASTNode* @new_node(i32 noundef 15, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1067, i32 noundef 14, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1069 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1068, %struct.ASTNode** %1069, align 8
br label %1246
1070: ; preds = %339
%1071 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1072 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1071, i64 0
%1073 = bitcast %union.YYSTYPE* %1072 to i32*
%1074 = load i32, i32* %1073, align 8
%1075 = call %struct.ASTNode* @new_node(i32 noundef 15, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef %1074, float noundef 0.000000e+00, i8* noundef null, i32 noundef 40)
%1076 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1075, %struct.ASTNode** %1076, align 8
br label %1246
1077: ; preds = %339
%1078 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1079 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1078, i64 0
%1080 = bitcast %union.YYSTYPE* %1079 to float*
%1081 = load float, float* %1080, align 8
%1082 = call %struct.ASTNode* @new_node(i32 noundef 15, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, i32 noundef 0, float noundef %1081, i8* noundef null, i32 noundef 39)
%1083 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1082, %struct.ASTNode** %1083, align 8
br label %1246
1084: ; preds = %339
%1085 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1086 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1085, i64 0
%1087 = bitcast %union.YYSTYPE* %1086 to %struct.ASTNode**
%1088 = load %struct.ASTNode*, %struct.ASTNode** %1087, align 8
%1089 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1090 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1089, i64 -1
%1091 = bitcast %union.YYSTYPE* %1090 to i8**
%1092 = load i8*, i8** %1091, align 8
%1093 = call %struct.ASTNode* @new_node(i32 noundef 14, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1088, i32 noundef 0, float noundef 0.000000e+00, i8* noundef %1092, i32 noundef 38)
%1094 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1093, %struct.ASTNode** %1094, align 8
br label %1246
1095: ; preds = %339
%1096 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1097 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1096, i64 0
%1098 = bitcast %union.YYSTYPE* %1097 to %struct.ASTNode**
%1099 = load %struct.ASTNode*, %struct.ASTNode** %1098, align 8
%1100 = call %struct.ASTNode* @new_node(i32 noundef 24, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1099, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1101 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1100, %struct.ASTNode** %1101, align 8
br label %1246
1102: ; preds = %339
%1103 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1104 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1103, i64 0
%1105 = bitcast %union.YYSTYPE* %1104 to %struct.ASTNode**
%1106 = load %struct.ASTNode*, %struct.ASTNode** %1105, align 8
%1107 = call %struct.ASTNode* @new_node(i32 noundef 24, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1106, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1108 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1107, %struct.ASTNode** %1108, align 8
br label %1246
1109: ; preds = %339
%1110 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1111 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1110, i64 0
%1112 = bitcast %union.YYSTYPE* %1111 to %struct.ASTNode**
%1113 = load %struct.ASTNode*, %struct.ASTNode** %1112, align 8
%1114 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1115 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1114, i64 -2
%1116 = bitcast %union.YYSTYPE* %1115 to %struct.ASTNode**
%1117 = load %struct.ASTNode*, %struct.ASTNode** %1116, align 8
%1118 = call %struct.ASTNode* @new_node(i32 noundef 24, %struct.ASTNode* noundef %1113, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1117, i32 noundef 287, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1119 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1118, %struct.ASTNode** %1119, align 8
br label %1246
1120: ; preds = %339
%1121 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1122 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1121, i64 0
%1123 = bitcast %union.YYSTYPE* %1122 to %struct.ASTNode**
%1124 = load %struct.ASTNode*, %struct.ASTNode** %1123, align 8
%1125 = call %struct.ASTNode* @new_node(i32 noundef 24, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1124, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1126 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1125, %struct.ASTNode** %1126, align 8
br label %1246
1127: ; preds = %339
%1128 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1129 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1128, i64 0
%1130 = bitcast %union.YYSTYPE* %1129 to %struct.ASTNode**
%1131 = load %struct.ASTNode*, %struct.ASTNode** %1130, align 8
%1132 = call %struct.ASTNode* @new_node(i32 noundef 22, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1131, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1133 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1132, %struct.ASTNode** %1133, align 8
br label %1246
1134: ; preds = %339
%1135 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1136 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1135, i64 0
%1137 = bitcast %union.YYSTYPE* %1136 to %struct.ASTNode**
%1138 = load %struct.ASTNode*, %struct.ASTNode** %1137, align 8
%1139 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1140 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1139, i64 -2
%1141 = bitcast %union.YYSTYPE* %1140 to %struct.ASTNode**
%1142 = load %struct.ASTNode*, %struct.ASTNode** %1141, align 8
%1143 = call %struct.ASTNode* @new_node(i32 noundef 22, %struct.ASTNode* noundef %1138, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1142, i32 noundef 286, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1144 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1143, %struct.ASTNode** %1144, align 8
br label %1246
1145: ; preds = %339
%1146 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1147 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1146, i64 -1
%1148 = bitcast %union.YYSTYPE* %1147 to %struct.ASTNode**
%1149 = load %struct.ASTNode*, %struct.ASTNode** %1148, align 8
%1150 = call %struct.ASTNode* @new_node(i32 noundef 23, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1149, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1151 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1150, %struct.ASTNode** %1151, align 8
br label %1246
1152: ; preds = %339
%1153 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1154 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1153, i64 0
%1155 = bitcast %union.YYSTYPE* %1154 to %struct.ASTNode**
%1156 = load %struct.ASTNode*, %struct.ASTNode** %1155, align 8
%1157 = call %struct.ASTNode* @new_node(i32 noundef 21, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1156, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1158 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1157, %struct.ASTNode** %1158, align 8
br label %1246
1159: ; preds = %339
%1160 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1161 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1160, i64 0
%1162 = bitcast %union.YYSTYPE* %1161 to %struct.ASTNode**
%1163 = load %struct.ASTNode*, %struct.ASTNode** %1162, align 8
%1164 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1165 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1164, i64 -2
%1166 = bitcast %union.YYSTYPE* %1165 to %struct.ASTNode**
%1167 = load %struct.ASTNode*, %struct.ASTNode** %1166, align 8
%1168 = call %struct.ASTNode* @new_node(i32 noundef 21, %struct.ASTNode* noundef %1163, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1167, i32 noundef 288, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1169 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1168, %struct.ASTNode** %1169, align 8
br label %1246
1170: ; preds = %339
%1171 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1172 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1171, i64 0
%1173 = bitcast %union.YYSTYPE* %1172 to %struct.ASTNode**
%1174 = load %struct.ASTNode*, %struct.ASTNode** %1173, align 8
%1175 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1176 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1175, i64 -2
%1177 = bitcast %union.YYSTYPE* %1176 to %struct.ASTNode**
%1178 = load %struct.ASTNode*, %struct.ASTNode** %1177, align 8
%1179 = call %struct.ASTNode* @new_node(i32 noundef 21, %struct.ASTNode* noundef %1174, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1178, i32 noundef 289, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1180 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1179, %struct.ASTNode** %1180, align 8
br label %1246
1181: ; preds = %339
%1182 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1183 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1182, i64 0
%1184 = bitcast %union.YYSTYPE* %1183 to %struct.ASTNode**
%1185 = load %struct.ASTNode*, %struct.ASTNode** %1184, align 8
%1186 = call %struct.ASTNode* @new_node(i32 noundef 20, %struct.ASTNode* noundef null, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1185, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1187 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1186, %struct.ASTNode** %1187, align 8
br label %1246
1188: ; preds = %339
%1189 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1190 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1189, i64 0
%1191 = bitcast %union.YYSTYPE* %1190 to %struct.ASTNode**
%1192 = load %struct.ASTNode*, %struct.ASTNode** %1191, align 8
%1193 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1194 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1193, i64 -2
%1195 = bitcast %union.YYSTYPE* %1194 to %struct.ASTNode**
%1196 = load %struct.ASTNode*, %struct.ASTNode** %1195, align 8
%1197 = call %struct.ASTNode* @new_node(i32 noundef 20, %struct.ASTNode* noundef %1192, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1196, i32 noundef 290, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1198 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1197, %struct.ASTNode** %1198, align 8
br label %1246
1199: ; preds = %339
%1200 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1201 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1200, i64 0
%1202 = bitcast %union.YYSTYPE* %1201 to %struct.ASTNode**
%1203 = load %struct.ASTNode*, %struct.ASTNode** %1202, align 8
%1204 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1205 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1204, i64 -2
%1206 = bitcast %union.YYSTYPE* %1205 to %struct.ASTNode**
%1207 = load %struct.ASTNode*, %struct.ASTNode** %1206, align 8
%1208 = call %struct.ASTNode* @new_node(i32 noundef 20, %struct.ASTNode* noundef %1203, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1207, i32 noundef 292, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1209 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1208, %struct.ASTNode** %1209, align 8
br label %1246
1210: ; preds = %339
%1211 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1212 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1211, i64 0
%1213 = bitcast %union.YYSTYPE* %1212 to %struct.ASTNode**
%1214 = load %struct.ASTNode*, %struct.ASTNode** %1213, align 8
%1215 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1216 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1215, i64 -2
%1217 = bitcast %union.YYSTYPE* %1216 to %struct.ASTNode**
%1218 = load %struct.ASTNode*, %struct.ASTNode** %1217, align 8
%1219 = call %struct.ASTNode* @new_node(i32 noundef 20, %struct.ASTNode* noundef %1214, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1218, i32 noundef 291, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1220 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1219, %struct.ASTNode** %1220, align 8
br label %1246
1221: ; preds = %339
%1222 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1223 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1222, i64 0
%1224 = bitcast %union.YYSTYPE* %1223 to %struct.ASTNode**
%1225 = load %struct.ASTNode*, %struct.ASTNode** %1224, align 8
%1226 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1227 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1226, i64 -2
%1228 = bitcast %union.YYSTYPE* %1227 to %struct.ASTNode**
%1229 = load %struct.ASTNode*, %struct.ASTNode** %1228, align 8
%1230 = call %struct.ASTNode* @new_node(i32 noundef 20, %struct.ASTNode* noundef %1225, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1229, i32 noundef 293, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1231 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1230, %struct.ASTNode** %1231, align 8
br label %1246
1232: ; preds = %339
%1233 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* null, %struct.ASTNode** %1233, align 8
br label %1246
1234: ; preds = %339
%1235 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1236 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1235, i64 0
%1237 = bitcast %union.YYSTYPE* %1236 to %struct.ASTNode**
%1238 = load %struct.ASTNode*, %struct.ASTNode** %1237, align 8
%1239 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1240 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1239, i64 -2
%1241 = bitcast %union.YYSTYPE* %1240 to %struct.ASTNode**
%1242 = load %struct.ASTNode*, %struct.ASTNode** %1241, align 8
%1243 = call %struct.ASTNode* @new_node(i32 noundef 9, %struct.ASTNode* noundef %1238, %struct.ASTNode* noundef null, %struct.ASTNode* noundef %1242, i32 noundef 0, float noundef 0.000000e+00, i8* noundef null, i32 noundef 38)
%1244 = bitcast %union.YYSTYPE* %16 to %struct.ASTNode**
store %struct.ASTNode* %1243, %struct.ASTNode** %1244, align 8
br label %1246
1245: ; preds = %339
br label %1246
1246: ; preds = %1245, %1234, %1232, %1221, %1210, %1199, %1188, %1181, %1170, %1159, %1152, %1145, %1134, %1127, %1120, %1109, %1102, %1095, %1084, %1077, %1070, %1063, %1056, %1045, %1038, %1031, %1024, %1017, %1006, %999, %992, %981, %970, %959, %952, %941, %930, %923, %916, %909, %907, %905, %903, %892, %877, %866, %859, %857, %850, %839, %828, %817, %806, %804, %797, %782, %767, %756, %745, %734, %723, %716, %709, %694, %679, %664, %653, %642, %631, %620, %613, %606, %603, %596, %577, %562, %547, %536, %529, %522, %511, %500, %493, %482, %475, %472, %465, %454, %452, %433, %418, %411, %404, %393, %382, %371, %364, %357, %350, %344
%1247 = load i32, i32* %22, align 4
%1248 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1249 = sext i32 %1247 to i64
%1250 = sub i64 0, %1249
%1251 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1248, i64 %1250
store %union.YYSTYPE* %1251, %union.YYSTYPE** %9, align 8
%1252 = load i32, i32* %22, align 4
%1253 = load i8*, i8** %6, align 8
%1254 = sext i32 %1252 to i64
%1255 = sub i64 0, %1254
%1256 = getelementptr inbounds i8, i8* %1253, i64 %1255
store i8* %1256, i8** %6, align 8
%1257 = load i32, i32* %22, align 4
%1258 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1259 = sext i32 %1257 to i64
%1260 = sub i64 0, %1259
%1261 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1258, i64 %1260
store %struct.YYLTYPE* %1261, %struct.YYLTYPE** %12, align 8
store i32 0, i32* %22, align 4
%1262 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1263 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1262, i32 1
store %union.YYSTYPE* %1263, %union.YYSTYPE** %9, align 8
%1264 = bitcast %union.YYSTYPE* %1263 to i8*
%1265 = bitcast %union.YYSTYPE* %16 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %1264, i8* align 8 %1265, i64 8, i1 false)
%1266 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1267 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1266, i32 1
store %struct.YYLTYPE* %1267, %struct.YYLTYPE** %12, align 8
%1268 = bitcast %struct.YYLTYPE* %1267 to i8*
%1269 = bitcast %struct.YYLTYPE* %17 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %1268, i8* align 4 %1269, i64 16, i1 false)
%1270 = load i32, i32* %13, align 4
%1271 = sext i32 %1270 to i64
%1272 = getelementptr inbounds [101 x i8], [101 x i8]* @yyr1, i64 0, i64 %1271
%1273 = load i8, i8* %1272, align 1
%1274 = sext i8 %1273 to i32
%1275 = sub nsw i32 %1274, 41
store i32 %1275, i32* %29, align 4
%1276 = load i32, i32* %29, align 4
%1277 = sext i32 %1276 to i64
%1278 = getelementptr inbounds [31 x i16], [31 x i16]* @yypgoto, i64 0, i64 %1277
%1279 = load i16, i16* %1278, align 2
%1280 = sext i16 %1279 to i32
%1281 = load i8*, i8** %6, align 8
%1282 = load i8, i8* %1281, align 1
%1283 = zext i8 %1282 to i32
%1284 = add nsw i32 %1280, %1283
store i32 %1284, i32* %30, align 4
%1285 = load i32, i32* %30, align 4
%1286 = icmp sle i32 0, %1285
br i1 %1286, label %1287, label %1306
1287: ; preds = %1246
%1288 = load i32, i32* %30, align 4
%1289 = icmp sle i32 %1288, 301
br i1 %1289, label %1290, label %1306
1290: ; preds = %1287
%1291 = load i32, i32* %30, align 4
%1292 = sext i32 %1291 to i64
%1293 = getelementptr inbounds [302 x i16], [302 x i16]* @yycheck, i64 0, i64 %1292
%1294 = load i16, i16* %1293, align 2
%1295 = sext i16 %1294 to i32
%1296 = load i8*, i8** %6, align 8
%1297 = load i8, i8* %1296, align 1
%1298 = zext i8 %1297 to i32
%1299 = icmp eq i32 %1295, %1298
br i1 %1299, label %1300, label %1306
1300: ; preds = %1290
%1301 = load i32, i32* %30, align 4
%1302 = sext i32 %1301 to i64
%1303 = getelementptr inbounds [302 x i16], [302 x i16]* @yytable, i64 0, i64 %1302
%1304 = load i16, i16* %1303, align 2
%1305 = sext i16 %1304 to i32
br label %1312
1306: ; preds = %1290, %1287, %1246
%1307 = load i32, i32* %29, align 4
%1308 = sext i32 %1307 to i64
%1309 = getelementptr inbounds [31 x i8], [31 x i8]* @yydefgoto, i64 0, i64 %1308
%1310 = load i8, i8* %1309, align 1
%1311 = zext i8 %1310 to i32
br label %1312
1312: ; preds = %1306, %1300
%1313 = phi i32 [ %1305, %1300 ], [ %1311, %1306 ]
store i32 %1313, i32* %1, align 4
br label %44
1314: ; preds = %258
%1315 = load i32, i32* @yychar, align 4
%1316 = icmp eq i32 %1315, -2
br i1 %1316, label %1317, label %1318
1317: ; preds = %1314
br label %1333
1318: ; preds = %1314
%1319 = load i32, i32* @yychar, align 4
%1320 = icmp sle i32 0, %1319
br i1 %1320, label %1321, label %1330
1321: ; preds = %1318
%1322 = load i32, i32* @yychar, align 4
%1323 = icmp sle i32 %1322, 295
br i1 %1323, label %1324, label %1330
1324: ; preds = %1321
%1325 = load i32, i32* @yychar, align 4
%1326 = sext i32 %1325 to i64
%1327 = getelementptr inbounds [296 x i8], [296 x i8]* @yytranslate, i64 0, i64 %1326
%1328 = load i8, i8* %1327, align 1
%1329 = sext i8 %1328 to i32
br label %1331
1330: ; preds = %1321, %1318
br label %1331
1331: ; preds = %1330, %1324
%1332 = phi i32 [ %1329, %1324 ], [ 2, %1330 ]
br label %1333
1333: ; preds = %1331, %1317
%1334 = phi i32 [ -2, %1317 ], [ %1332, %1331 ]
store i32 %1334, i32* %15, align 4
%1335 = load i32, i32* %2, align 4
%1336 = icmp ne i32 %1335, 0
br i1 %1336, label %1377, label %1337
1337: ; preds = %1333
%1338 = load i32, i32* @yynerrs, align 4
%1339 = add nsw i32 %1338, 1
store i32 %1339, i32* @yynerrs, align 4
%1340 = getelementptr inbounds %struct.yypcontext_t, %struct.yypcontext_t* %31, i32 0, i32 0
%1341 = load i8*, i8** %6, align 8
store i8* %1341, i8** %1340, align 8
%1342 = getelementptr inbounds %struct.yypcontext_t, %struct.yypcontext_t* %31, i32 0, i32 1
%1343 = load i32, i32* %15, align 4
store i32 %1343, i32* %1342, align 8
%1344 = getelementptr inbounds %struct.yypcontext_t, %struct.yypcontext_t* %31, i32 0, i32 2
store %struct.YYLTYPE* @yylloc, %struct.YYLTYPE** %1344, align 8
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i8** %32, align 8
%1345 = call i32 @yysyntax_error(i64* noundef %21, i8** noundef %20, %struct.yypcontext_t* noundef %31)
store i32 %1345, i32* %33, align 4
%1346 = load i32, i32* %33, align 4
%1347 = icmp eq i32 %1346, 0
br i1 %1347, label %1348, label %1350
1348: ; preds = %1337
%1349 = load i8*, i8** %20, align 8
store i8* %1349, i8** %32, align 8
br label %1371
1350: ; preds = %1337
%1351 = load i32, i32* %33, align 4
%1352 = icmp eq i32 %1351, -1
br i1 %1352, label %1353, label %1370
1353: ; preds = %1350
%1354 = load i8*, i8** %20, align 8
%1355 = getelementptr inbounds [128 x i8], [128 x i8]* %19, i64 0, i64 0
%1356 = icmp ne i8* %1354, %1355
br i1 %1356, label %1357, label %1359
1357: ; preds = %1353
%1358 = load i8*, i8** %20, align 8
call void @free(i8* noundef %1358) #6
br label %1359
1359: ; preds = %1357, %1353
%1360 = load i64, i64* %21, align 8
%1361 = call noalias i8* @malloc(i64 noundef %1360) #6
store i8* %1361, i8** %20, align 8
%1362 = load i8*, i8** %20, align 8
%1363 = icmp ne i8* %1362, null
br i1 %1363, label %1364, label %1367
1364: ; preds = %1359
%1365 = call i32 @yysyntax_error(i64* noundef %21, i8** noundef %20, %struct.yypcontext_t* noundef %31)
store i32 %1365, i32* %33, align 4
%1366 = load i8*, i8** %20, align 8
store i8* %1366, i8** %32, align 8
br label %1369
1367: ; preds = %1359
%1368 = getelementptr inbounds [128 x i8], [128 x i8]* %19, i64 0, i64 0
store i8* %1368, i8** %20, align 8
store i64 128, i64* %21, align 8
store i32 -2, i32* %33, align 4
br label %1369
1369: ; preds = %1367, %1364
br label %1370
1370: ; preds = %1369, %1350
br label %1371
1371: ; preds = %1370, %1348
%1372 = load i8*, i8** %32, align 8
call void (i8*, ...) @yyerror(i8* noundef %1372)
%1373 = load i32, i32* %33, align 4
%1374 = icmp eq i32 %1373, -2
br i1 %1374, label %1375, label %1376
1375: ; preds = %1371
br label %1509
1376: ; preds = %1371
br label %1377
1377: ; preds = %1376, %1333
%1378 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 1
%1379 = bitcast %struct.YYLTYPE* %1378 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %1379, i8* align 4 bitcast (%struct.YYLTYPE* @yylloc to i8*), i64 16, i1 false)
%1380 = load i32, i32* %2, align 4
%1381 = icmp eq i32 %1380, 3
br i1 %1381, label %1382, label %1393
1382: ; preds = %1377
%1383 = load i32, i32* @yychar, align 4
%1384 = icmp sle i32 %1383, 0
br i1 %1384, label %1385, label %1390
1385: ; preds = %1382
%1386 = load i32, i32* @yychar, align 4
%1387 = icmp eq i32 %1386, 0
br i1 %1387, label %1388, label %1389
1388: ; preds = %1385
br label %1508
1389: ; preds = %1385
br label %1392
1390: ; preds = %1382
%1391 = load i32, i32* %15, align 4
call void @yydestruct(i8* noundef getelementptr inbounds ([18 x i8], [18 x i8]* @.str.1, i64 0, i64 0), i32 noundef %1391, %union.YYSTYPE* noundef @yylval, %struct.YYLTYPE* noundef @yylloc)
store i32 -2, i32* @yychar, align 4
br label %1392
1392: ; preds = %1390, %1389
br label %1393
1393: ; preds = %1392, %1377
br label %1415
1394: ; No predecessors!
%1395 = load i32, i32* @yynerrs, align 4
%1396 = add nsw i32 %1395, 1
store i32 %1396, i32* @yynerrs, align 4
%1397 = load i32, i32* %22, align 4
%1398 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1399 = sext i32 %1397 to i64
%1400 = sub i64 0, %1399
%1401 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1398, i64 %1400
store %union.YYSTYPE* %1401, %union.YYSTYPE** %9, align 8
%1402 = load i32, i32* %22, align 4
%1403 = load i8*, i8** %6, align 8
%1404 = sext i32 %1402 to i64
%1405 = sub i64 0, %1404
%1406 = getelementptr inbounds i8, i8* %1403, i64 %1405
store i8* %1406, i8** %6, align 8
%1407 = load i32, i32* %22, align 4
%1408 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1409 = sext i32 %1407 to i64
%1410 = sub i64 0, %1409
%1411 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1408, i64 %1410
store %struct.YYLTYPE* %1411, %struct.YYLTYPE** %12, align 8
store i32 0, i32* %22, align 4
%1412 = load i8*, i8** %6, align 8
%1413 = load i8, i8* %1412, align 1
%1414 = zext i8 %1413 to i32
store i32 %1414, i32* %1, align 4
br label %1415
1415: ; preds = %1394, %1393, %188
store i32 3, i32* %2, align 4
br label %1416
1416: ; preds = %1455, %1415
%1417 = load i32, i32* %1, align 4
%1418 = sext i32 %1417 to i64
%1419 = getelementptr inbounds [207 x i16], [207 x i16]* @yypact, i64 0, i64 %1418
%1420 = load i16, i16* %1419, align 2
%1421 = sext i16 %1420 to i32
store i32 %1421, i32* %13, align 4
%1422 = load i32, i32* %13, align 4
%1423 = icmp eq i32 %1422, -167
br i1 %1423, label %1450, label %1424
1424: ; preds = %1416
%1425 = load i32, i32* %13, align 4
%1426 = add nsw i32 %1425, 1
store i32 %1426, i32* %13, align 4
%1427 = load i32, i32* %13, align 4
%1428 = icmp sle i32 0, %1427
br i1 %1428, label %1429, label %1449
1429: ; preds = %1424
%1430 = load i32, i32* %13, align 4
%1431 = icmp sle i32 %1430, 301
br i1 %1431, label %1432, label %1449
1432: ; preds = %1429
%1433 = load i32, i32* %13, align 4
%1434 = sext i32 %1433 to i64
%1435 = getelementptr inbounds [302 x i16], [302 x i16]* @yycheck, i64 0, i64 %1434
%1436 = load i16, i16* %1435, align 2
%1437 = sext i16 %1436 to i32
%1438 = icmp eq i32 %1437, 1
br i1 %1438, label %1439, label %1449
1439: ; preds = %1432
%1440 = load i32, i32* %13, align 4
%1441 = sext i32 %1440 to i64
%1442 = getelementptr inbounds [302 x i16], [302 x i16]* @yytable, i64 0, i64 %1441
%1443 = load i16, i16* %1442, align 2
%1444 = sext i16 %1443 to i32
store i32 %1444, i32* %13, align 4
%1445 = load i32, i32* %13, align 4
%1446 = icmp slt i32 0, %1445
br i1 %1446, label %1447, label %1448
1447: ; preds = %1439
br label %1476
1448: ; preds = %1439
br label %1449
1449: ; preds = %1448, %1432, %1429, %1424
br label %1450
1450: ; preds = %1449, %1416
%1451 = load i8*, i8** %6, align 8
%1452 = load i8*, i8** %5, align 8
%1453 = icmp eq i8* %1451, %1452
br i1 %1453, label %1454, label %1455
1454: ; preds = %1450
br label %1508
1455: ; preds = %1450
%1456 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 1
%1457 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1458 = bitcast %struct.YYLTYPE* %1456 to i8*
%1459 = bitcast %struct.YYLTYPE* %1457 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %1458, i8* align 4 %1459, i64 16, i1 false)
%1460 = load i32, i32* %1, align 4
%1461 = sext i32 %1460 to i64
%1462 = getelementptr inbounds [207 x i8], [207 x i8]* @yystos, i64 0, i64 %1461
%1463 = load i8, i8* %1462, align 1
%1464 = sext i8 %1463 to i32
%1465 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1466 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
call void @yydestruct(i8* noundef getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2, i64 0, i64 0), i32 noundef %1464, %union.YYSTYPE* noundef %1465, %struct.YYLTYPE* noundef %1466)
%1467 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1468 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1467, i64 -1
store %union.YYSTYPE* %1468, %union.YYSTYPE** %9, align 8
%1469 = load i8*, i8** %6, align 8
%1470 = getelementptr inbounds i8, i8* %1469, i64 -1
store i8* %1470, i8** %6, align 8
%1471 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1472 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1471, i64 -1
store %struct.YYLTYPE* %1472, %struct.YYLTYPE** %12, align 8
%1473 = load i8*, i8** %6, align 8
%1474 = load i8, i8* %1473, align 1
%1475 = zext i8 %1474 to i32
store i32 %1475, i32* %1, align 4
br label %1416
1476: ; preds = %1447
%1477 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1478 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1477, i32 1
store %union.YYSTYPE* %1478, %union.YYSTYPE** %9, align 8
%1479 = bitcast %union.YYSTYPE* %1478 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %1479, i8* align 8 bitcast (%union.YYSTYPE* @yylval to i8*), i64 8, i1 false)
%1480 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 2
%1481 = bitcast %struct.YYLTYPE* %1480 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %1481, i8* align 4 bitcast (%struct.YYLTYPE* @yylloc to i8*), i64 16, i1 false)
%1482 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1483 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1482, i32 1
store %struct.YYLTYPE* %1483, %struct.YYLTYPE** %12, align 8
br label %1484
1484: ; preds = %1476
%1485 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 1
%1486 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1485, i32 0, i32 0
%1487 = load i32, i32* %1486, align 16
%1488 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1489 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1488, i32 0, i32 0
store i32 %1487, i32* %1489, align 4
%1490 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 1
%1491 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1490, i32 0, i32 1
%1492 = load i32, i32* %1491, align 4
%1493 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1494 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1493, i32 0, i32 1
store i32 %1492, i32* %1494, align 4
%1495 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 2
%1496 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1495, i32 0, i32 2
%1497 = load i32, i32* %1496, align 8
%1498 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1499 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1498, i32 0, i32 2
store i32 %1497, i32* %1499, align 4
%1500 = getelementptr inbounds [3 x %struct.YYLTYPE], [3 x %struct.YYLTYPE]* %18, i64 0, i64 2
%1501 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1500, i32 0, i32 3
%1502 = load i32, i32* %1501, align 4
%1503 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1504 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1503, i32 0, i32 3
store i32 %1502, i32* %1504, align 4
br label %1505
1505: ; preds = %1484
%1506 = load i32, i32* %13, align 4
store i32 %1506, i32* %1, align 4
br label %44
1507: ; preds = %165
store i32 0, i32* %14, align 4
br label %1510
1508: ; preds = %1454, %1388, %160
store i32 1, i32* %14, align 4
br label %1510
1509: ; preds = %1375, %82, %66
call void (i8*, ...) @yyerror(i8* noundef getelementptr inbounds ([17 x i8], [17 x i8]* @.str.3, i64 0, i64 0))
store i32 2, i32* %14, align 4
br label %1510
1510: ; preds = %1509, %1508, %1507
%1511 = load i32, i32* @yychar, align 4
%1512 = icmp ne i32 %1511, -2
br i1 %1512, label %1513, label %1529
1513: ; preds = %1510
%1514 = load i32, i32* @yychar, align 4
%1515 = icmp sle i32 0, %1514
br i1 %1515, label %1516, label %1525
1516: ; preds = %1513
%1517 = load i32, i32* @yychar, align 4
%1518 = icmp sle i32 %1517, 295
br i1 %1518, label %1519, label %1525
1519: ; preds = %1516
%1520 = load i32, i32* @yychar, align 4
%1521 = sext i32 %1520 to i64
%1522 = getelementptr inbounds [296 x i8], [296 x i8]* @yytranslate, i64 0, i64 %1521
%1523 = load i8, i8* %1522, align 1
%1524 = sext i8 %1523 to i32
br label %1526
1525: ; preds = %1516, %1513
br label %1526
1526: ; preds = %1525, %1519
%1527 = phi i32 [ %1524, %1519 ], [ 2, %1525 ]
store i32 %1527, i32* %15, align 4
%1528 = load i32, i32* %15, align 4
call void @yydestruct(i8* noundef getelementptr inbounds ([30 x i8], [30 x i8]* @.str.4, i64 0, i64 0), i32 noundef %1528, %union.YYSTYPE* noundef @yylval, %struct.YYLTYPE* noundef @yylloc)
br label %1529
1529: ; preds = %1526, %1510
%1530 = load i32, i32* %22, align 4
%1531 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1532 = sext i32 %1530 to i64
%1533 = sub i64 0, %1532
%1534 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1531, i64 %1533
store %union.YYSTYPE* %1534, %union.YYSTYPE** %9, align 8
%1535 = load i32, i32* %22, align 4
%1536 = load i8*, i8** %6, align 8
%1537 = sext i32 %1535 to i64
%1538 = sub i64 0, %1537
%1539 = getelementptr inbounds i8, i8* %1536, i64 %1538
store i8* %1539, i8** %6, align 8
%1540 = load i32, i32* %22, align 4
%1541 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1542 = sext i32 %1540 to i64
%1543 = sub i64 0, %1542
%1544 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1541, i64 %1543
store %struct.YYLTYPE* %1544, %struct.YYLTYPE** %12, align 8
br label %1545
1545: ; preds = %1549, %1529
%1546 = load i8*, i8** %6, align 8
%1547 = load i8*, i8** %5, align 8
%1548 = icmp ne i8* %1546, %1547
br i1 %1548, label %1549, label %1565
1549: ; preds = %1545
%1550 = load i8*, i8** %6, align 8
%1551 = load i8, i8* %1550, align 1
%1552 = zext i8 %1551 to i32
%1553 = sext i32 %1552 to i64
%1554 = getelementptr inbounds [207 x i8], [207 x i8]* @yystos, i64 0, i64 %1553
%1555 = load i8, i8* %1554, align 1
%1556 = sext i8 %1555 to i32
%1557 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1558 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
call void @yydestruct(i8* noundef getelementptr inbounds ([17 x i8], [17 x i8]* @.str.5, i64 0, i64 0), i32 noundef %1556, %union.YYSTYPE* noundef %1557, %struct.YYLTYPE* noundef %1558)
%1559 = load %union.YYSTYPE*, %union.YYSTYPE** %9, align 8
%1560 = getelementptr inbounds %union.YYSTYPE, %union.YYSTYPE* %1559, i64 -1
store %union.YYSTYPE* %1560, %union.YYSTYPE** %9, align 8
%1561 = load i8*, i8** %6, align 8
%1562 = getelementptr inbounds i8, i8* %1561, i64 -1
store i8* %1562, i8** %6, align 8
%1563 = load %struct.YYLTYPE*, %struct.YYLTYPE** %12, align 8
%1564 = getelementptr inbounds %struct.YYLTYPE, %struct.YYLTYPE* %1563, i64 -1
store %struct.YYLTYPE* %1564, %struct.YYLTYPE** %12, align 8
br label %1545, !llvm.loop !6
1565: ; preds = %1545
%1566 = load i8*, i8** %5, align 8
%1567 = getelementptr inbounds [200 x i8], [200 x i8]* %4, i64 0, i64 0
%1568 = icmp ne i8* %1566, %1567
br i1 %1568, label %1569, label %1571
1569: ; preds = %1565
%1570 = load i8*, i8** %5, align 8
call void @free(i8* noundef %1570) #6
br label %1571
1571: ; preds = %1569, %1565
%1572 = load i8*, i8** %20, align 8
%1573 = getelementptr inbounds [128 x i8], [128 x i8]* %19, i64 0, i64 0
%1574 = icmp ne i8* %1572, %1573
br i1 %1574, label %1575, label %1577
1575: ; preds = %1571
%1576 = load i8*, i8** %20, align 8
call void @free(i8* noundef %1576) #6
br label %1577
1577: ; preds = %1575, %1571
%1578 = load i32, i32* %14, align 4
ret i32 %1578
}
; Function Attrs: argmemonly nofree nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #1
; Function Attrs: nounwind
declare noalias i8* @malloc(i64 noundef) #2
; Function Attrs: nounwind
declare void @free(i8* noundef) #2
declare i32 @yylex(...) #3
declare %struct.ASTNode* @new_node(i32 noundef, %struct.ASTNode* noundef, %struct.ASTNode* noundef, %struct.ASTNode* noundef, i32 noundef, float noundef, i8* noundef, i32 noundef) #3
; Function Attrs: noinline nounwind optnone uwtable
define internal i32 @yysyntax_error(i64* noundef %0, i8** noundef %1, %struct.yypcontext_t* noundef %2) #0 {
%4 = alloca i32, align 4
%5 = alloca i64*, align 8
%6 = alloca i8**, align 8
%7 = alloca %struct.yypcontext_t*, align 8
%8 = alloca i8*, align 8
%9 = alloca [5 x i32], align 16
%10 = alloca i64, align 8
%11 = alloca i32, align 4
%12 = alloca i32, align 4
%13 = alloca i64, align 8
%14 = alloca i8*, align 8
%15 = alloca i32, align 4
store i64* %0, i64** %5, align 8
store i8** %1, i8*** %6, align 8
store %struct.yypcontext_t* %2, %struct.yypcontext_t** %7, align 8
store i8* null, i8** %8, align 8
store i64 0, i64* %10, align 8
%16 = load %struct.yypcontext_t*, %struct.yypcontext_t** %7, align 8
%17 = getelementptr inbounds [5 x i32], [5 x i32]* %9, i64 0, i64 0
%18 = call i32 @yy_syntax_error_arguments(%struct.yypcontext_t* noundef %16, i32* noundef %17, i32 noundef 5)
store i32 %18, i32* %11, align 4
%19 = load i32, i32* %11, align 4
%20 = icmp eq i32 %19, -2
br i1 %20, label %21, label %22
21: ; preds = %3
store i32 -2, i32* %4, align 4
br label %133
22: ; preds = %3
%23 = load i32, i32* %11, align 4
switch i32 %23, label %24 [
i32 0, label %25
i32 1, label %26
i32 2, label %27
i32 3, label %28
i32 4, label %29
i32 5, label %30
]
24: ; preds = %22
br label %25
25: ; preds = %22, %24
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i8** %8, align 8
br label %31
26: ; preds = %22
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i8** %8, align 8
br label %31
27: ; preds = %22
store i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.10, i64 0, i64 0), i8** %8, align 8
br label %31
28: ; preds = %22
store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.11, i64 0, i64 0), i8** %8, align 8
br label %31
29: ; preds = %22
store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.12, i64 0, i64 0), i8** %8, align 8
br label %31
30: ; preds = %22
store i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.13, i64 0, i64 0), i8** %8, align 8
br label %31
31: ; preds = %30, %29, %28, %27, %26, %25
%32 = load i8*, i8** %8, align 8
%33 = call i64 @strlen(i8* noundef %32) #7
%34 = load i32, i32* %11, align 4
%35 = mul nsw i32 2, %34
%36 = sext i32 %35 to i64
%37 = sub nsw i64 %33, %36
%38 = add nsw i64 %37, 1
store i64 %38, i64* %10, align 8
store i32 0, i32* %12, align 4
br label %39
39: ; preds = %64, %31
%40 = load i32, i32* %12, align 4
%41 = load i32, i32* %11, align 4
%42 = icmp slt i32 %40, %41
br i1 %42, label %43, label %67
43: ; preds = %39
%44 = load i64, i64* %10, align 8
%45 = load i32, i32* %12, align 4
%46 = sext i32 %45 to i64
%47 = getelementptr inbounds [5 x i32], [5 x i32]* %9, i64 0, i64 %46
%48 = load i32, i32* %47, align 4
%49 = sext i32 %48 to i64
%50 = getelementptr inbounds [73 x i8*], [73 x i8*]* @yytname, i64 0, i64 %49
%51 = load i8*, i8** %50, align 8
%52 = call i64 @yytnamerr(i8* noundef null, i8* noundef %51)
%53 = add nsw i64 %44, %52
store i64 %53, i64* %13, align 8
%54 = load i64, i64* %10, align 8
%55 = load i64, i64* %13, align 8
%56 = icmp sle i64 %54, %55
br i1 %56, label %57, label %62
57: ; preds = %43
%58 = load i64, i64* %13, align 8
%59 = icmp sle i64 %58, 9223372036854775807
br i1 %59, label %60, label %62
60: ; preds = %57
%61 = load i64, i64* %13, align 8
store i64 %61, i64* %10, align 8
br label %63
62: ; preds = %57, %43
store i32 -2, i32* %4, align 4
br label %133
63: ; preds = %60
br label %64
64: ; preds = %63
%65 = load i32, i32* %12, align 4
%66 = add nsw i32 %65, 1
store i32 %66, i32* %12, align 4
br label %39, !llvm.loop !8
67: ; preds = %39
%68 = load i64*, i64** %5, align 8
%69 = load i64, i64* %68, align 8
%70 = load i64, i64* %10, align 8
%71 = icmp slt i64 %69, %70
br i1 %71, label %72, label %87
72: ; preds = %67
%73 = load i64, i64* %10, align 8
%74 = mul nsw i64 2, %73
%75 = load i64*, i64** %5, align 8
store i64 %74, i64* %75, align 8
%76 = load i64, i64* %10, align 8
%77 = load i64*, i64** %5, align 8
%78 = load i64, i64* %77, align 8
%79 = icmp sle i64 %76, %78
br i1 %79, label %80, label %84
80: ; preds = %72
%81 = load i64*, i64** %5, align 8
%82 = load i64, i64* %81, align 8
%83 = icmp sle i64 %82, 9223372036854775807
br i1 %83, label %86, label %84
84: ; preds = %80, %72
%85 = load i64*, i64** %5, align 8
store i64 9223372036854775807, i64* %85, align 8
br label %86
86: ; preds = %84, %80
store i32 -1, i32* %4, align 4
br label %133
87: ; preds = %67
%88 = load i8**, i8*** %6, align 8
%89 = load i8*, i8** %88, align 8
store i8* %89, i8** %14, align 8
store i32 0, i32* %15, align 4
br label %90
90: ; preds = %131, %87
%91 = load i8*, i8** %8, align 8
%92 = load i8, i8* %91, align 1
%93 = load i8*, i8** %14, align 8
store i8 %92, i8* %93, align 1
%94 = sext i8 %92 to i32
%95 = icmp ne i32 %94, 0
br i1 %95, label %96, label %132
96: ; preds = %90
%97 = load i8*, i8** %14, align 8
%98 = load i8, i8* %97, align 1
%99 = sext i8 %98 to i32
%100 = icmp eq i32 %99, 37
br i1 %100, label %101, label %126
101: ; preds = %96
%102 = load i8*, i8** %8, align 8
%103 = getelementptr inbounds i8, i8* %102, i64 1
%104 = load i8, i8* %103, align 1
%105 = sext i8 %104 to i32
%106 = icmp eq i32 %105, 115
br i1 %106, label %107, label %126
107: ; preds = %101
%108 = load i32, i32* %15, align 4
%109 = load i32, i32* %11, align 4
%110 = icmp slt i32 %108, %109
br i1 %110, label %111, label %126
111: ; preds = %107
%112 = load i8*, i8** %14, align 8
%113 = load i32, i32* %15, align 4
%114 = add nsw i32 %113, 1
store i32 %114, i32* %15, align 4
%115 = sext i32 %113 to i64
%116 = getelementptr inbounds [5 x i32], [5 x i32]* %9, i64 0, i64 %115
%117 = load i32, i32* %116, align 4
%118 = sext i32 %117 to i64
%119 = getelementptr inbounds [73 x i8*], [73 x i8*]* @yytname, i64 0, i64 %118
%120 = load i8*, i8** %119, align 8
%121 = call i64 @yytnamerr(i8* noundef %112, i8* noundef %120)
%122 = load i8*, i8** %14, align 8
%123 = getelementptr inbounds i8, i8* %122, i64 %121
store i8* %123, i8** %14, align 8
%124 = load i8*, i8** %8, align 8
%125 = getelementptr inbounds i8, i8* %124, i64 2
store i8* %125, i8** %8, align 8
br label %131
126: ; preds = %107, %101, %96
%127 = load i8*, i8** %14, align 8
%128 = getelementptr inbounds i8, i8* %127, i32 1
store i8* %128, i8** %14, align 8
%129 = load i8*, i8** %8, align 8
%130 = getelementptr inbounds i8, i8* %129, i32 1
store i8* %130, i8** %8, align 8
br label %131
131: ; preds = %126, %111
br label %90, !llvm.loop !9
132: ; preds = %90
store i32 0, i32* %4, align 4
br label %133
133: ; preds = %132, %86, %62, %21
%134 = load i32, i32* %4, align 4
ret i32 %134
}
; Function Attrs: noinline nounwind optnone uwtable
define dso_local void @yyerror(i8* noundef %0, ...) #0 {
%2 = alloca i8*, align 8
%3 = alloca [1 x %struct.__va_list_tag], align 16
store i8* %0, i8** %2, align 8
store i32 1, i32* @syntax_error, align 4
%4 = getelementptr inbounds [1 x %struct.__va_list_tag], [1 x %struct.__va_list_tag]* %3, i64 0, i64 0
%5 = bitcast %struct.__va_list_tag* %4 to i8*
call void @llvm.va_start(i8* %5)
%6 = load %struct._IO_FILE*, %struct._IO_FILE** @stderr, align 8
%7 = load i32, i32* @yylineno, align 4
%8 = call i32 (%struct._IO_FILE*, i8*, ...) @fprintf(%struct._IO_FILE* noundef %6, i8* noundef getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7, i64 0, i64 0), i8* noundef getelementptr inbounds ([100 x i8], [100 x i8]* @filename, i64 0, i64 0), i32 noundef %7)
%9 = load %struct._IO_FILE*, %struct._IO_FILE** @stderr, align 8
%10 = load i8*, i8** %2, align 8
%11 = getelementptr inbounds [1 x %struct.__va_list_tag], [1 x %struct.__va_list_tag]* %3, i64 0, i64 0
%12 = call i32 @vfprintf(%struct._IO_FILE* noundef %9, i8* noundef %10, %struct.__va_list_tag* noundef %11)
%13 = load %struct._IO_FILE*, %struct._IO_FILE** @stderr, align 8
%14 = call i32 (%struct._IO_FILE*, i8*, ...) @fprintf(%struct._IO_FILE* noundef %13, i8* noundef getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0))
ret void
}
; Function Attrs: noinline nounwind optnone uwtable
define internal void @yydestruct(i8* noundef %0, i32 noundef %1, %union.YYSTYPE* noundef %2, %struct.YYLTYPE* noundef %3) #0 {
%5 = alloca i8*, align 8
%6 = alloca i32, align 4
%7 = alloca %union.YYSTYPE*, align 8
%8 = alloca %struct.YYLTYPE*, align 8
store i8* %0, i8** %5, align 8
store i32 %1, i32* %6, align 4
store %union.YYSTYPE* %2, %union.YYSTYPE** %7, align 8
store %struct.YYLTYPE* %3, %struct.YYLTYPE** %8, align 8
%9 = load %union.YYSTYPE*, %union.YYSTYPE** %7, align 8
%10 = load %struct.YYLTYPE*, %struct.YYLTYPE** %8, align 8
%11 = load i8*, i8** %5, align 8
%12 = icmp ne i8* %11, null
br i1 %12, label %14, label %13
13: ; preds = %4
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.86, i64 0, i64 0), i8** %5, align 8
br label %14
14: ; preds = %13, %4
%15 = load i32, i32* %6, align 4
ret void
}
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i32 @main(i32 noundef %0, i8** noundef %1) #0 {
%3 = alloca i32, align 4
%4 = alloca i32, align 4
%5 = alloca i8**, align 8
%6 = alloca i32, align 4
store i32 0, i32* %3, align 4
store i32 %0, i32* %4, align 4
store i8** %1, i8*** %5, align 8
%7 = load i8**, i8*** %5, align 8
%8 = getelementptr inbounds i8*, i8** %7, i64 1
%9 = load i8*, i8** %8, align 8
%10 = call i64 @strlen(i8* noundef %9) #7
%11 = sub i64 %10, 1
%12 = trunc i64 %11 to i32
store i32 %12, i32* %6, align 4
br label %13
13: ; preds = %29, %2
%14 = load i32, i32* %6, align 4
%15 = icmp sgt i32 %14, 0
br i1 %15, label %16, label %27
16: ; preds = %13
%17 = load i8**, i8*** %5, align 8
%18 = getelementptr inbounds i8*, i8** %17, i64 1
%19 = load i8*, i8** %18, align 8
%20 = load i32, i32* %6, align 4
%21 = sub nsw i32 %20, 1
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds i8, i8* %19, i64 %22
%24 = load i8, i8* %23, align 1
%25 = sext i8 %24 to i32
%26 = icmp ne i32 %25, 47
br label %27
27: ; preds = %16, %13
%28 = phi i1 [ false, %13 ], [ %26, %16 ]
br i1 %28, label %29, label %32
29: ; preds = %27
%30 = load i32, i32* %6, align 4
%31 = add nsw i32 %30, -1
store i32 %31, i32* %6, align 4
br label %13, !llvm.loop !10
32: ; preds = %27
%33 = load i8**, i8*** %5, align 8
%34 = getelementptr inbounds i8*, i8** %33, i64 1
%35 = load i8*, i8** %34, align 8
%36 = load i32, i32* %6, align 4
%37 = sext i32 %36 to i64
%38 = getelementptr inbounds i8, i8* %35, i64 %37
%39 = call i8* @strcpy(i8* noundef getelementptr inbounds ([100 x i8], [100 x i8]* @filename, i64 0, i64 0), i8* noundef %38) #6
%40 = load i8**, i8*** %5, align 8
%41 = getelementptr inbounds i8*, i8** %40, i64 1
%42 = load i8*, i8** %41, align 8
%43 = load %struct._IO_FILE*, %struct._IO_FILE** @stdin, align 8
%44 = call %struct._IO_FILE* @freopen(i8* noundef %42, i8* noundef getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %struct._IO_FILE* noundef %43)
%45 = call i32 @yyparse()
%46 = load i32, i32* @syntax_error, align 4
%47 = icmp eq i32 %46, 0
br i1 %47, label %48, label %50
48: ; preds = %32
%49 = load %struct.ASTNode*, %struct.ASTNode** @root, align 8
call void @display(%struct.ASTNode* noundef %49)
br label %50
50: ; preds = %48, %32
ret i32 0
}
; Function Attrs: nounwind readonly willreturn
declare i64 @strlen(i8* noundef) #4
; Function Attrs: nounwind
declare i8* @strcpy(i8* noundef, i8* noundef) #2
declare %struct._IO_FILE* @freopen(i8* noundef, i8* noundef, %struct._IO_FILE* noundef) #3
declare void @display(%struct.ASTNode* noundef) #3
; Function Attrs: nofree nosync nounwind willreturn
declare void @llvm.va_start(i8*) #5
declare i32 @fprintf(%struct._IO_FILE* noundef, i8* noundef, ...) #3
declare i32 @vfprintf(%struct._IO_FILE* noundef, i8* noundef, %struct.__va_list_tag* noundef) #3
; Function Attrs: noinline nounwind optnone uwtable
define internal i32 @yy_syntax_error_arguments(%struct.yypcontext_t* noundef %0, i32* noundef %1, i32 noundef %2) #0 {
%4 = alloca i32, align 4
%5 = alloca %struct.yypcontext_t*, align 8
%6 = alloca i32*, align 8
%7 = alloca i32, align 4
%8 = alloca i32, align 4
%9 = alloca i32, align 4
store %struct.yypcontext_t* %0, %struct.yypcontext_t** %5, align 8
store i32* %1, i32** %6, align 8
store i32 %2, i32* %7, align 4
store i32 0, i32* %8, align 4
%10 = load %struct.yypcontext_t*, %struct.yypcontext_t** %5, align 8
%11 = getelementptr inbounds %struct.yypcontext_t, %struct.yypcontext_t* %10, i32 0, i32 1
%12 = load i32, i32* %11, align 8
%13 = icmp ne i32 %12, -2
br i1 %13, label %14, label %49
14: ; preds = %3
%15 = load i32*, i32** %6, align 8
%16 = icmp ne i32* %15, null
br i1 %16, label %17, label %25
17: ; preds = %14
%18 = load %struct.yypcontext_t*, %struct.yypcontext_t** %5, align 8
%19 = getelementptr inbounds %struct.yypcontext_t, %struct.yypcontext_t* %18, i32 0, i32 1
%20 = load i32, i32* %19, align 8
%21 = load i32*, i32** %6, align 8
%22 = load i32, i32* %8, align 4
%23 = sext i32 %22 to i64
%24 = getelementptr inbounds i32, i32* %21, i64 %23
store i32 %20, i32* %24, align 4
br label %25
25: ; preds = %17, %14
%26 = load i32, i32* %8, align 4
%27 = add nsw i32 %26, 1
store i32 %27, i32* %8, align 4
%28 = load %struct.yypcontext_t*, %struct.yypcontext_t** %5, align 8
%29 = load i32*, i32** %6, align 8
%30 = icmp ne i32* %29, null
br i1 %30, label %31, label %34
31: ; preds = %25
%32 = load i32*, i32** %6, align 8
%33 = getelementptr inbounds i32, i32* %32, i64 1
br label %36
34: ; preds = %25
%35 = load i32*, i32** %6, align 8
br label %36
36: ; preds = %34, %31
%37 = phi i32* [ %33, %31 ], [ %35, %34 ]
%38 = load i32, i32* %7, align 4
%39 = sub nsw i32 %38, 1
%40 = call i32 @yypcontext_expected_tokens(%struct.yypcontext_t* noundef %28, i32* noundef %37, i32 noundef %39)
store i32 %40, i32* %9, align 4
%41 = load i32, i32* %9, align 4
%42 = icmp eq i32 %41, -2
br i1 %42, label %43, label %44
43: ; preds = %36
store i32 -2, i32* %4, align 4
br label %51
44: ; preds = %36
%45 = load i32, i32* %9, align 4
%46 = load i32, i32* %8, align 4
%47 = add nsw i32 %46, %45
store i32 %47, i32* %8, align 4
br label %48
48: ; preds = %44
br label %49
49: ; preds = %48, %3
%50 = load i32, i32* %8, align 4
store i32 %50, i32* %4, align 4
br label %51
51: ; preds = %49, %43
%52 = load i32, i32* %4, align 4
ret i32 %52
}
; Function Attrs: noinline nounwind optnone uwtable
define internal i64 @yytnamerr(i8* noundef %0, i8* noundef %1) #0 {
%3 = alloca i64, align 8
%4 = alloca i8*, align 8
%5 = alloca i8*, align 8
%6 = alloca i64, align 8
%7 = alloca i8*, align 8
store i8* %0, i8** %4, align 8
store i8* %1, i8** %5, align 8
%8 = load i8*, i8** %5, align 8
%9 = load i8, i8* %8, align 1
%10 = sext i8 %9 to i32
%11 = icmp eq i32 %10, 34
br i1 %11, label %12, label %52
12: ; preds = %2
store i64 0, i64* %6, align 8
%13 = load i8*, i8** %5, align 8
store i8* %13, i8** %7, align 8
br label %14
14: ; preds = %50, %12
%15 = load i8*, i8** %7, align 8
%16 = getelementptr inbounds i8, i8* %15, i32 1
store i8* %16, i8** %7, align 8
%17 = load i8, i8* %16, align 1
%18 = sext i8 %17 to i32
switch i32 %18, label %29 [
i32 39, label %19
i32 44, label %19
i32 92, label %20
i32 34, label %41
]
19: ; preds = %14, %14
br label %51
20: ; preds = %14
%21 = load i8*, i8** %7, align 8
%22 = getelementptr inbounds i8, i8* %21, i32 1
store i8* %22, i8** %7, align 8
%23 = load i8, i8* %22, align 1
%24 = sext i8 %23 to i32
%25 = icmp ne i32 %24, 92
br i1 %25, label %26, label %27
26: ; preds = %20
br label %51
27: ; preds = %20
br label %28
28: ; preds = %27
br label %29
29: ; preds = %14, %28
%30 = load i8*, i8** %4, align 8
%31 = icmp ne i8* %30, null
br i1 %31, label %32, label %38
32: ; preds = %29
%33 = load i8*, i8** %7, align 8
%34 = load i8, i8* %33, align 1
%35 = load i8*, i8** %4, align 8
%36 = load i64, i64* %6, align 8
%37 = getelementptr inbounds i8, i8* %35, i64 %36
store i8 %34, i8* %37, align 1
br label %38
38: ; preds = %32, %29
%39 = load i64, i64* %6, align 8
%40 = add nsw i64 %39, 1
store i64 %40, i64* %6, align 8
br label %50
41: ; preds = %14
%42 = load i8*, i8** %4, align 8
%43 = icmp ne i8* %42, null
br i1 %43, label %44, label %48
44: ; preds = %41
%45 = load i8*, i8** %4, align 8
%46 = load i64, i64* %6, align 8
%47 = getelementptr inbounds i8, i8* %45, i64 %46
store i8 0, i8* %47, align 1
br label %48
48: ; preds = %44, %41
%49 = load i64, i64* %6, align 8
store i64 %49, i64* %3, align 8
br label %66
50: ; preds = %38
br label %14
51: ; preds = %26, %19
br label %52
52: ; preds = %51, %2
%53 = load i8*, i8** %4, align 8
%54 = icmp ne i8* %53, null
br i1 %54, label %55, label %63
55: ; preds = %52
%56 = load i8*, i8** %4, align 8
%57 = load i8*, i8** %5, align 8
%58 = call i8* @yystpcpy(i8* noundef %56, i8* noundef %57)
%59 = load i8*, i8** %4, align 8
%60 = ptrtoint i8* %58 to i64
%61 = ptrtoint i8* %59 to i64
%62 = sub i64 %60, %61
store i64 %62, i64* %3, align 8
br label %66
63: ; preds = %52
%64 = load i8*, i8** %5, align 8
%65 = call i64 @strlen(i8* noundef %64) #7
store i64 %65, i64* %3, align 8
br label %66
66: ; preds = %63, %55, %48
%67 = load i64, i64* %3, align 8
ret i64 %67
}
; Function Attrs: noinline nounwind optnone uwtable
define internal i32 @yypcontext_expected_tokens(%struct.yypcontext_t* noundef %0, i32* noundef %1, i32 noundef %2) #0 {
%4 = alloca i32, align 4
%5 = alloca %struct.yypcontext_t*, align 8
%6 = alloca i32*, align 8
%7 = alloca i32, align 4
%8 = alloca i32, align 4
%9 = alloca i32, align 4
%10 = alloca i32, align 4
%11 = alloca i32, align 4
%12 = alloca i32, align 4
%13 = alloca i32, align 4
store %struct.yypcontext_t* %0, %struct.yypcontext_t** %5, align 8
store i32* %1, i32** %6, align 8
store i32 %2, i32* %7, align 4
store i32 0, i32* %8, align 4
%14 = load %struct.yypcontext_t*, %struct.yypcontext_t** %5, align 8
%15 = getelementptr inbounds %struct.yypcontext_t, %struct.yypcontext_t* %14, i32 0, i32 0
%16 = load i8*, i8** %15, align 8
%17 = load i8, i8* %16, align 1
%18 = zext i8 %17 to i32
%19 = sext i32 %18 to i64
%20 = getelementptr inbounds [207 x i16], [207 x i16]* @yypact, i64 0, i64 %19
%21 = load i16, i16* %20, align 2
%22 = sext i16 %21 to i32
store i32 %22, i32* %9, align 4
%23 = load i32, i32* %9, align 4
%24 = icmp eq i32 %23, -167
br i1 %24, label %87, label %25
25: ; preds = %3
%26 = load i32, i32* %9, align 4
%27 = icmp slt i32 %26, 0
br i1 %27, label %28, label %31
28: ; preds = %25
%29 = load i32, i32* %9, align 4
%30 = sub nsw i32 0, %29
br label %32
31: ; preds = %25
br label %32
32: ; preds = %31, %28
%33 = phi i32 [ %30, %28 ], [ 0, %31 ]
store i32 %33, i32* %10, align 4
%34 = load i32, i32* %9, align 4
%35 = sub nsw i32 301, %34
%36 = add nsw i32 %35, 1
store i32 %36, i32* %11, align 4
%37 = load i32, i32* %11, align 4
%38 = icmp slt i32 %37, 41
br i1 %38, label %39, label %41
39: ; preds = %32
%40 = load i32, i32* %11, align 4
br label %42
41: ; preds = %32
br label %42
42: ; preds = %41, %39
%43 = phi i32 [ %40, %39 ], [ 41, %41 ]
store i32 %43, i32* %12, align 4
%44 = load i32, i32* %10, align 4
store i32 %44, i32* %13, align 4
br label %45
45: ; preds = %83, %42
%46 = load i32, i32* %13, align 4
%47 = load i32, i32* %12, align 4
%48 = icmp slt i32 %46, %47
br i1 %48, label %49, label %86
49: ; preds = %45
%50 = load i32, i32* %13, align 4
%51 = load i32, i32* %9, align 4
%52 = add nsw i32 %50, %51
%53 = sext i32 %52 to i64
%54 = getelementptr inbounds [302 x i16], [302 x i16]* @yycheck, i64 0, i64 %53
%55 = load i16, i16* %54, align 2
%56 = sext i16 %55 to i32
%57 = load i32, i32* %13, align 4
%58 = icmp eq i32 %56, %57
br i1 %58, label %59, label %82
59: ; preds = %49
%60 = load i32, i32* %13, align 4
%61 = icmp ne i32 %60, 1
br i1 %61, label %62, label %82
62: ; preds = %59
%63 = load i32*, i32** %6, align 8
%64 = icmp ne i32* %63, null
br i1 %64, label %68, label %65
65: ; preds = %62
%66 = load i32, i32* %8, align 4
%67 = add nsw i32 %66, 1
store i32 %67, i32* %8, align 4
br label %81
68: ; preds = %62
%69 = load i32, i32* %8, align 4
%70 = load i32, i32* %7, align 4
%71 = icmp eq i32 %69, %70
br i1 %71, label %72, label %73
72: ; preds = %68
store i32 0, i32* %4, align 4
br label %101
73: ; preds = %68
%74 = load i32, i32* %13, align 4
%75 = load i32*, i32** %6, align 8
%76 = load i32, i32* %8, align 4
%77 = add nsw i32 %76, 1
store i32 %77, i32* %8, align 4
%78 = sext i32 %76 to i64
%79 = getelementptr inbounds i32, i32* %75, i64 %78
store i32 %74, i32* %79, align 4
br label %80
80: ; preds = %73
br label %81
81: ; preds = %80, %65
br label %82
82: ; preds = %81, %59, %49
br label %83
83: ; preds = %82
%84 = load i32, i32* %13, align 4
%85 = add nsw i32 %84, 1
store i32 %85, i32* %13, align 4
br label %45, !llvm.loop !11
86: ; preds = %45
br label %87
87: ; preds = %86, %3
%88 = load i32*, i32** %6, align 8
%89 = icmp ne i32* %88, null
br i1 %89, label %90, label %99
90: ; preds = %87
%91 = load i32, i32* %8, align 4
%92 = icmp eq i32 %91, 0
br i1 %92, label %93, label %99
93: ; preds = %90
%94 = load i32, i32* %7, align 4
%95 = icmp slt i32 0, %94
br i1 %95, label %96, label %99
96: ; preds = %93
%97 = load i32*, i32** %6, align 8
%98 = getelementptr inbounds i32, i32* %97, i64 0
store i32 -2, i32* %98, align 4
br label %99
99: ; preds = %96, %93, %90, %87
%100 = load i32, i32* %8, align 4
store i32 %100, i32* %4, align 4
br label %101
101: ; preds = %99, %72
%102 = load i32, i32* %4, align 4
ret i32 %102
}
; Function Attrs: noinline nounwind optnone uwtable
define internal i8* @yystpcpy(i8* noundef %0, i8* noundef %1) #0 {
%3 = alloca i8*, align 8
%4 = alloca i8*, align 8
%5 = alloca i8*, align 8
%6 = alloca i8*, align 8
store i8* %0, i8** %3, align 8
store i8* %1, i8** %4, align 8
%7 = load i8*, i8** %3, align 8
store i8* %7, i8** %5, align 8
%8 = load i8*, i8** %4, align 8
store i8* %8, i8** %6, align 8
br label %9
9: ; preds = %17, %2
%10 = load i8*, i8** %6, align 8
%11 = getelementptr inbounds i8, i8* %10, i32 1
store i8* %11, i8** %6, align 8
%12 = load i8, i8* %10, align 1
%13 = load i8*, i8** %5, align 8
%14 = getelementptr inbounds i8, i8* %13, i32 1
store i8* %14, i8** %5, align 8
store i8 %12, i8* %13, align 1
%15 = sext i8 %12 to i32
%16 = icmp ne i32 %15, 0
br i1 %16, label %17, label %18
17: ; preds = %9
br label %9, !llvm.loop !12
18: ; preds = %9
%19 = load i8*, i8** %5, align 8
%20 = getelementptr inbounds i8, i8* %19, i64 -1
ret i8* %20
}
attributes #0 = { noinline nounwind optnone uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { argmemonly nofree nounwind willreturn }
attributes #2 = { nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind readonly willreturn "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nofree nosync nounwind willreturn }
attributes #6 = { nounwind }
attributes #7 = { nounwind readonly willreturn }
!llvm.module.flags = !{!0, !1, !2, !3, !4}
!llvm.ident = !{!5}
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 7, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 1}
!4 = !{i32 7, !"frame-pointer", i32 2}
!5 = !{!"Ubuntu clang version 14.0.0-1ubuntu1.1"}
!6 = distinct !{!6, !7}
!7 = !{!"llvm.loop.mustprogress"}
!8 = distinct !{!8, !7}
!9 = distinct !{!9, !7}
!10 = distinct !{!10, !7}
!11 = distinct !{!11, !7}
!12 = distinct !{!12, !7}