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