blob: b16eab1b63c0ca6c6bc8969787d63eb5f6ee24a8 [file] [log] [blame]
Reed Kotlerb0ee97a2013-06-09 23:23:46 +00001; RUN: llc -march=mipsel -mcpu=mips16 -relocation-model=pic < %s | FileCheck %s -check-prefix=cmp16
2
3%union.yystype = type { i32 }
4%struct.LIST_HELP = type { %struct.LIST_HELP*, i8* }
5%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
6%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
7%struct.MEMORY_RESOURCEHELP = type { i8*, i8*, i8*, i8*, i32, i32, i32 }
8%struct.signature = type { i8*, i32, i32, i32, i32, i32, %struct.LIST_HELP* }
9%union.yyalloc = type { %union.yystype }
10%struct.term = type { i32, %union.anon, %struct.LIST_HELP*, i32, i32 }
11%union.anon = type { %struct.LIST_HELP* }
12%struct.CLAUSE_HELP = type { i32, i32, i32, i32, i32*, i32, %struct.LIST_HELP*, %struct.LIST_HELP*, i32, i32, %struct.LITERAL_HELP**, i32, i32, i32, i32 }
13%struct.LITERAL_HELP = type { i32, i32, i32, %struct.CLAUSE_HELP*, %struct.term* }
14%struct.DFG_VARENTRY = type { i8*, i32 }
15
16@dfg_nerrs = common global i32 0, align 4
17@dfg_char = common global i32 0, align 4
18@yypact = internal unnamed_addr constant [477 x i16] [i16 9, i16 -32, i16 35, i16 232, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -6, i16 13, i16 67, i16 20, i16 45, i16 53, i16 30, i16 -356, i16 110, i16 46, i16 118, i16 121, i16 -12, i16 73, i16 -356, i16 91, i16 84, i16 113, i16 112, i16 141, i16 123, i16 128, i16 132, i16 -356, i16 -356, i16 175, i16 152, i16 161, i16 155, i16 191, i16 2, i16 162, i16 180, i16 -356, i16 204, i16 232, i16 214, i16 173, i16 -356, i16 252, i16 176, i16 206, i16 209, i16 213, i16 226, i16 232, i16 47, i16 -356, i16 -356, i16 80, i16 218, i16 254, i16 224, i16 -14, i16 -356, i16 -356, i16 230, i16 233, i16 -356, i16 234, i16 241, i16 232, i16 242, i16 -356, i16 -356, i16 -356, i16 243, i16 237, i16 21, i16 244, i16 -356, i16 260, i16 -356, i16 246, i16 245, i16 250, i16 251, i16 294, i16 247, i16 248, i16 2, i16 232, i16 93, i16 -356, i16 -356, i16 232, i16 255, i16 272, i16 232, i16 253, i16 -356, i16 256, i16 -356, i16 232, i16 257, i16 232, i16 290, i16 232, i16 232, i16 -356, i16 -356, i16 -356, i16 258, i16 21, i16 261, i16 -356, i16 271, i16 -356, i16 262, i16 264, i16 14, i16 263, i16 317, i16 108, i16 -356, i16 -356, i16 265, i16 266, i16 80, i16 119, i16 -356, i16 85, i16 268, i16 312, i16 -356, i16 124, i16 -356, i16 270, i16 273, i16 269, i16 -356, i16 274, i16 -356, i16 309, i16 275, i16 -356, i16 -52, i16 276, i16 277, i16 232, i16 279, i16 -356, i16 -356, i16 281, i16 -356, i16 -356, i16 -356, i16 284, i16 287, i16 288, i16 321, i16 -356, i16 -356, i16 286, i16 108, i16 -356, i16 -356, i16 289, i16 232, i16 232, i16 138, i16 -356, i16 -356, i16 156, i16 291, i16 293, i16 232, i16 -17, i16 232, i16 232, i16 232, i16 232, i16 346, i16 232, i16 -356, i16 232, i16 -356, i16 40, i16 296, i16 -356, i16 -356, i16 297, i16 299, i16 302, i16 300, i16 -356, i16 303, i16 -356, i16 -356, i16 285, i16 301, i16 85, i16 232, i16 143, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 337, i16 16, i16 304, i16 298, i16 306, i16 -356, i16 32, i16 -356, i16 311, i16 305, i16 -356, i16 56, i16 308, i16 314, i16 310, i16 -356, i16 -356, i16 315, i16 318, i16 -356, i16 -356, i16 108, i16 -356, i16 -356, i16 313, i16 319, i16 156, i16 -2, i16 320, i16 -356, i16 -356, i16 232, i16 232, i16 316, i16 322, i16 232, i16 232, i16 323, i16 324, i16 307, i16 325, i16 326, i16 -356, i16 240, i16 -356, i16 327, i16 329, i16 108, i16 -356, i16 -356, i16 -356, i16 331, i16 332, i16 334, i16 333, i16 -356, i16 335, i16 -356, i16 336, i16 -356, i16 -356, i16 145, i16 -356, i16 -356, i16 -356, i16 96, i16 -356, i16 -356, i16 -356, i16 338, i16 340, i16 -356, i16 -356, i16 342, i16 232, i16 163, i16 339, i16 -356, i16 -356, i16 239, i16 343, i16 232, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 344, i16 -356, i16 -356, i16 341, i16 347, i16 348, i16 350, i16 -356, i16 3, i16 -356, i16 -15, i16 -356, i16 -356, i16 -356, i16 42, i16 232, i16 -356, i16 43, i16 -356, i16 349, i16 351, i16 -356, i16 -356, i16 96, i16 232, i16 352, i16 96, i16 96, i16 353, i16 355, i16 357, i16 57, i16 358, i16 361, i16 -356, i16 359, i16 -356, i16 163, i16 108, i16 360, i16 362, i16 -356, i16 363, i16 364, i16 -356, i16 44, i16 -356, i16 -13, i16 -356, i16 366, i16 365, i16 -356, i16 168, i16 372, i16 -356, i16 369, i16 -356, i16 -356, i16 -356, i16 96, i16 -356, i16 96, i16 232, i16 371, i16 373, i16 341, i16 -356, i16 -356, i16 0, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 367, i16 -356, i16 370, i16 -356, i16 375, i16 -356, i16 306, i16 374, i16 228, i16 377, i16 379, i16 380, i16 341, i16 -356, i16 -356, i16 50, i16 381, i16 376, i16 382, i16 -356, i16 383, i16 -356, i16 384, i16 66, i16 -356, i16 -356, i16 386, i16 228, i16 387, i16 385, i16 -356, i16 -356, i16 388, i16 7, i16 -356, i16 -356, i16 -356, i16 389, i16 232, i16 239, i16 -356, i16 228, i16 -356, i16 69, i16 239, i16 393, i16 232, i16 232, i16 90, i16 96, i16 306, i16 390, i16 -356, i16 -356, i16 153, i16 -356, i16 -356, i16 391, i16 179, i16 -356, i16 396, i16 395, i16 -356, i16 397, i16 239, i16 398, i16 401, i16 -356, i16 402, i16 399, i16 -356, i16 168, i16 96, i16 409, i16 408, i16 185, i16 -356, i16 410, i16 411, i16 -356, i16 405, i16 168, i16 -356, i16 -356, i16 400, i16 412, i16 -356, i16 168, i16 413, i16 198, i16 345, i16 -356, i16 -356, i16 168, i16 168, i16 394, i16 -356, i16 168, i16 -356], align 2
19@yytranslate = internal unnamed_addr constant [319 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@A\02\02E\02B\02\02\02\02\02\02\02\02\02\02\02F\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02C\02D\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\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#$%&'()*+,-./0123456789:;<=>?", align 1
20@yycheck = internal unnamed_addr constant [507 x i16] [i16 3, i16 46, i16 103, i16 3, i16 19, i16 19, i16 361, i16 9, i16 20, i16 276, i16 3, i16 8, i16 164, i16 65, i16 27, i16 6, i16 18, i16 69, i16 32, i16 31, i16 18, i16 38, i16 19, i16 23, i16 364, i16 18, i16 5, i16 40, i16 21, i16 22, i16 23, i16 24, i16 64, i16 12, i16 27, i16 0, i16 48, i16 40, i16 53, i16 41, i16 33, i16 34, i16 45, i16 41, i16 37, i16 47, i16 63, i16 40, i16 41, i16 47, i16 390, i16 11, i16 55, i16 3, i16 47, i16 322, i16 59, i16 17, i16 325, i16 65, i16 46, i16 416, i16 60, i16 56, i16 62, i16 8, i16 64, i16 60, i16 71, i16 62, i16 425, i16 57, i16 58, i16 23, i16 67, i16 19, i16 19, i16 27, i16 179, i16 66, i16 232, i16 65, i16 26, i16 16, i16 185, i16 69, i16 66, i16 90, i16 91, i16 36, i16 40, i16 358, i16 95, i16 360, i16 49, i16 98, i16 66, i16 65, i16 18, i16 3, i16 103, i16 69, i16 105, i16 18, i16 107, i16 108, i16 258, i16 65, i16 65, i16 65, i16 64, i16 69, i16 69, i16 69, i16 18, i16 68, i16 69, i16 21, i16 22, i16 23, i16 24, i16 41, i16 4, i16 27, i16 14, i16 128, i16 41, i16 47, i16 131, i16 33, i16 34, i16 65, i16 47, i16 37, i16 65, i16 69, i16 40, i16 41, i16 69, i16 66, i16 60, i16 449, i16 62, i16 47, i16 64, i16 60, i16 149, i16 62, i16 64, i16 64, i16 29, i16 459, i16 56, i16 254, i16 63, i16 65, i16 60, i16 465, i16 62, i16 69, i16 427, i16 68, i16 69, i16 471, i16 472, i16 168, i16 169, i16 475, i16 60, i16 61, i16 173, i16 3, i16 59, i16 176, i16 18, i16 178, i16 179, i16 180, i16 181, i16 67, i16 183, i16 18, i16 185, i16 450, i16 43, i16 337, i16 18, i16 68, i16 69, i16 66, i16 22, i16 23, i16 68, i16 69, i16 66, i16 27, i16 64, i16 41, i16 201, i16 202, i16 25, i16 33, i16 34, i16 47, i16 41, i16 37, i16 68, i16 69, i16 40, i16 41, i16 47, i16 68, i16 69, i16 68, i16 69, i16 47, i16 60, i16 65, i16 62, i16 64, i16 64, i16 68, i16 69, i16 60, i16 63, i16 62, i16 35, i16 64, i16 60, i16 67, i16 62, i16 51, i16 18, i16 19, i16 237, i16 21, i16 32, i16 64, i16 24, i16 242, i16 243, i16 27, i16 66, i16 246, i16 247, i16 290, i16 18, i16 68, i16 69, i16 21, i16 18, i16 254, i16 24, i16 68, i16 69, i16 41, i16 42, i16 18, i16 18, i16 19, i16 21, i16 47, i16 10, i16 24, i16 50, i16 37, i16 68, i16 69, i16 54, i16 41, i16 56, i16 65, i16 63, i16 41, i16 60, i16 47, i16 62, i16 64, i16 52, i16 47, i16 41, i16 41, i16 285, i16 286, i16 56, i16 67, i16 47, i16 47, i16 60, i16 292, i16 62, i16 67, i16 60, i16 39, i16 62, i16 56, i16 66, i16 64, i16 64, i16 60, i16 60, i16 62, i16 62, i16 66, i16 44, i16 64, i16 64, i16 64, i16 64, i16 15, i16 65, i16 314, i16 66, i16 63, i16 66, i16 64, i16 69, i16 45, i16 28, i16 66, i16 323, i16 65, i16 67, i16 65, i16 67, i16 64, i16 55, i16 64, i16 66, i16 65, i16 13, i16 19, i16 66, i16 336, i16 69, i16 67, i16 66, i16 64, i16 69, i16 30, i16 19, i16 386, i16 66, i16 69, i16 69, i16 66, i16 69, i16 66, i16 351, i16 65, i16 63, i16 65, i16 64, i16 7, i16 69, i16 66, i16 19, i16 66, i16 361, i16 66, i16 405, i16 65, i16 64, i16 66, i16 65, i16 63, i16 66, i16 66, i16 65, i16 65, i16 65, i16 64, i16 417, i16 65, i16 419, i16 69, i16 66, i16 422, i16 67, i16 65, i16 113, i16 66, i16 69, i16 65, i16 68, i16 66, i16 66, i16 128, i16 66, i16 66, i16 66, i16 66, i16 66, i16 66, i16 65, i16 64, i16 64, i16 442, i16 64, i16 66, i16 65, i16 62, i16 3, i16 201, i16 66, i16 69, i16 66, i16 65, i16 64, i16 66, i16 69, i16 64, i16 64, i16 416, i16 64, i16 70, i16 65, i16 65, i16 69, i16 64, i16 67, i16 424, i16 425, i16 66, i16 66, i16 64, i16 66, i16 65, i16 69, i16 66, i16 64, i16 66, i16 60, i16 69, i16 65, i16 64, i16 69, i16 64, i16 62, i16 69, i16 65, i16 67, i16 65, i16 64, i16 64, i16 64, i16 449, i16 65, i16 64, i16 40, i16 65, i16 68, i16 66, i16 237, i16 67, i16 65, i16 459, i16 69, i16 69, i16 66, i16 69, i16 65, i16 465, i16 68, i16 70, i16 67, i16 69, i16 67, i16 471, i16 472, i16 69, i16 69, i16 475, i16 65, i16 69, i16 65, i16 65, i16 65, i16 243, i16 66, i16 393, i16 411, i16 90, i16 405, i16 451, i16 393, i16 447, i16 419, i16 63, i16 -1, i16 336, i16 -1, i16 285, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 178], align 2
21@yytable = internal unnamed_addr constant [507 x i16] [i16 10, i16 77, i16 139, i16 388, i16 331, i16 99, i16 384, i16 261, i16 30, i16 301, i16 293, i16 328, i16 196, i16 184, i16 362, i16 1, i16 262, i16 185, i16 62, i16 31, i16 5, i16 209, i16 329, i16 389, i16 387, i16 5, i16 110, i16 363, i16 67, i16 294, i16 295, i16 68, i16 3, i16 111, i16 296, i16 4, i16 32, i16 58, i16 332, i16 263, i16 297, i16 298, i16 65, i16 6, i16 299, i16 264, i16 210, i16 300, i16 6, i16 7, i16 407, i16 223, i16 88, i16 388, i16 7, i16 339, i16 94, i16 224, i16 342, i16 11, i16 154, i16 428, i16 8, i16 73, i16 9, i16 348, i16 55, i16 8, i16 106, i16 9, i16 436, i16 155, i16 156, i16 389, i16 425, i16 249, i16 349, i16 362, i16 213, i16 12, i16 257, i16 240, i16 250, i16 13, i16 221, i16 185, i16 15, i16 58, i16 126, i16 19, i16 363, i16 382, i16 130, i16 383, i16 16, i16 134, i16 21, i16 245, i16 5, i16 293, i16 138, i16 246, i16 141, i16 5, i16 144, i16 138, i16 284, i16 333, i16 335, i16 359, i16 25, i16 176, i16 336, i16 360, i16 5, i16 89, i16 90, i16 67, i16 294, i16 295, i16 68, i16 6, i16 26, i16 296, i16 23, i16 94, i16 6, i16 7, i16 172, i16 297, i16 298, i16 418, i16 7, i16 299, i16 431, i16 419, i16 300, i16 6, i16 419, i16 34, i16 8, i16 454, i16 9, i16 7, i16 91, i16 8, i16 188, i16 9, i16 37, i16 169, i16 28, i16 464, i16 73, i16 281, i16 36, i16 437, i16 8, i16 468, i16 9, i16 360, i16 438, i16 127, i16 128, i16 473, i16 474, i16 198, i16 199, i16 476, i16 161, i16 162, i16 205, i16 369, i16 38, i16 208, i16 5, i16 138, i16 138, i16 214, i16 218, i16 40, i16 220, i16 5, i16 138, i16 455, i16 41, i16 354, i16 5, i16 167, i16 168, i16 43, i16 370, i16 371, i16 175, i16 176, i16 44, i16 372, i16 45, i16 6, i16 172, i16 235, i16 47, i16 373, i16 374, i16 7, i16 6, i16 375, i16 200, i16 201, i16 376, i16 6, i16 7, i16 236, i16 237, i16 291, i16 292, i16 7, i16 8, i16 50, i16 9, i16 52, i16 202, i16 441, i16 442, i16 8, i16 51, i16 9, i16 53, i16 314, i16 8, i16 59, i16 9, i16 60, i16 5, i16 66, i16 205, i16 67, i16 62, i16 78, i16 68, i16 267, i16 214, i16 69, i16 82, i16 271, i16 273, i16 319, i16 5, i16 444, i16 243, i16 67, i16 5, i16 138, i16 68, i16 458, i16 459, i16 6, i16 70, i16 5, i16 5, i16 280, i16 67, i16 7, i16 79, i16 68, i16 71, i16 400, i16 470, i16 471, i16 72, i16 6, i16 73, i16 83, i16 84, i16 6, i16 8, i16 7, i16 9, i16 85, i16 86, i16 7, i16 6, i16 6, i16 134, i16 315, i16 73, i16 95, i16 7, i16 7, i16 8, i16 321, i16 9, i16 98, i16 8, i16 96, i16 9, i16 73, i16 102, i16 103, i16 104, i16 8, i16 8, i16 9, i16 9, i16 109, i16 114, i16 105, i16 107, i16 108, i16 113, i16 121, i16 118, i16 334, i16 117, i16 119, i16 124, i16 120, i16 123, i16 132, i16 142, i16 136, i16 340, i16 137, i16 131, i16 147, i16 140, i16 149, i16 150, i16 158, i16 152, i16 153, i16 159, i16 174, i16 165, i16 315, i16 164, i16 173, i16 177, i16 178, i16 179, i16 182, i16 194, i16 403, i16 186, i16 181, i16 183, i16 189, i16 187, i16 190, i16 377, i16 191, i16 192, i16 195, i16 193, i16 219, i16 232, i16 197, i16 239, i16 206, i16 214, i16 207, i16 403, i16 225, i16 242, i16 227, i16 228, i16 229, i16 230, i16 233, i16 231, i16 241, i16 248, i16 276, i16 429, i16 251, i16 403, i16 243, i16 253, i16 433, i16 247, i16 252, i16 148, i16 255, i16 258, i16 256, i16 269, i16 259, i16 266, i16 166, i16 270, i16 274, i16 275, i16 277, i16 278, i16 282, i16 283, i16 285, i16 286, i16 448, i16 287, i16 288, i16 289, i16 318, i16 388, i16 234, i16 310, i16 290, i16 311, i16 312, i16 322, i16 320, i16 323, i16 325, i16 326, i16 214, i16 327, i16 472, i16 338, i16 341, i16 337, i16 346, i16 345, i16 435, i16 214, i16 347, i16 350, i16 351, i16 355, i16 356, i16 352, i16 357, i16 367, i16 368, i16 380, i16 358, i16 381, i16 385, i16 393, i16 386, i16 413, i16 395, i16 397, i16 399, i16 404, i16 405, i16 406, i16 411, i16 377, i16 414, i16 417, i16 363, i16 423, i16 415, i16 420, i16 260, i16 422, i16 440, i16 377, i16 424, i16 427, i16 434, i16 443, i16 445, i16 377, i16 446, i16 475, i16 449, i16 447, i16 465, i16 377, i16 377, i16 450, i16 451, i16 377, i16 457, i16 462, i16 460, i16 461, i16 466, i16 268, i16 469, i16 408, i16 426, i16 125, i16 421, i16 456, i16 409, i16 452, i16 430, i16 100, i16 0, i16 353, i16 0, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 212], align 2
22@dfg_lval = common global %union.yystype zeroinitializer, align 4
23@yydefact = internal unnamed_addr constant [477 x i8] c"\00\00\00\00\01bca`_\00\00\00\00\12\00\00\AE2\00\00\14\00\00G\00\00\08\00\1A\00\00\00\AF4h\00\00\00\0A\00\00 \02\00\00\00\00H\8C\00\00\00\00\00\00\00\16\18\00\00$\00\00\C0\B1\00\00~\00\00\00\00}56|\00\00\00i\A8\04\00\00\00\00\00\00\00\00\00\00\1C\1E\00\00*\00\00\C1\003\00\00\00>\00\008EF\00\00\00\8D\11\05\00\00\00\00\0C\00\15\17\00\00\00\00\22\00\00\00\C3\00\B0\00\88\00:\00?\00\00\8A\00\00\00\00\00\A9\09\00\0E\10\0F\00\00\00\0010\00\00\1B\1D\00\00\00\00&(\00\00\00\00\00\00\00\00\00\00\00\80\00I\00\00\AA\0B\00\00\00\00\19\00!#\00\00\00\00\00,.\13\C2\C4\B5\B3\00\00\00f;d\00B\00\00\8B\00\00\00\00\AC\06\00\00\03\1F\00%'\00\00\00\00\00\89\7F\00\00\00\00\00\00\00\00\00\00\00\8E\00\07\00\00\00+-\B4\00\00\00\00\B2\00e\009C\00@7DTmk\90\00\00\0D)\00\00\00\00\B6g\00\00\00[X]^YZ\00\5CUK\00\00\00M\00\81\00\AB\AD/\00\00\BC\00\BA\00\00=A\00\00\00\00\00\00\00\00\00\00\00\B8\00\B7\00\00\00\00L\00\00V\00Qoj\00\00\8F\00\00\BB\00<NJ\00P\00\00\00\00Kpq\83l\9F\9C\A2\A1\9D\9E\9B\A0\9A\00\98\BE\B9\00WR\00\00\00\00\00K\84\85\00\A3\00\00O\00r\00\00vx\00\00\00\00\A6\A7\00\00\99\BF\BD\00\00\00u\00n\00\00\00\00\00\00\00s\00w\87\00z\82\00\00\A4\00\00y\00\00\00\00S\00\00{\00\00\00\00\00\92\00\00\86\94\00\A5t\00\00\93\00\00\00\00\91\95\00\00\00\96\00\97", align 1
24@yyr2 = internal unnamed_addr constant [197 x i8] c"\00\02\0A\0B\05\05\05\05\00\05\00\05\00\05\01\01\01\06\00\09\00\05\01\03\01\05\00\05\01\03\01\05\00\05\01\03\00\05\01\03\01\05\00\05\01\03\01\05\01\01\00\05\00\02\01\07\02\07\00\00\0B\09\00\01\01\03\01\03\08\01\01\00\02\00\07\00\02\01\04\06\04\00\00\0A\00\01\01\03\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\04\00\02\0A\00\0B\00\07\00\01\01\00\00\0A\04\01\03\01\04\01\03\01\01\01\06\04\00\07\00\01\01\08\04\01\04\01\03\00\02\00\09\00\0F\01\03\00\04\03\05\00\03\01\01\01\01\01\01\01\01\01\00\03\07\01\01\00\02\00\06\00\03\00\02\05\00\09\01\03\00\03\04\04\06\01\03\01\06\00\02\01\02\05\01\03", align 1
25@dfg_DESC.0 = internal unnamed_addr global i8* null
26@dfg_DESC.1 = internal unnamed_addr global i8* null
27@dfg_DESC.2 = internal unnamed_addr global i8* null
28@dfg_DESC.3 = internal unnamed_addr global i8* null
29@dfg_DESC.4 = internal unnamed_addr global i32 0
30@dfg_DESC.5 = internal unnamed_addr global i8* null
31@dfg_DESC.6 = internal unnamed_addr global i8* null
32@dfg_SORTDECLLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
33@dfg_AXIOMLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
34@dfg_CONJECLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
35@dfg_IGNORE = internal unnamed_addr global i32 0, align 4
36@.str = private unnamed_addr constant [9 x i8] c"set_flag\00", align 1
37@.str1 = private unnamed_addr constant [12 x i8] c"set_DomPred\00", align 1
38@.str2 = private unnamed_addr constant [15 x i8] c"set_precedence\00", align 1
39@stdout = external global %struct._IO_FILE*
40@.str3 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol is not a variable.\0A\00", align 1
41@dfg_LINENUMBER = common global i32 0, align 4
42@.str4 = private unnamed_addr constant [39 x i8] c"\0A Line %d: Symbol is not a predicate.\0A\00", align 1
43@dfg_AXCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null, align 4
44@dfg_CONCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null, align 4
45@.str5 = private unnamed_addr constant [6 x i8] c"SPASS\00", align 1
46@dfg_PROOFLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
47@.str6 = private unnamed_addr constant [11 x i8] c"splitlevel\00", align 1
48@dfg_TERMLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
49@dfg_IGNORETEXT = common global i32 0, align 4
50@.str7 = private unnamed_addr constant [22 x i8] c"\0A Undefined symbol %s\00", align 1
51@.str8 = private unnamed_addr constant [19 x i8] c" in DomPred list.\0A\00", align 1
52@.str9 = private unnamed_addr constant [30 x i8] c"\0A Symbol %s isn't a predicate\00", align 1
53@.str10 = private unnamed_addr constant [24 x i8] c"\0A Found unknown flag %s\00", align 1
54@dfg_FLAGS = internal unnamed_addr global i32* null, align 4
55@.str11 = private unnamed_addr constant [23 x i8] c"\0A Undefined symbol %s \00", align 1
56@.str12 = private unnamed_addr constant [22 x i8] c" in precedence list.\0A\00", align 1
57@dfg_PRECEDENCE = internal unnamed_addr global i32* null, align 4
58@dfg_USERPRECEDENCE = internal unnamed_addr global %struct.LIST_HELP* null, align 4
59@.str13 = private unnamed_addr constant [21 x i8] c"in precedence list.\0A\00", align 1
60@.str14 = private unnamed_addr constant [27 x i8] c"\0A Invalid symbol status %s\00", align 1
61@.str15 = private unnamed_addr constant [21 x i8] c" in precedence list.\00", align 1
62@yyr1 = internal unnamed_addr constant [197 x i8] c"\00GHIJKLMNNOOPPQQQRSSTTUUVVWWXXYYZZ[[\5C\5C]]^^__``aabbccddeeeefgehiijjkklmmnnooppqqqqrsqttuuvvvwwxxyyyyyzz{{||}~}\7F\7F\80\80\81\82\83\81\84\85\85\86\86\87\87\88\88\88\88\88\89\89\8A\8A\8B\8B\8C\8D\8D\8E\8E\8F\8F\91\90\92\92\93\93\94\94\95\95\97\96\98\98\98\98\98\98\98\98\98\99\99\99\9A\9A\9B\9B\9D\9C\9E\9E\9F\9F\A0\A1\A0\A2\A2\A3\A3\A4\A4\A4\A5\A5\A6\A6\A7\A7\A8\A8\A9\AA\AA", align 1
63@yypgoto = internal unnamed_addr constant [100 x i16] [i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 392, i16 -356, i16 -356, i16 259, i16 -356, i16 -356, i16 -356, i16 -356, i16 202, i16 -356, i16 -356, i16 216, i16 -152, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 267, i16 -356, i16 -356, i16 -340, i16 -267, i16 -356, i16 -356, i16 -356, i16 70, i16 -356, i16 -356, i16 -356, i16 -3, i16 -355, i16 235, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 87, i16 -356, i16 -356, i16 33, i16 78, i16 68, i16 -356, i16 -45, i16 -356, i16 -356, i16 92, i16 39, i16 -101, i16 328, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -308, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 154, i16 -356, i16 -356, i16 425, i16 207], align 2
64@yydefgoto = internal unnamed_addr constant [100 x i16] [i16 -1, i16 2, i16 14, i16 20, i16 27, i16 87, i16 122, i16 39, i16 54, i16 160, i16 157, i16 17, i16 18, i16 29, i16 56, i16 57, i16 42, i16 92, i16 93, i16 61, i16 129, i16 97, i16 170, i16 171, i16 133, i16 203, i16 204, i16 163, i16 24, i16 46, i16 74, i16 180, i16 244, i16 75, i16 143, i16 272, i16 217, i16 48, i16 112, i16 35, i16 222, i16 324, i16 343, i16 361, i16 398, i16 302, i16 344, i16 303, i16 304, i16 305, i16 76, i16 215, i16 216, i16 49, i16 80, i16 308, i16 307, i16 364, i16 365, i16 416, i16 439, i16 366, i16 401, i16 402, i16 432, i16 306, i16 330, i16 390, i16 391, i16 392, i16 145, i16 146, i16 81, i16 115, i16 279, i16 309, i16 453, i16 463, i16 467, i16 378, i16 394, i16 379, i16 412, i16 410, i16 116, i16 151, i16 226, i16 254, i16 22, i16 33, i16 101, i16 211, i16 238, i16 265, i16 316, i16 317, i16 396, i16 63, i16 64, i16 135], align 2
65@yytname = internal unnamed_addr constant [172 x i8*] [i8* getelementptr inbounds ([5 x i8]* @.str60, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str61, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str62, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str63, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str64, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str65, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str66, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str67, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str68, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str69, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str70, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str71, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str72, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str73, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str74, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str75, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str76, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str77, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str78, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str79, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str80, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str81, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str82, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str83, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str84, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str85, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str86, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str87, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str88, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str89, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str90, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str91, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str92, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str93, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str94, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str95, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str96, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str97, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str98, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str99, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str100, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str101, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str102, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str103, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str104, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str105, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str106, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str107, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str108, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str109, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str110, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str111, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str112, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str113, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str114, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str115, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str116, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str117, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str118, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str119, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str120, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str121, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str122, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str123, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str124, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str125, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str126, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str127, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str128, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str129, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str130, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str131, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str132, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str133, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str134, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str135, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str136, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str137, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str138, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str139, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str140, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str141, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str142, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str143, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str144, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str145, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str146, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str147, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str148, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str149, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str150, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str151, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str152, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str153, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str154, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str155, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str156, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str157, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str158, i32 0, i32 0), i8* getelementptr inbounds ([19 x i8]* @.str159, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str160, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str161, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str162, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str163, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str164, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str165, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str166, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str167, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str168, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str169, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8]* @.str170, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str171, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str172, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str173, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str174, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str175, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str176, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str177, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str178, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str179, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str180, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str181, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str182, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str183, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str184, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str185, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str186, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str187, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str188, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str189, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str190, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str191, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str192, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str193, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str194, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str195, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str196, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str197, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str198, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str199, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str200, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str201, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str202, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str203, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str204, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str205, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str206, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str207, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str208, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str209, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str210, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str212, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str213, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str214, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str215, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str216, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str217, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str218, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8]* @.str219, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str220, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str221, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str222, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str223, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str224, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str225, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str226, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str227, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str228, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str229, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str230, i32 0, i32 0), i8* null], align 4
66@.str16 = private unnamed_addr constant [25 x i8] c"parse error, unexpected \00", align 1
67@.str17 = private unnamed_addr constant [13 x i8] c", expecting \00", align 1
68@.str18 = private unnamed_addr constant [5 x i8] c" or \00", align 1
69@.str20 = private unnamed_addr constant [12 x i8] c"parse error\00", align 1
70@.str21 = private unnamed_addr constant [22 x i8] c"parser stack overflow\00", align 1
71@.str22 = private unnamed_addr constant [15 x i8] c"\0A Line %i: %s\0A\00", align 1
72@.str24 = private unnamed_addr constant [12 x i8] c"satisfiable\00", align 1
73@.str25 = private unnamed_addr constant [14 x i8] c"unsatisfiable\00", align 1
74@.str26 = private unnamed_addr constant [8 x i8] c"unknown\00", align 1
75@stderr = external global %struct._IO_FILE*
76@.str27 = private unnamed_addr constant [31 x i8] c"\0A\09Error in file %s at line %d\0A\00", align 1
77@.str28 = private unnamed_addr constant [12 x i8] c"dfgparser.y\00", align 1
78@.str29 = private unnamed_addr constant [47 x i8] c"\0A In dfg_ProblemStatusString: Invalid status.\0A\00", align 1
79@.str30 = private unnamed_addr constant [133 x i8] c"\0A Please report this error via email to spass@mpi-sb.mpg.de including\0A the SPASS version, input problem, options, operating system.\0A\00", align 1
80@.str31 = private unnamed_addr constant [30 x i8] c"list_of_descriptions.\0A name(\00", align 1
81@.str32 = private unnamed_addr constant [6 x i8] c"{* *}\00", align 1
82@.str33 = private unnamed_addr constant [13 x i8] c").\0A author(\00", align 1
83@.str34 = private unnamed_addr constant [4 x i8] c").\0A\00", align 1
84@.str35 = private unnamed_addr constant [11 x i8] c" version(\00", align 1
85@.str36 = private unnamed_addr constant [9 x i8] c" logic(\00", align 1
86@.str37 = private unnamed_addr constant [10 x i8] c" status(\00", align 1
87@.str38 = private unnamed_addr constant [18 x i8] c").\0A description(\00", align 1
88@.str39 = private unnamed_addr constant [8 x i8] c" date(\00", align 1
89@.str40 = private unnamed_addr constant [13 x i8] c"end_of_list.\00", align 1
90@dfg_VARLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
91@.str41 = private unnamed_addr constant [55 x i8] c"\0A In dfg_VarCheck: List of variables should be empty!\0A\00", align 1
92@symbol_STANDARDVARCOUNTER = external global i32
93@memory_FREEDBYTES = external global i32
94@memory_ARRAY = external global [0 x %struct.MEMORY_RESOURCEHELP*]
95@dfg_VARDECL = internal unnamed_addr global i1 false
96@dfg_SYMBOLLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
97@symbol_TYPESTATBITS = external constant i32
98@symbol_SIGNATURE = external global %struct.signature**
99@.str42 = private unnamed_addr constant [44 x i8] c"\0A Line %d: Symbol is not a sort predicate.\0A\00", align 1
100@.str43 = private unnamed_addr constant [33 x i8] c"\0A Line %d: undefined symbol %s.\0A\00", align 1
101@.str44 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol is not a function.\0A\00", align 1
102@symbol_TYPEMASK = external constant i32
103@fol_FALSE = external global i32
104@fol_TRUE = external global i32
105@.str45 = private unnamed_addr constant [33 x i8] c"\0A Line %d: Undefined symbol %s.\0A\00", align 1
106@.str46 = private unnamed_addr constant [30 x i8] c"\0A Line %u: Free Variable %s.\0A\00", align 1
107@.str47 = private unnamed_addr constant [11 x i8] c"\0A Line %u:\00", align 1
108@.str48 = private unnamed_addr constant [21 x i8] c" The actual arity %u\00", align 1
109@.str49 = private unnamed_addr constant [22 x i8] c" of symbol %s differs\00", align 1
110@.str50 = private unnamed_addr constant [30 x i8] c" from the previous arity %u.\0A\00", align 1
111@.str51 = private unnamed_addr constant [50 x i8] c"\0A Line %u: Symbol %s was declared with arity %u.\0A\00", align 1
112@.str52 = private unnamed_addr constant [58 x i8] c"\0A Line %u: symbols with arbitrary arity are not allowed.\0A\00", align 1
113@.str53 = private unnamed_addr constant [46 x i8] c"\0A Line %u: symbol %s was already declared as \00", align 1
114@.str54 = private unnamed_addr constant [11 x i8] c"function.\0A\00", align 1
115@.str55 = private unnamed_addr constant [12 x i8] c"predicate.\0A\00", align 1
116@.str56 = private unnamed_addr constant [10 x i8] c"junctor.\0A\00", align 1
117@.str57 = private unnamed_addr constant [15 x i8] c"unknown type.\0A\00", align 1
118@.str58 = private unnamed_addr constant [57 x i8] c"\0A Line %u: symbol %s was already declared with arity %d\0A\00", align 1
119@stack_POINTER = external global i32
120@dfg_in = external global %struct._IO_FILE*
121@.str59 = private unnamed_addr constant [3 x i8] c"\0A\0A\00", align 1
122@.str60 = private unnamed_addr constant [5 x i8] c"$end\00", align 1
123@.str61 = private unnamed_addr constant [6 x i8] c"error\00", align 1
124@.str62 = private unnamed_addr constant [11 x i8] c"$undefined\00", align 1
125@.str63 = private unnamed_addr constant [8 x i8] c"DFG_AND\00", align 1
126@.str64 = private unnamed_addr constant [11 x i8] c"DFG_AUTHOR\00", align 1
127@.str65 = private unnamed_addr constant [11 x i8] c"DFG_AXIOMS\00", align 1
128@.str66 = private unnamed_addr constant [12 x i8] c"DFG_BEGPROB\00", align 1
129@.str67 = private unnamed_addr constant [7 x i8] c"DFG_BY\00", align 1
130@.str68 = private unnamed_addr constant [11 x i8] c"DFG_CLAUSE\00", align 1
131@.str69 = private unnamed_addr constant [15 x i8] c"DFG_CLOSEBRACE\00", align 1
132@.str70 = private unnamed_addr constant [12 x i8] c"DFG_CLSLIST\00", align 1
133@.str71 = private unnamed_addr constant [8 x i8] c"DFG_CNF\00", align 1
134@.str72 = private unnamed_addr constant [12 x i8] c"DFG_CONJECS\00", align 1
135@.str73 = private unnamed_addr constant [9 x i8] c"DFG_DATE\00", align 1
136@.str74 = private unnamed_addr constant [13 x i8] c"DFG_DECLLIST\00", align 1
137@.str75 = private unnamed_addr constant [9 x i8] c"DFG_DESC\00", align 1
138@.str76 = private unnamed_addr constant [13 x i8] c"DFG_DESCLIST\00", align 1
139@.str77 = private unnamed_addr constant [8 x i8] c"DFG_DNF\00", align 1
140@.str78 = private unnamed_addr constant [12 x i8] c"DFG_DOMPRED\00", align 1
141@.str79 = private unnamed_addr constant [12 x i8] c"DFG_ENDLIST\00", align 1
142@.str80 = private unnamed_addr constant [12 x i8] c"DFG_ENDPROB\00", align 1
143@.str81 = private unnamed_addr constant [10 x i8] c"DFG_EQUAL\00", align 1
144@.str82 = private unnamed_addr constant [10 x i8] c"DFG_EQUIV\00", align 1
145@.str83 = private unnamed_addr constant [11 x i8] c"DFG_EXISTS\00", align 1
146@.str84 = private unnamed_addr constant [10 x i8] c"DFG_FALSE\00", align 1
147@.str85 = private unnamed_addr constant [13 x i8] c"DFG_FORMLIST\00", align 1
148@.str86 = private unnamed_addr constant [12 x i8] c"DFG_FORMULA\00", align 1
149@.str87 = private unnamed_addr constant [11 x i8] c"DFG_FORALL\00", align 1
150@.str88 = private unnamed_addr constant [11 x i8] c"DFG_FREELY\00", align 1
151@.str89 = private unnamed_addr constant [9 x i8] c"DFG_FUNC\00", align 1
152@.str90 = private unnamed_addr constant [14 x i8] c"DFG_GENERATED\00", align 1
153@.str91 = private unnamed_addr constant [11 x i8] c"DFG_GENSET\00", align 1
154@.str92 = private unnamed_addr constant [11 x i8] c"DFG_HYPOTH\00", align 1
155@.str93 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIED\00", align 1
156@.str94 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIES\00", align 1
157@.str95 = private unnamed_addr constant [10 x i8] c"DFG_LOGIC\00", align 1
158@.str96 = private unnamed_addr constant [9 x i8] c"DFG_NAME\00", align 1
159@.str97 = private unnamed_addr constant [8 x i8] c"DFG_NOT\00", align 1
160@.str98 = private unnamed_addr constant [14 x i8] c"DFG_OPENBRACE\00", align 1
161@.str99 = private unnamed_addr constant [11 x i8] c"DFG_OPERAT\00", align 1
162@.str100 = private unnamed_addr constant [7 x i8] c"DFG_OR\00", align 1
163@.str101 = private unnamed_addr constant [9 x i8] c"DFG_PREC\00", align 1
164@.str102 = private unnamed_addr constant [9 x i8] c"DFG_PRED\00", align 1
165@.str103 = private unnamed_addr constant [12 x i8] c"DFG_PRDICAT\00", align 1
166@.str104 = private unnamed_addr constant [12 x i8] c"DFG_PRFLIST\00", align 1
167@.str105 = private unnamed_addr constant [12 x i8] c"DFG_QUANTIF\00", align 1
168@.str106 = private unnamed_addr constant [10 x i8] c"DFG_SATIS\00", align 1
169@.str107 = private unnamed_addr constant [12 x i8] c"DFG_SETFLAG\00", align 1
170@.str108 = private unnamed_addr constant [13 x i8] c"DFG_SETTINGS\00", align 1
171@.str109 = private unnamed_addr constant [12 x i8] c"DFG_SYMLIST\00", align 1
172@.str110 = private unnamed_addr constant [9 x i8] c"DFG_SORT\00", align 1
173@.str111 = private unnamed_addr constant [10 x i8] c"DFG_SORTS\00", align 1
174@.str112 = private unnamed_addr constant [11 x i8] c"DFG_STATUS\00", align 1
175@.str113 = private unnamed_addr constant [9 x i8] c"DFG_STEP\00", align 1
176@.str114 = private unnamed_addr constant [12 x i8] c"DFG_SUBSORT\00", align 1
177@.str115 = private unnamed_addr constant [13 x i8] c"DFG_TERMLIST\00", align 1
178@.str116 = private unnamed_addr constant [9 x i8] c"DFG_TRUE\00", align 1
179@.str117 = private unnamed_addr constant [12 x i8] c"DFG_UNKNOWN\00", align 1
180@.str118 = private unnamed_addr constant [12 x i8] c"DFG_UNSATIS\00", align 1
181@.str119 = private unnamed_addr constant [12 x i8] c"DFG_VERSION\00", align 1
182@.str120 = private unnamed_addr constant [8 x i8] c"DFG_NUM\00", align 1
183@.str121 = private unnamed_addr constant [11 x i8] c"DFG_MINUS1\00", align 1
184@.str122 = private unnamed_addr constant [7 x i8] c"DFG_ID\00", align 1
185@.str123 = private unnamed_addr constant [9 x i8] c"DFG_TEXT\00", align 1
186@.str124 = private unnamed_addr constant [4 x i8] c"'('\00", align 1
187@.str125 = private unnamed_addr constant [4 x i8] c"')'\00", align 1
188@.str126 = private unnamed_addr constant [4 x i8] c"'.'\00", align 1
189@.str127 = private unnamed_addr constant [4 x i8] c"'['\00", align 1
190@.str128 = private unnamed_addr constant [4 x i8] c"']'\00", align 1
191@.str129 = private unnamed_addr constant [4 x i8] c"','\00", align 1
192@.str130 = private unnamed_addr constant [4 x i8] c"':'\00", align 1
193@.str131 = private unnamed_addr constant [8 x i8] c"$accept\00", align 1
194@.str132 = private unnamed_addr constant [8 x i8] c"problem\00", align 1
195@.str133 = private unnamed_addr constant [12 x i8] c"description\00", align 1
196@.str134 = private unnamed_addr constant [5 x i8] c"name\00", align 1
197@.str135 = private unnamed_addr constant [7 x i8] c"author\00", align 1
198@.str136 = private unnamed_addr constant [7 x i8] c"status\00", align 1
199@.str137 = private unnamed_addr constant [9 x i8] c"desctext\00", align 1
200@.str138 = private unnamed_addr constant [11 x i8] c"versionopt\00", align 1
201@.str139 = private unnamed_addr constant [9 x i8] c"logicopt\00", align 1
202@.str140 = private unnamed_addr constant [8 x i8] c"dateopt\00", align 1
203@.str141 = private unnamed_addr constant [10 x i8] c"log_state\00", align 1
204@.str142 = private unnamed_addr constant [12 x i8] c"logicalpart\00", align 1
205@.str143 = private unnamed_addr constant [14 x i8] c"symbollistopt\00", align 1
206@.str144 = private unnamed_addr constant [13 x i8] c"functionsopt\00", align 1
207@.str145 = private unnamed_addr constant [13 x i8] c"functionlist\00", align 1
208@.str146 = private unnamed_addr constant [5 x i8] c"func\00", align 1
209@.str147 = private unnamed_addr constant [14 x i8] c"predicatesopt\00", align 1
210@.str148 = private unnamed_addr constant [14 x i8] c"predicatelist\00", align 1
211@.str149 = private unnamed_addr constant [5 x i8] c"pred\00", align 1
212@.str150 = private unnamed_addr constant [9 x i8] c"sortsopt\00", align 1
213@.str151 = private unnamed_addr constant [9 x i8] c"sortlist\00", align 1
214@.str152 = private unnamed_addr constant [13 x i8] c"operatorsopt\00", align 1
215@.str153 = private unnamed_addr constant [13 x i8] c"operatorlist\00", align 1
216@.str154 = private unnamed_addr constant [3 x i8] c"op\00", align 1
217@.str155 = private unnamed_addr constant [15 x i8] c"quantifiersopt\00", align 1
218@.str156 = private unnamed_addr constant [15 x i8] c"quantifierlist\00", align 1
219@.str157 = private unnamed_addr constant [6 x i8] c"quant\00", align 1
220@.str158 = private unnamed_addr constant [7 x i8] c"number\00", align 1
221@.str159 = private unnamed_addr constant [19 x i8] c"declarationlistopt\00", align 1
222@.str160 = private unnamed_addr constant [12 x i8] c"decllistopt\00", align 1
223@.str161 = private unnamed_addr constant [5 x i8] c"decl\00", align 1
224@.str162 = private unnamed_addr constant [3 x i8] c"@1\00", align 1
225@.str163 = private unnamed_addr constant [3 x i8] c"@2\00", align 1
226@.str164 = private unnamed_addr constant [8 x i8] c"gendecl\00", align 1
227@.str165 = private unnamed_addr constant [10 x i8] c"freelyopt\00", align 1
228@.str166 = private unnamed_addr constant [9 x i8] c"funclist\00", align 1
229@.str167 = private unnamed_addr constant [9 x i8] c"sortdecl\00", align 1
230@.str168 = private unnamed_addr constant [12 x i8] c"formulalist\00", align 1
231@.str169 = private unnamed_addr constant [7 x i8] c"origin\00", align 1
232@.str170 = private unnamed_addr constant [16 x i8] c"formulalistsopt\00", align 1
233@.str171 = private unnamed_addr constant [15 x i8] c"formulalistopt\00", align 1
234@.str172 = private unnamed_addr constant [9 x i8] c"labelopt\00", align 1
235@.str173 = private unnamed_addr constant [8 x i8] c"formula\00", align 1
236@.str174 = private unnamed_addr constant [3 x i8] c"@3\00", align 1
237@.str175 = private unnamed_addr constant [3 x i8] c"@4\00", align 1
238@.str176 = private unnamed_addr constant [11 x i8] c"formulaopt\00", align 1
239@.str177 = private unnamed_addr constant [8 x i8] c"arglist\00", align 1
240@.str178 = private unnamed_addr constant [10 x i8] c"binsymbol\00", align 1
241@.str179 = private unnamed_addr constant [8 x i8] c"nsymbol\00", align 1
242@.str180 = private unnamed_addr constant [12 x i8] c"quantsymbol\00", align 1
243@.str181 = private unnamed_addr constant [3 x i8] c"id\00", align 1
244@.str182 = private unnamed_addr constant [10 x i8] c"qtermlist\00", align 1
245@.str183 = private unnamed_addr constant [6 x i8] c"qterm\00", align 1
246@.str184 = private unnamed_addr constant [15 x i8] c"clauselistsopt\00", align 1
247@.str185 = private unnamed_addr constant [11 x i8] c"clauselist\00", align 1
248@.str186 = private unnamed_addr constant [3 x i8] c"@5\00", align 1
249@.str187 = private unnamed_addr constant [14 x i8] c"cnfclausesopt\00", align 1
250@.str188 = private unnamed_addr constant [13 x i8] c"cnfclauseopt\00", align 1
251@.str189 = private unnamed_addr constant [10 x i8] c"cnfclause\00", align 1
252@.str190 = private unnamed_addr constant [3 x i8] c"@6\00", align 1
253@.str191 = private unnamed_addr constant [3 x i8] c"@7\00", align 1
254@.str192 = private unnamed_addr constant [14 x i8] c"cnfclausebody\00", align 1
255@.str193 = private unnamed_addr constant [8 x i8] c"litlist\00", align 1
256@.str194 = private unnamed_addr constant [4 x i8] c"lit\00", align 1
257@.str195 = private unnamed_addr constant [9 x i8] c"atomlist\00", align 1
258@.str196 = private unnamed_addr constant [5 x i8] c"atom\00", align 1
259@.str197 = private unnamed_addr constant [14 x i8] c"dnfclausesopt\00", align 1
260@.str198 = private unnamed_addr constant [13 x i8] c"dnfclauseopt\00", align 1
261@.str199 = private unnamed_addr constant [10 x i8] c"dnfclause\00", align 1
262@.str200 = private unnamed_addr constant [14 x i8] c"dnfclausebody\00", align 1
263@.str201 = private unnamed_addr constant [5 x i8] c"term\00", align 1
264@.str202 = private unnamed_addr constant [9 x i8] c"termlist\00", align 1
265@.str203 = private unnamed_addr constant [14 x i8] c"prooflistsopt\00", align 1
266@.str204 = private unnamed_addr constant [10 x i8] c"prooflist\00", align 1
267@.str205 = private unnamed_addr constant [3 x i8] c"@8\00", align 1
268@.str206 = private unnamed_addr constant [13 x i8] c"prooflistopt\00", align 1
269@.str207 = private unnamed_addr constant [11 x i8] c"parentlist\00", align 1
270@.str208 = private unnamed_addr constant [13 x i8] c"assoclistopt\00", align 1
271@.str209 = private unnamed_addr constant [10 x i8] c"assoclist\00", align 1
272@.str210 = private unnamed_addr constant [14 x i8] c"id_or_formula\00", align 1
273@.str211 = private unnamed_addr constant [3 x i8] c"@9\00", align 1
274@.str212 = private unnamed_addr constant [10 x i8] c"anysymbol\00", align 1
275@.str213 = private unnamed_addr constant [8 x i8] c"optargs\00", align 1
276@.str214 = private unnamed_addr constant [7 x i8] c"clause\00", align 1
277@.str215 = private unnamed_addr constant [15 x i8] c"listOfTermsopt\00", align 1
278@.str216 = private unnamed_addr constant [12 x i8] c"listOfTerms\00", align 1
279@.str217 = private unnamed_addr constant [4 x i8] c"@10\00", align 1
280@.str218 = private unnamed_addr constant [6 x i8] c"terms\00", align 1
281@.str219 = private unnamed_addr constant [16 x i8] c"settinglistsopt\00", align 1
282@.str220 = private unnamed_addr constant [12 x i8] c"settinglist\00", align 1
283@.str221 = private unnamed_addr constant [4 x i8] c"@11\00", align 1
284@.str222 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
285@.str223 = private unnamed_addr constant [11 x i8] c"spassflags\00", align 1
286@.str224 = private unnamed_addr constant [10 x i8] c"spassflag\00", align 1
287@.str225 = private unnamed_addr constant [9 x i8] c"preclist\00", align 1
288@.str226 = private unnamed_addr constant [9 x i8] c"precitem\00", align 1
289@.str227 = private unnamed_addr constant [8 x i8] c"statopt\00", align 1
290@.str228 = private unnamed_addr constant [10 x i8] c"gsettings\00", align 1
291@.str229 = private unnamed_addr constant [9 x i8] c"gsetting\00", align 1
292@.str230 = private unnamed_addr constant [10 x i8] c"labellist\00", align 1
293@.str231 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag value %d is too small for flag %s.\0A\00", align 1
294@.str232 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag value %d is too large for flag %s.\0A\00", align 1
295@.str233 = private unnamed_addr constant [31 x i8] c"\0A Line %d: is not a function.\0A\00", align 1
296@fol_EQUALITY = external global i32
297@stack_STACK = external global [10000 x i8*]
298@fol_EXIST = external global i32
299@fol_OR = external global i32
300@fol_AND = external global i32
301@fol_IMPLIES = external global i32
302@fol_IMPLIED = external global i32
303@fol_EQUIV = external global i32
304@fol_NOT = external global i32
305@fol_ALL = external global i32
306
307; Function Attrs: nounwind
308define i32 @dfg_parse() #0 {
309entry:
310 %yyssa = alloca [200 x i16], align 2
311 %yyvsa = alloca [200 x %union.yystype], align 4
312 %yyval = alloca %union.yystype, align 4
313 %0 = bitcast [200 x i16]* %yyssa to i8*
314 call void @llvm.lifetime.start(i64 400, i8* %0) #1
315 %arraydecay = getelementptr inbounds [200 x i16]* %yyssa, i32 0, i32 0
316 %1 = bitcast [200 x %union.yystype]* %yyvsa to i8*
317 call void @llvm.lifetime.start(i64 800, i8* %1) #1
318 %arraydecay1 = getelementptr inbounds [200 x %union.yystype]* %yyvsa, i32 0, i32 0
319 store i32 0, i32* @dfg_nerrs, align 4
320 store i32 -2, i32* @dfg_char, align 4
321 %2 = getelementptr inbounds %union.yystype* %yyval, i32 0, i32 0
322 %3 = load i32* @symbol_TYPEMASK, align 4
323 %4 = load i32* @symbol_TYPESTATBITS, align 4
324 br label %yysetstate
325
326yynewstate: ; preds = %if.then1223, %if.else1226, %if.end100
327 %yyvsp.0 = phi %union.yystype* [ %incdec.ptr1204, %if.then1223 ], [ %incdec.ptr1204, %if.else1226 ], [ %incdec.ptr101, %if.end100 ]
328 %yyssp.0 = phi i16* [ %add.ptr1203, %if.then1223 ], [ %add.ptr1203, %if.else1226 ], [ %yyssp.2, %if.end100 ]
329 %yystate.0 = phi i32 [ %conv1225, %if.then1223 ], [ %conv1229, %if.else1226 ], [ %conv81, %if.end100 ]
330 %incdec.ptr = getelementptr inbounds i16* %yyssp.0, i32 1
331 br label %yysetstate
332
333yysetstate: ; preds = %yynewstate, %entry
334 %yystacksize.0 = phi i32 [ 200, %entry ], [ %yystacksize.1, %yynewstate ]
335 %yyvsp.1 = phi %union.yystype* [ %arraydecay1, %entry ], [ %yyvsp.0, %yynewstate ]
336 %yyvs.0 = phi %union.yystype* [ %arraydecay1, %entry ], [ %yyvs.1, %yynewstate ]
337 %yyssp.1 = phi i16* [ %arraydecay, %entry ], [ %incdec.ptr, %yynewstate ]
338 %yyss.0 = phi i16* [ %arraydecay, %entry ], [ %yyss.1, %yynewstate ]
339 %yystate.1 = phi i32 [ 0, %entry ], [ %yystate.0, %yynewstate ]
340 %conv = trunc i32 %yystate.1 to i16
341 store i16 %conv, i16* %yyssp.1, align 2
342 %add.ptr.sum = add i32 %yystacksize.0, -1
343 %add.ptr2 = getelementptr inbounds i16* %yyss.0, i32 %add.ptr.sum
344 %cmp = icmp ult i16* %yyssp.1, %add.ptr2
345 br i1 %cmp, label %yybackup, label %if.then
346
347if.then: ; preds = %yysetstate
348 %sub.ptr.lhs.cast = ptrtoint i16* %yyssp.1 to i32
349 %sub.ptr.rhs.cast = ptrtoint i16* %yyss.0 to i32
350 %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
351 %sub.ptr.div = ashr exact i32 %sub.ptr.sub, 1
352 %add = add nsw i32 %sub.ptr.div, 1
353 %cmp4 = icmp ugt i32 %yystacksize.0, 9999
354 br i1 %cmp4, label %yyoverflowlab, label %if.end
355
356if.end: ; preds = %if.then
357 %mul = shl i32 %yystacksize.0, 1
358 %cmp7 = icmp ugt i32 %mul, 10000
359 %.mul = select i1 %cmp7, i32 10000, i32 %mul
360 %mul11 = mul i32 %.mul, 6
361 %add121756 = or i32 %mul11, 3
362 %5 = alloca i8, i32 %add121756, align 4
363 %6 = bitcast i8* %5 to %union.yyalloc*
364 %yyss15 = bitcast i8* %5 to i16*
365 %7 = bitcast i16* %yyss.0 to i8*
366 %mul16 = shl i32 %add, 1
367 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %7, i32 %mul16, i32 2, i1 false)
368 %8 = lshr exact i32 %.mul, 1
369 %div = and i32 %8, 1073741823
370 %yyvs23 = getelementptr inbounds %union.yyalloc* %6, i32 %div, i32 0
371 %9 = bitcast %union.yystype* %yyvs23 to i8*
372 %10 = bitcast %union.yystype* %yyvs.0 to i8*
373 %mul24 = shl i32 %add, 2
374 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* %10, i32 %mul24, i32 4, i1 false)
375 %add.ptr41 = getelementptr inbounds i16* %yyss15, i32 %sub.ptr.div
376 %add.ptr43 = getelementptr inbounds %union.yystype* %yyvs23, i32 %sub.ptr.div
377 %add.ptr44.sum = add i32 %.mul, -1
378 %cmp46 = icmp slt i32 %sub.ptr.div, %add.ptr44.sum
379 br i1 %cmp46, label %yybackup, label %yyreturn
380
381yybackup: ; preds = %if.end, %yysetstate
382 %yystacksize.1 = phi i32 [ %.mul, %if.end ], [ %yystacksize.0, %yysetstate ]
383 %yyvsp.2 = phi %union.yystype* [ %add.ptr43, %if.end ], [ %yyvsp.1, %yysetstate ]
384 %yyvs.1 = phi %union.yystype* [ %yyvs23, %if.end ], [ %yyvs.0, %yysetstate ]
385 %yyssp.2 = phi i16* [ %add.ptr41, %if.end ], [ %yyssp.1, %yysetstate ]
386 %yyss.1 = phi i16* [ %yyss15, %if.end ], [ %yyss.0, %yysetstate ]
387 %arrayidx = getelementptr inbounds [477 x i16]* @yypact, i32 0, i32 %yystate.1
388 %11 = load i16* %arrayidx, align 2
389 %conv51 = sext i16 %11 to i32
390 %cmp52 = icmp eq i16 %11, -356
391 br i1 %cmp52, label %yydefault, label %if.end55
392
393if.end55: ; preds = %yybackup
394 %12 = load i32* @dfg_char, align 4
395 %cmp56 = icmp eq i32 %12, -2
396 br i1 %cmp56, label %if.then58, label %if.end59
397
398if.then58: ; preds = %if.end55
399 %call = call i32 @dfg_lex() #1
400 store i32 %call, i32* @dfg_char, align 4
401 br label %if.end59
402
403if.end59: ; preds = %if.then58, %if.end55
404 %13 = phi i32 [ %call, %if.then58 ], [ %12, %if.end55 ]
405 %cmp60 = icmp slt i32 %13, 1
406 br i1 %cmp60, label %if.then62, label %if.else
407
408if.then62: ; preds = %if.end59
409 store i32 0, i32* @dfg_char, align 4
410 br label %if.end67
411
412if.else: ; preds = %if.end59
413 %cmp63 = icmp ult i32 %13, 319
414 br i1 %cmp63, label %cond.true, label %if.end67
415
416cond.true: ; preds = %if.else
417 %arrayidx65 = getelementptr inbounds [319 x i8]* @yytranslate, i32 0, i32 %13
418 %14 = load i8* %arrayidx65, align 1
419 %conv66 = zext i8 %14 to i32
420 br label %if.end67
421
422if.end67: ; preds = %cond.true, %if.else, %if.then62
423 %15 = phi i32 [ 0, %if.then62 ], [ %13, %cond.true ], [ %13, %if.else ]
424 %yychar1.2 = phi i32 [ 0, %if.then62 ], [ %conv66, %cond.true ], [ 2, %if.else ]
425 %add68 = add nsw i32 %yychar1.2, %conv51
426 %16 = icmp ugt i32 %add68, 506
427 br i1 %16, label %yydefault, label %lor.lhs.false73
428
429lor.lhs.false73: ; preds = %if.end67
430 %arrayidx74 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add68
431 %17 = load i16* %arrayidx74, align 2
432 %conv75 = sext i16 %17 to i32
433 %cmp76 = icmp eq i32 %conv75, %yychar1.2
434 br i1 %cmp76, label %if.end79, label %yydefault
435
436if.end79: ; preds = %lor.lhs.false73
437 %arrayidx80 = getelementptr inbounds [507 x i16]* @yytable, i32 0, i32 %add68
438 %18 = load i16* %arrayidx80, align 2
439 %conv81 = zext i16 %18 to i32
440 %cmp82 = icmp eq i16 %18, 0
441 br i1 %cmp82, label %if.then1232, label %if.end92
442
443if.end92: ; preds = %if.end79
444 %cmp93 = icmp eq i32 %add68, 35
445 br i1 %cmp93, label %yyreturn, label %if.end96
446
447if.end96: ; preds = %if.end92
448 %cmp97 = icmp eq i32 %15, 0
449 br i1 %cmp97, label %if.end100, label %if.then99
450
451if.then99: ; preds = %if.end96
452 store i32 -2, i32* @dfg_char, align 4
453 br label %if.end100
454
455if.end100: ; preds = %if.end96, %if.then99
456 %incdec.ptr101 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 1
457 %19 = load i32* getelementptr inbounds (%union.yystype* @dfg_lval, i32 0, i32 0), align 4
458 %20 = getelementptr inbounds %union.yystype* %incdec.ptr101, i32 0, i32 0
459 store i32 %19, i32* %20, align 4
460 br label %yynewstate
461
462yydefault: ; preds = %lor.lhs.false73, %if.end67, %yybackup
463 %arrayidx105 = getelementptr inbounds [477 x i8]* @yydefact, i32 0, i32 %yystate.1
464 %21 = load i8* %arrayidx105, align 1
465 %conv106 = zext i8 %21 to i32
466 %cmp107 = icmp eq i8 %21, 0
467 br i1 %cmp107, label %if.then1232, label %yyreduce
468
469yyreduce: ; preds = %yydefault
470 %arrayidx111 = getelementptr inbounds [197 x i8]* @yyr2, i32 0, i32 %conv106
471 %22 = load i8* %arrayidx111, align 1
472 %conv112 = zext i8 %22 to i32
473 %sub113 = sub i32 1, %conv112
474 %23 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 %sub113, i32 0
475 %24 = load i32* %23, align 4
476 store i32 %24, i32* %2, align 4
477 switch i32 %conv106, label %sw.epilog1200 [
478 i32 2, label %sw.bb
479 i32 4, label %sw.bb116
480 i32 5, label %sw.bb119
481 i32 6, label %sw.bb122
482 i32 7, label %sw.bb124
483 i32 9, label %sw.bb127
484 i32 11, label %sw.bb130
485 i32 13, label %sw.bb133
486 i32 14, label %sw.bb136
487 i32 15, label %sw.bb138
488 i32 16, label %sw.bb140
489 i32 24, label %sw.bb142
490 i32 25, label %sw.bb145
491 i32 30, label %sw.bb149
492 i32 31, label %sw.bb152
493 i32 34, label %sw.bb157
494 i32 35, label %sw.bb160
495 i32 40, label %sw.bb163
496 i32 41, label %sw.bb166
497 i32 46, label %sw.bb171
498 i32 47, label %sw.bb174
499 i32 48, label %sw.bb179
500 i32 49, label %sw.bb181
501 i32 55, label %sw.bb185
502 i32 56, label %sw.bb190
503 i32 57, label %sw.bb195
504 i32 58, label %sw.bb198
505 i32 59, label %sw.bb199
506 i32 60, label %sw.bb200
507 i32 61, label %sw.bb210
508 i32 62, label %sw.bb217
509 i32 63, label %sw.bb219
510 i32 64, label %sw.bb221
511 i32 65, label %sw.bb226
512 i32 66, label %sw.bb233
513 i32 67, label %sw.bb236
514 i32 68, label %sw.bb239
515 i32 69, label %sw.bb255
516 i32 70, label %sw.bb257
517 i32 73, label %sw.bb259
518 i32 74, label %sw.bb262
519 i32 75, label %sw.bb290
520 i32 76, label %sw.bb292
521 i32 77, label %sw.bb296
522 i32 78, label %sw.bb300
523 i32 79, label %sw.bb312
524 i32 80, label %sw.bb327
525 i32 81, label %sw.bb339
526 i32 82, label %sw.bb340
527 i32 83, label %sw.bb341
528 i32 84, label %sw.bb355
529 i32 85, label %sw.bb357
530 i32 86, label %sw.bb361
531 i32 87, label %sw.bb372
532 i32 88, label %sw.bb387
533 i32 89, label %sw.bb390
534 i32 90, label %sw.bb393
535 i32 91, label %sw.bb396
536 i32 92, label %sw.bb399
537 i32 93, label %sw.bb402
538 i32 94, label %sw.bb405
539 i32 95, label %sw.bb408
540 i32 96, label %sw.bb419
541 i32 97, label %sw.bb429
542 i32 98, label %sw.bb437
543 i32 99, label %sw.bb445
544 i32 100, label %sw.bb453
545 i32 101, label %sw.bb464
546 i32 102, label %sw.bb479
547 i32 103, label %sw.bb494
548 i32 106, label %sw.bb519
549 i32 107, label %sw.bb535
550 i32 108, label %sw.bb536
551 i32 109, label %sw.bb538
552 i32 110, label %sw.bb541
553 i32 111, label %sw.bb570
554 i32 112, label %sw.bb572
555 i32 113, label %sw.bb576
556 i32 114, label %sw.bb580
557 i32 115, label %sw.bb581
558 i32 116, label %sw.bb582
559 i32 117, label %sw.bb595
560 i32 118, label %sw.bb606
561 i32 119, label %sw.bb617
562 i32 120, label %sw.bb632
563 i32 121, label %sw.bb636
564 i32 122, label %sw.bb650
565 i32 123, label %sw.bb655
566 i32 124, label %sw.bb663
567 i32 125, label %sw.bb674
568 i32 126, label %sw.bb684
569 i32 127, label %sw.bb694
570 i32 128, label %sw.bb709
571 i32 136, label %sw.bb721
572 i32 137, label %sw.bb732
573 i32 138, label %sw.bb744
574 i32 139, label %sw.bb755
575 i32 142, label %sw.bb770
576 i32 143, label %sw.bb777
577 i32 145, label %sw.bb787
578 i32 146, label %sw.bb851
579 i32 147, label %sw.bb867
580 i32 148, label %sw.bb887
581 i32 149, label %sw.bb889
582 i32 150, label %sw.bb893
583 i32 151, label %sw.bb934
584 i32 152, label %sw.bb977
585 i32 153, label %sw.bb978
586 i32 154, label %sw.bb998
587 i32 155, label %sw.bb1002
588 i32 156, label %sw.bb1004
589 i32 157, label %sw.bb1006
590 i32 158, label %sw.bb1008
591 i32 159, label %sw.bb1010
592 i32 160, label %sw.bb1012
593 i32 161, label %sw.bb1014
594 i32 162, label %sw.bb1016
595 i32 163, label %sw.bb1018
596 i32 164, label %sw.bb1020
597 i32 165, label %sw.bb1022
598 i32 166, label %sw.bb1024
599 i32 167, label %sw.bb1028
600 i32 170, label %sw.bb1030
601 i32 171, label %sw.bb1031
602 i32 173, label %sw.bb1032
603 i32 177, label %sw.bb1037
604 i32 178, label %sw.bb1046
605 i32 179, label %sw.bb1047
606 i32 184, label %for.cond.preheader
607 i32 185, label %sw.bb1084
608 i32 188, label %sw.bb1099
609 i32 189, label %sw.bb1114
610 i32 190, label %sw.bb1138
611 i32 191, label %sw.bb1140
612 i32 194, label %sw.bb1184
613 i32 195, label %sw.bb1187
614 i32 196, label %sw.bb1192
615 ]
616
617for.cond.preheader: ; preds = %yyreduce
618 %arrayidx1052 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
619 %list1053 = bitcast %union.yystype* %arrayidx1052 to %struct.LIST_HELP**
620 %25 = load %struct.LIST_HELP** %list1053, align 4
621 %cmp.i21612226 = icmp eq %struct.LIST_HELP* %25, null
622 br i1 %cmp.i21612226, label %sw.epilog1200, label %for.body.lr.ph
623
624for.body.lr.ph: ; preds = %for.cond.preheader
625 %26 = getelementptr inbounds %union.yystype* %arrayidx1052, i32 0, i32 0
626 br label %for.body
627
628sw.bb: ; preds = %yyreduce
629 %arrayidx115 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
630 %string = bitcast %union.yystype* %arrayidx115 to i8**
631 %27 = load i8** %string, align 4
632 call void @string_StringFree(i8* %27) #1
633 br label %yyreturn
634
635sw.bb116:
636 %arrayidx117 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
637 %string118 = bitcast %union.yystype* %arrayidx117 to i8**
638 %28 = load i8** %string118, align 4
639 store i8* %28, i8** @dfg_DESC.0, align 4
640 br label %sw.epilog1200
641
642sw.bb119: ; preds = %yyreduce
643 %arrayidx120 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
644 %string121 = bitcast %union.yystype* %arrayidx120 to i8**
645 %29 = load i8** %string121, align 4
646 store i8* %29, i8** @dfg_DESC.1, align 4
647 br label %sw.epilog1200
648
649sw.bb122: ; preds = %yyreduce
650 %state = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2, i32 0
651 %30 = load i32* %state, align 4
652 store i32 %30, i32* @dfg_DESC.4, align 4
653 br label %sw.epilog1200
654
655sw.bb124: ; preds = %yyreduce
656 %arrayidx125 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
657 %string126 = bitcast %union.yystype* %arrayidx125 to i8**
658 %31 = load i8** %string126, align 4
659 store i8* %31, i8** @dfg_DESC.5, align 4
660 br label %sw.epilog1200
661
662sw.bb127: ; preds = %yyreduce
663 %arrayidx128 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
664 %string129 = bitcast %union.yystype* %arrayidx128 to i8**
665 %32 = load i8** %string129, align 4
666 store i8* %32, i8** @dfg_DESC.2, align 4
667 br label %sw.epilog1200
668
669sw.bb130: ; preds = %yyreduce
670 %arrayidx131 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
671 %string132 = bitcast %union.yystype* %arrayidx131 to i8**
672 %33 = load i8** %string132, align 4
673 store i8* %33, i8** @dfg_DESC.3, align 4
674 br label %sw.epilog1200
675
676sw.bb133: ; preds = %yyreduce
677 %arrayidx134 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
678 %string135 = bitcast %union.yystype* %arrayidx134 to i8**
679 %34 = load i8** %string135, align 4
680 store i8* %34, i8** @dfg_DESC.6, align 4
681 br label %sw.epilog1200
682
683sw.bb136: ; preds = %yyreduce
684 store i32 0, i32* %2, align 4
685 br label %sw.epilog1200
686
687sw.bb138: ; preds = %yyreduce
688 store i32 1, i32* %2, align 4
689 br label %sw.epilog1200
690
691sw.bb140: ; preds = %yyreduce
692 store i32 2, i32* %2, align 4
693 br label %sw.epilog1200
694
695sw.bb142: ; preds = %yyreduce
696 %string144 = bitcast %union.yystype* %yyvsp.2 to i8**
697 %35 = load i8** %string144, align 4
698 call fastcc void @dfg_SymbolDecl(i32 284, i8* %35, i32 -2)
699 br label %sw.epilog1200
700
701sw.bb145: ; preds = %yyreduce
702 %arrayidx146 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
703 %string147 = bitcast %union.yystype* %arrayidx146 to i8**
704 %36 = load i8** %string147, align 4
705 %number = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
706 %37 = load i32* %number, align 4
707 call fastcc void @dfg_SymbolDecl(i32 284, i8* %36, i32 %37)
708 br label %sw.epilog1200
709
710sw.bb149: ; preds = %yyreduce
711 %string151 = bitcast %union.yystype* %yyvsp.2 to i8**
712 %38 = load i8** %string151, align 4
713 call fastcc void @dfg_SymbolDecl(i32 298, i8* %38, i32 -2)
714 br label %sw.epilog1200
715
716sw.bb152: ; preds = %yyreduce
717 %arrayidx153 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
718 %string154 = bitcast %union.yystype* %arrayidx153 to i8**
719 %39 = load i8** %string154, align 4
720 %number156 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
721 %40 = load i32* %number156, align 4
722 call fastcc void @dfg_SymbolDecl(i32 298, i8* %39, i32 %40)
723 br label %sw.epilog1200
724
725sw.bb157: ; preds = %yyreduce
726 %string159 = bitcast %union.yystype* %yyvsp.2 to i8**
727 %41 = load i8** %string159, align 4
728 call fastcc void @dfg_SymbolDecl(i32 298, i8* %41, i32 1)
729 br label %sw.epilog1200
730
731sw.bb160: ; preds = %yyreduce
732 %string162 = bitcast %union.yystype* %yyvsp.2 to i8**
733 %42 = load i8** %string162, align 4
734 call fastcc void @dfg_SymbolDecl(i32 298, i8* %42, i32 1)
735 br label %sw.epilog1200
736
737sw.bb163: ; preds = %yyreduce
738 %string165 = bitcast %union.yystype* %yyvsp.2 to i8**
739 %43 = load i8** %string165, align 4
740 call fastcc void @dfg_SymbolDecl(i32 294, i8* %43, i32 -2)
741 br label %sw.epilog1200
742
743sw.bb166: ; preds = %yyreduce
744 %arrayidx167 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
745 %string168 = bitcast %union.yystype* %arrayidx167 to i8**
746 %44 = load i8** %string168, align 4
747 %number170 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
748 %45 = load i32* %number170, align 4
749 call fastcc void @dfg_SymbolDecl(i32 294, i8* %44, i32 %45)
750 br label %sw.epilog1200
751
752sw.bb171: ; preds = %yyreduce
753 %string173 = bitcast %union.yystype* %yyvsp.2 to i8**
754 %46 = load i8** %string173, align 4
755 call fastcc void @dfg_SymbolDecl(i32 300, i8* %46, i32 -2)
756 br label %sw.epilog1200
757
758sw.bb174: ; preds = %yyreduce
759 %arrayidx175 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
760 %string176 = bitcast %union.yystype* %arrayidx175 to i8**
761 %47 = load i8** %string176, align 4
762 %number178 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
763 %48 = load i32* %number178, align 4
764 call fastcc void @dfg_SymbolDecl(i32 300, i8* %47, i32 %48)
765 br label %sw.epilog1200
766
767sw.bb179: ; preds = %yyreduce
768 store i32 -1, i32* %2, align 4
769 br label %sw.epilog1200
770
771sw.bb181: ; preds = %yyreduce
772 %number183 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 0, i32 0
773 %49 = load i32* %number183, align 4
774 store i32 %49, i32* %2, align 4
775 br label %sw.epilog1200
776
777sw.bb185: ; preds = %yyreduce
778 %arrayidx186 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
779 %string187 = bitcast %union.yystype* %arrayidx186 to i8**
780 %50 = load i8** %string187, align 4
781 %arrayidx188 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
782 %string189 = bitcast %union.yystype* %arrayidx188 to i8**
783 %51 = load i8** %string189, align 4
784 %call.i = call fastcc i32 @dfg_Symbol(i8* %50, i32 1) #1
785 %call1.i = call fastcc i32 @dfg_Symbol(i8* %51, i32 1) #1
786 %tobool.i.i = icmp sgt i32 %call.i, -1
787 br i1 %tobool.i.i, label %if.then.i, label %land.rhs.i.i
788
789land.rhs.i.i: ; preds = %sw.bb185
790 %sub.i.i.i = sub nsw i32 0, %call.i
791 %and.i.i.i = and i32 %3, %sub.i.i.i
792 %cmp.i.i = icmp eq i32 %and.i.i.i, 2
793 br i1 %cmp.i.i, label %if.end.i, label %if.then.i
794
795if.then.i: ; preds = %land.rhs.i.i, %sw.bb185
796 %52 = load %struct._IO_FILE** @stdout, align 4
797 %call3.i = call i32 @fflush(%struct._IO_FILE* %52) #1
798 %53 = load i32* @dfg_LINENUMBER, align 4
799 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([44 x i8]* @.str42, i32 0, i32 0), i32 %53) #1
800 call fastcc void @misc_Error() #1
801 unreachable
802
803if.end.i: ; preds = %land.rhs.i.i
804 %tobool.i34.i = icmp sgt i32 %call1.i, -1
805 br i1 %tobool.i34.i, label %if.then6.i, label %land.rhs.i38.i
806
807land.rhs.i38.i: ; preds = %if.end.i
808 %sub.i.i35.i = sub nsw i32 0, %call1.i
809 %and.i.i36.i = and i32 %3, %sub.i.i35.i
810 %cmp.i37.i = icmp eq i32 %and.i.i36.i, 2
811 br i1 %cmp.i37.i, label %if.end8.i, label %if.then6.i
812
813if.then6.i: ; preds = %land.rhs.i38.i, %if.end.i
814 %54 = load %struct._IO_FILE** @stdout, align 4
815 %call7.i = call i32 @fflush(%struct._IO_FILE* %54) #1
816 %55 = load i32* @dfg_LINENUMBER, align 4
817 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([44 x i8]* @.str42, i32 0, i32 0), i32 %55) #1
818 call fastcc void @misc_Error() #1
819 unreachable
820
821if.end8.i: ; preds = %land.rhs.i38.i
822 %56 = load i32* @symbol_STANDARDVARCOUNTER, align 4
823 %inc.i.i = add nsw i32 %56, 1
824 store i32 %inc.i.i, i32* @symbol_STANDARDVARCOUNTER, align 4
825 %call11.i = call %struct.term* @term_Create(i32 %inc.i.i, %struct.LIST_HELP* null) #1
826 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
827 %57 = bitcast %struct.term* %call11.i to i8*
828 %call.i.i50.i = call i8* @memory_Malloc(i32 8) #1
829 %58 = bitcast i8* %call.i.i50.i to %struct.LIST_HELP*
830 %car.i.i51.i = getelementptr inbounds i8* %call.i.i50.i, i32 4
831 %59 = bitcast i8* %car.i.i51.i to i8**
832 store i8* %57, i8** %59, align 4
833 %cdr.i.i52.i = bitcast i8* %call.i.i50.i to %struct.LIST_HELP**
834 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i52.i, align 4
835 %call13.i = call %struct.term* @term_Create(i32 %call.i, %struct.LIST_HELP* %58) #1
836 %call14.i = call %struct.term* @term_Copy(%struct.term* %call11.i) #1
837 %60 = bitcast %struct.term* %call14.i to i8*
838 %call.i.i53.i = call i8* @memory_Malloc(i32 8) #1
839 %61 = bitcast i8* %call.i.i53.i to %struct.LIST_HELP*
840 %car.i.i54.i = getelementptr inbounds i8* %call.i.i53.i, i32 4
841 %62 = bitcast i8* %car.i.i54.i to i8**
842 store i8* %60, i8** %62, align 4
843 %cdr.i.i55.i = bitcast i8* %call.i.i53.i to %struct.LIST_HELP**
844 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i55.i, align 4
845 %call16.i = call %struct.term* @term_Create(i32 %call1.i, %struct.LIST_HELP* %61) #1
846 %63 = load i32* @fol_IMPLIES, align 4
847 %64 = bitcast %struct.term* %call13.i to i8*
848 %65 = bitcast %struct.term* %call16.i to i8*
849 %call.i.i56.i = call i8* @memory_Malloc(i32 8) #1
850 %66 = bitcast i8* %call.i.i56.i to %struct.LIST_HELP*
851 %car.i.i57.i = getelementptr inbounds i8* %call.i.i56.i, i32 4
852 %67 = bitcast i8* %car.i.i57.i to i8**
853 store i8* %65, i8** %67, align 4
854 %cdr.i.i58.i = bitcast i8* %call.i.i56.i to %struct.LIST_HELP**
855 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i58.i, align 4
856 %call.i.i = call i8* @memory_Malloc(i32 8) #1
857 %68 = bitcast i8* %call.i.i to %struct.LIST_HELP*
858 %car.i.i = getelementptr inbounds i8* %call.i.i, i32 4
859 %69 = bitcast i8* %car.i.i to i8**
860 store i8* %64, i8** %69, align 4
861 %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
862 store %struct.LIST_HELP* %66, %struct.LIST_HELP** %cdr.i.i, align 4
863 %call20.i = call %struct.term* @term_Create(i32 %63, %struct.LIST_HELP* %68) #1
864 %70 = load i32* @fol_ALL, align 4
865 %call22.i = call %struct.term* @term_Copy(%struct.term* %call11.i) #1
866 %71 = bitcast %struct.term* %call22.i to i8*
867 %call.i.i47.i = call i8* @memory_Malloc(i32 8) #1
868 %72 = bitcast i8* %call.i.i47.i to %struct.LIST_HELP*
869 %car.i.i48.i = getelementptr inbounds i8* %call.i.i47.i, i32 4
870 %73 = bitcast i8* %car.i.i48.i to i8**
871 store i8* %71, i8** %73, align 4
872 %cdr.i.i49.i = bitcast i8* %call.i.i47.i to %struct.LIST_HELP**
873 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i49.i, align 4
874 %74 = bitcast %struct.term* %call20.i to i8*
875 %call.i.i44.i = call i8* @memory_Malloc(i32 8) #1
876 %75 = bitcast i8* %call.i.i44.i to %struct.LIST_HELP*
877 %car.i.i45.i = getelementptr inbounds i8* %call.i.i44.i, i32 4
878 %76 = bitcast i8* %car.i.i45.i to i8**
879 store i8* %74, i8** %76, align 4
880 %cdr.i.i46.i = bitcast i8* %call.i.i44.i to %struct.LIST_HELP**
881 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i46.i, align 4
882 %call25.i = call %struct.term* @fol_CreateQuantifier(i32 %70, %struct.LIST_HELP* %72, %struct.LIST_HELP* %75) #1
883 %77 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
884 %78 = bitcast %struct.term* %call25.i to %struct.LIST_HELP*
885 %call.i.i41.i = call i8* @memory_Malloc(i32 8) #1
886 %car.i.i42.i = getelementptr inbounds i8* %call.i.i41.i, i32 4
887 %79 = bitcast i8* %car.i.i42.i to i8**
888 store i8* null, i8** %79, align 4
889 %cdr.i.i43.i = bitcast i8* %call.i.i41.i to %struct.LIST_HELP**
890 store %struct.LIST_HELP* %78, %struct.LIST_HELP** %cdr.i.i43.i, align 4
891 %call.i.i.i = call i8* @memory_Malloc(i32 8) #1
892 %80 = bitcast i8* %call.i.i.i to %struct.LIST_HELP*
893 %car.i.i.i = getelementptr inbounds i8* %call.i.i.i, i32 4
894 %81 = bitcast i8* %car.i.i.i to i8**
895 store i8* %call.i.i41.i, i8** %81, align 4
896 %cdr.i.i.i = bitcast i8* %call.i.i.i to %struct.LIST_HELP**
897 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i.i, align 4
898 %cmp.i.i.i = icmp eq %struct.LIST_HELP* %77, null
899 br i1 %cmp.i.i.i, label %dfg_SubSort.exit, label %if.end.i.i
900
901if.end.i.i: ; preds = %if.end8.i
902 %cmp.i18.i.i = icmp eq i8* %call.i.i.i, null
903 br i1 %cmp.i18.i.i, label %dfg_SubSort.exit, label %for.cond.i.i
904
905for.cond.i.i: ; preds = %if.end.i.i, %for.cond.i.i
906 %List1.addr.0.i.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i.i, %for.cond.i.i ], [ %77, %if.end.i.i ]
907 %List1.addr.0.idx15.i.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i.i, i32 0, i32 0
908 %List1.addr.0.idx15.val.i.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i.i, align 4
909 %cmp.i16.i.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i.i, null
910 br i1 %cmp.i16.i.i, label %for.end.i.i, label %for.cond.i.i
911
912for.end.i.i: ; preds = %for.cond.i.i
913 store %struct.LIST_HELP* %80, %struct.LIST_HELP** %List1.addr.0.idx15.i.i, align 4
914 br label %dfg_SubSort.exit
915
916dfg_SubSort.exit: ; preds = %if.end8.i, %if.end.i.i, %for.end.i.i
917 %retval.0.i.i = phi %struct.LIST_HELP* [ %77, %for.end.i.i ], [ %80, %if.end8.i ], [ %77, %if.end.i.i ]
918 store %struct.LIST_HELP* %retval.0.i.i, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
919 br label %sw.epilog1200
920
921sw.bb190: ; preds = %yyreduce
922 %82 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
923 %arrayidx191 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
924 %term = bitcast %union.yystype* %arrayidx191 to %struct.term**
925 %83 = load %struct.term** %term, align 4
926 %84 = bitcast %struct.term* %83 to %struct.LIST_HELP*
927 %call.i.i1761 = call i8* @memory_Malloc(i32 8) #1
928 %car.i.i1762 = getelementptr inbounds i8* %call.i.i1761, i32 4
929 %85 = bitcast i8* %car.i.i1762 to i8**
930 store i8* null, i8** %85, align 4
931 %cdr.i.i1763 = bitcast i8* %call.i.i1761 to %struct.LIST_HELP**
932 store %struct.LIST_HELP* %84, %struct.LIST_HELP** %cdr.i.i1763, align 4
933 %call.i.i1764 = call i8* @memory_Malloc(i32 8) #1
934 %86 = bitcast i8* %call.i.i1764 to %struct.LIST_HELP*
935 %car.i.i1765 = getelementptr inbounds i8* %call.i.i1764, i32 4
936 %87 = bitcast i8* %car.i.i1765 to i8**
937 store i8* %call.i.i1761, i8** %87, align 4
938 %cdr.i.i1766 = bitcast i8* %call.i.i1764 to %struct.LIST_HELP**
939 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1766, align 4
940 %cmp.i.i1767 = icmp eq %struct.LIST_HELP* %82, null
941 br i1 %cmp.i.i1767, label %list_Nconc.exit, label %if.end.i1768
942
943if.end.i1768: ; preds = %sw.bb190
944 %cmp.i18.i = icmp eq i8* %call.i.i1764, null
945 br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
946
947for.cond.i: ; preds = %if.end.i1768, %for.cond.i
948 %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %82, %if.end.i1768 ]
949 %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
950 %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
951 %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
952 br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
953
954for.end.i: ; preds = %for.cond.i
955 store %struct.LIST_HELP* %86, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
956 br label %list_Nconc.exit
957
958list_Nconc.exit: ; preds = %sw.bb190, %if.end.i1768, %for.end.i
959 %retval.0.i = phi %struct.LIST_HELP* [ %82, %for.end.i ], [ %86, %sw.bb190 ], [ %82, %if.end.i1768 ]
960 store %struct.LIST_HELP* %retval.0.i, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
961 br label %sw.epilog1200
962
963sw.bb195: ; preds = %yyreduce
964 %arrayidx196 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
965 %string197 = bitcast %union.yystype* %arrayidx196 to i8**
966 %88 = load i8** %string197, align 4
967 call void @string_StringFree(i8* %88) #1
968 br label %sw.epilog1200
969
970sw.bb198: ; preds = %yyreduce
971 %89 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
972 %call.i.i.i1769 = call i8* @memory_Malloc(i32 8) #1
973 %90 = bitcast i8* %call.i.i.i1769 to %struct.LIST_HELP*
974 %car.i.i.i1770 = getelementptr inbounds i8* %call.i.i.i1769, i32 4
975 %91 = bitcast i8* %car.i.i.i1770 to i8**
976 store i8* null, i8** %91, align 4
977 %cdr.i.i.i1771 = bitcast i8* %call.i.i.i1769 to %struct.LIST_HELP**
978 store %struct.LIST_HELP* %89, %struct.LIST_HELP** %cdr.i.i.i1771, align 4
979 store %struct.LIST_HELP* %90, %struct.LIST_HELP** @dfg_VARLIST, align 4
980 store i1 true, i1* @dfg_VARDECL, align 1
981 br label %sw.epilog1200
982
983sw.bb199: ; preds = %yyreduce
984 store i1 false, i1* @dfg_VARDECL, align 1
985 br label %sw.epilog1200
986
987sw.bb200: ; preds = %yyreduce
988 %92 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
989 %.idx.i = getelementptr %struct.LIST_HELP* %92, i32 0, i32 1
990 %.idx.val.i = load i8** %.idx.i, align 4
991 %93 = bitcast i8* %.idx.val.i to %struct.LIST_HELP*
992 call void @list_DeleteWithElement(%struct.LIST_HELP* %93, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
993 %94 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
994 %L.idx.i.i = getelementptr %struct.LIST_HELP* %94, i32 0, i32 0
995 %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
996 %95 = bitcast %struct.LIST_HELP* %94 to i8*
997 %96 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
998 %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %96, i32 0, i32 4
999 %97 = load i32* %total_size.i.i.i.i, align 4
1000 %98 = load i32* @memory_FREEDBYTES, align 4
1001 %add24.i.i.i.i = add i32 %98, %97
1002 store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
1003 %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %96, i32 0, i32 0
1004 %99 = load i8** %free.i.i.i.i, align 4
1005 %.c.i.i.i = bitcast i8* %99 to %struct.LIST_HELP*
1006 store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
1007 %100 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
1008 %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %100, i32 0, i32 0
1009 store i8* %95, i8** %free27.i.i.i.i, align 4
1010 store %struct.LIST_HELP* %L.idx.val.i.i, %struct.LIST_HELP** @dfg_VARLIST, align 4
1011 %cmp.i.i1772 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
1012 br i1 %cmp.i.i1772, label %dfg_VarCheck.exit, label %if.then.i1774
1013
1014if.then.i1774: ; preds = %sw.bb200
1015 %101 = load %struct._IO_FILE** @stdout, align 4
1016 %call1.i1773 = call i32 @fflush(%struct._IO_FILE* %101) #1
1017 %102 = load %struct._IO_FILE** @stderr, align 4
1018 %call2.i = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %102, i8* getelementptr inbounds ([31 x i8]* @.str27, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str28, i32 0, i32 0), i32 1881) #1
1019 call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
1020 %103 = load %struct._IO_FILE** @stderr, align 4
1021 %104 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %103) #1
1022 call fastcc void @misc_DumpCore() #1
1023 unreachable
1024
1025dfg_VarCheck.exit: ; preds = %sw.bb200
1026 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
1027 %105 = load i32* @fol_ALL, align 4
1028 %arrayidx203 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
1029 %list = bitcast %union.yystype* %arrayidx203 to %struct.LIST_HELP**
1030 %106 = load %struct.LIST_HELP** %list, align 4
1031 %arrayidx204 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
1032 %term205 = bitcast %union.yystype* %arrayidx204 to %struct.term**
1033 %107 = load %struct.term** %term205, align 4
1034 %call206 = call %struct.term* @dfg_CreateQuantifier(i32 %105, %struct.LIST_HELP* %106, %struct.term* %107)
1035 %108 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
1036 %109 = bitcast %struct.term* %call206 to %struct.LIST_HELP*
1037 %call.i.i1776 = call i8* @memory_Malloc(i32 8) #1
1038 %car.i.i1777 = getelementptr inbounds i8* %call.i.i1776, i32 4
1039 %110 = bitcast i8* %car.i.i1777 to i8**
1040 store i8* null, i8** %110, align 4
1041 %cdr.i.i1778 = bitcast i8* %call.i.i1776 to %struct.LIST_HELP**
1042 store %struct.LIST_HELP* %109, %struct.LIST_HELP** %cdr.i.i1778, align 4
1043 %call.i.i1779 = call i8* @memory_Malloc(i32 8) #1
1044 %111 = bitcast i8* %call.i.i1779 to %struct.LIST_HELP*
1045 %car.i.i1780 = getelementptr inbounds i8* %call.i.i1779, i32 4
1046 %112 = bitcast i8* %car.i.i1780 to i8**
1047 store i8* %call.i.i1776, i8** %112, align 4
1048 %cdr.i.i1781 = bitcast i8* %call.i.i1779 to %struct.LIST_HELP**
1049 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1781, align 4
1050 %cmp.i.i1782 = icmp eq %struct.LIST_HELP* %108, null
1051 br i1 %cmp.i.i1782, label %list_Nconc.exit1792, label %if.end.i1784
1052
1053if.end.i1784: ; preds = %dfg_VarCheck.exit
1054 %cmp.i18.i1783 = icmp eq i8* %call.i.i1779, null
1055 br i1 %cmp.i18.i1783, label %list_Nconc.exit1792, label %for.cond.i1789
1056
1057for.cond.i1789: ; preds = %if.end.i1784, %for.cond.i1789
1058 %List1.addr.0.i1785 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1787, %for.cond.i1789 ], [ %108, %if.end.i1784 ]
1059 %List1.addr.0.idx15.i1786 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1785, i32 0, i32 0
1060 %List1.addr.0.idx15.val.i1787 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1786, align 4
1061 %cmp.i16.i1788 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1787, null
1062 br i1 %cmp.i16.i1788, label %for.end.i1790, label %for.cond.i1789
1063
1064for.end.i1790: ; preds = %for.cond.i1789
1065 store %struct.LIST_HELP* %111, %struct.LIST_HELP** %List1.addr.0.idx15.i1786, align 4
1066 br label %list_Nconc.exit1792
1067
1068list_Nconc.exit1792: ; preds = %dfg_VarCheck.exit, %if.end.i1784, %for.end.i1790
1069 %retval.0.i1791 = phi %struct.LIST_HELP* [ %108, %for.end.i1790 ], [ %111, %dfg_VarCheck.exit ], [ %108, %if.end.i1784 ]
1070 store %struct.LIST_HELP* %retval.0.i1791, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
1071 br label %sw.epilog1200
1072
1073sw.bb210: ; preds = %yyreduce
1074 %arrayidx211 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
1075 %string212 = bitcast %union.yystype* %arrayidx211 to i8**
1076 %113 = load i8** %string212, align 4
1077 %call213 = call fastcc i32 @dfg_Symbol(i8* %113, i32 1)
1078 %bool = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6, i32 0
1079 %114 = load i32* %bool, align 4
1080 %arrayidx215 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
1081 %list216 = bitcast %union.yystype* %arrayidx215 to %struct.LIST_HELP**
1082 %115 = load %struct.LIST_HELP** %list216, align 4
1083 %tobool.i.i1793 = icmp sgt i32 %call213, -1
1084 br i1 %tobool.i.i1793, label %if.then.i1799, label %land.rhs.i.i1797
1085
1086land.rhs.i.i1797: ; preds = %sw.bb210
1087 %sub.i.i.i1794 = sub nsw i32 0, %call213
1088 %and.i.i.i1795 = and i32 %3, %sub.i.i.i1794
1089 %cmp.i.i1796 = icmp eq i32 %and.i.i.i1795, 2
1090 br i1 %cmp.i.i1796, label %if.end.i1800, label %if.then.i1799
1091
1092if.then.i1799: ; preds = %land.rhs.i.i1797, %sw.bb210
1093 %116 = load %struct._IO_FILE** @stdout, align 4
1094 %call1.i1798 = call i32 @fflush(%struct._IO_FILE* %116) #1
1095 %117 = load i32* @dfg_LINENUMBER, align 4
1096 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([44 x i8]* @.str42, i32 0, i32 0), i32 %117) #1
1097 call fastcc void @misc_Error() #1
1098 unreachable
1099
1100if.end.i1800: ; preds = %land.rhs.i.i1797
1101 %shr.i.i54.i = ashr i32 %sub.i.i.i1794, %4
1102 %118 = load %struct.signature*** @symbol_SIGNATURE, align 4
1103 %arrayidx.i.i55.i = getelementptr inbounds %struct.signature** %118, i32 %shr.i.i54.i
1104 %119 = load %struct.signature** %arrayidx.i.i55.i, align 4
1105 %props.i56.i = getelementptr inbounds %struct.signature* %119, i32 0, i32 4
1106 %120 = load i32* %props.i56.i, align 4
1107 %and.i.i = and i32 %120, 512
1108 %tobool.i57.i = icmp eq i32 %and.i.i, 0
1109 br i1 %tobool.i57.i, label %symbol_RemoveProperty.exit.i, label %if.then.i.i
1110
1111if.then.i.i: ; preds = %if.end.i1800
1112 %sub.i.i = add i32 %120, -512
1113 store i32 %sub.i.i, i32* %props.i56.i, align 4
1114 %.pre.i = load %struct.signature*** @symbol_SIGNATURE, align 4
1115 %arrayidx.i.i63.phi.trans.insert.i = getelementptr inbounds %struct.signature** %.pre.i, i32 %shr.i.i54.i
1116 %.pre93.i = load %struct.signature** %arrayidx.i.i63.phi.trans.insert.i, align 4
1117 %props.i64.phi.trans.insert.i = getelementptr inbounds %struct.signature* %.pre93.i, i32 0, i32 4
1118 %.pre94.i = load i32* %props.i64.phi.trans.insert.i, align 4
1119 br label %symbol_RemoveProperty.exit.i
1120
1121symbol_RemoveProperty.exit.i: ; preds = %if.then.i.i, %if.end.i1800
1122 %121 = phi i32 [ %120, %if.end.i1800 ], [ %.pre94.i, %if.then.i.i ]
1123 %122 = phi %struct.signature* [ %119, %if.end.i1800 ], [ %.pre93.i, %if.then.i.i ]
1124 %and.i65.i = and i32 %121, 256
1125 %tobool.i66.i = icmp eq i32 %and.i65.i, 0
1126 br i1 %tobool.i66.i, label %symbol_RemoveProperty.exit69.i, label %if.then.i68.i
1127
1128if.then.i68.i: ; preds = %symbol_RemoveProperty.exit.i
1129 %props.i64.i = getelementptr inbounds %struct.signature* %122, i32 0, i32 4
1130 %sub.i67.i = add i32 %121, -256
1131 store i32 %sub.i67.i, i32* %props.i64.i, align 4
1132 %.pre95.i = load %struct.signature*** @symbol_SIGNATURE, align 4
1133 %arrayidx.i.i83.phi.trans.insert.i = getelementptr inbounds %struct.signature** %.pre95.i, i32 %shr.i.i54.i
1134 %.pre96.i = load %struct.signature** %arrayidx.i.i83.phi.trans.insert.i, align 4
1135 br label %symbol_RemoveProperty.exit69.i
1136
1137symbol_RemoveProperty.exit69.i: ; preds = %if.then.i68.i, %symbol_RemoveProperty.exit.i
1138 %123 = phi %struct.signature* [ %122, %symbol_RemoveProperty.exit.i ], [ %.pre96.i, %if.then.i68.i ]
1139 %generatedBy.i84.i = getelementptr inbounds %struct.signature* %123, i32 0, i32 6
1140 %124 = load %struct.LIST_HELP** %generatedBy.i84.i, align 4
1141 %cmp.i5.i.i = icmp eq %struct.LIST_HELP* %124, null
1142 br i1 %cmp.i5.i.i, label %list_Delete.exit.i, label %while.body.i.i
1143
1144while.body.i.i: ; preds = %symbol_RemoveProperty.exit69.i, %while.body.i.i
1145 %L.addr.06.i.i = phi %struct.LIST_HELP* [ %L.addr.0.idx.val.i.i, %while.body.i.i ], [ %124, %symbol_RemoveProperty.exit69.i ]
1146 %L.addr.0.idx.i.i = getelementptr %struct.LIST_HELP* %L.addr.06.i.i, i32 0, i32 0
1147 %L.addr.0.idx.val.i.i = load %struct.LIST_HELP** %L.addr.0.idx.i.i, align 4
1148 %125 = bitcast %struct.LIST_HELP* %L.addr.06.i.i to i8*
1149 %126 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
1150 %total_size.i.i.i.i1801 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %126, i32 0, i32 4
1151 %127 = load i32* %total_size.i.i.i.i1801, align 4
1152 %128 = load i32* @memory_FREEDBYTES, align 4
1153 %add24.i.i.i.i1802 = add i32 %128, %127
1154 store i32 %add24.i.i.i.i1802, i32* @memory_FREEDBYTES, align 4
1155 %free.i.i.i.i1803 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %126, i32 0, i32 0
1156 %129 = load i8** %free.i.i.i.i1803, align 4
1157 %.c.i.i.i1804 = bitcast i8* %129 to %struct.LIST_HELP*
1158 store %struct.LIST_HELP* %.c.i.i.i1804, %struct.LIST_HELP** %L.addr.0.idx.i.i, align 4
1159 %130 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
1160 %free27.i.i.i.i1805 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %130, i32 0, i32 0
1161 store i8* %125, i8** %free27.i.i.i.i1805, align 4
1162 %cmp.i.i.i1806 = icmp eq %struct.LIST_HELP* %L.addr.0.idx.val.i.i, null
1163 br i1 %cmp.i.i.i1806, label %list_Delete.exit.loopexit.i, label %while.body.i.i
1164
1165list_Delete.exit.loopexit.i: ; preds = %while.body.i.i
1166 %.pre97.i = load %struct.signature*** @symbol_SIGNATURE, align 4
1167 %arrayidx.i.i78.phi.trans.insert.i = getelementptr inbounds %struct.signature** %.pre97.i, i32 %shr.i.i54.i
1168 %.pre98.i = load %struct.signature** %arrayidx.i.i78.phi.trans.insert.i, align 4
1169 br label %list_Delete.exit.i
1170
1171list_Delete.exit.i: ; preds = %list_Delete.exit.loopexit.i, %symbol_RemoveProperty.exit69.i
1172 %131 = phi %struct.signature* [ %.pre98.i, %list_Delete.exit.loopexit.i ], [ %123, %symbol_RemoveProperty.exit69.i ]
1173 %props.i79.i = getelementptr inbounds %struct.signature* %131, i32 0, i32 4
1174 %132 = load i32* %props.i79.i, align 4
1175 %or.i80.i = or i32 %132, 512
1176 store i32 %or.i80.i, i32* %props.i79.i, align 4
1177 %tobool3.i = icmp ne i32 %114, 0
1178 br i1 %tobool3.i, label %if.then4.i, label %for.cond.preheader.i
1179
1180if.then4.i: ; preds = %list_Delete.exit.i
1181 %133 = load %struct.signature*** @symbol_SIGNATURE, align 4
1182 %arrayidx.i.i73.i = getelementptr inbounds %struct.signature** %133, i32 %shr.i.i54.i
1183 %134 = load %struct.signature** %arrayidx.i.i73.i, align 4
1184 %props.i74.i = getelementptr inbounds %struct.signature* %134, i32 0, i32 4
1185 %135 = load i32* %props.i74.i, align 4
1186 %or.i75.i = or i32 %135, 256
1187 store i32 %or.i75.i, i32* %props.i74.i, align 4
1188 br label %for.cond.preheader.i
1189
1190for.cond.preheader.i: ; preds = %if.then4.i, %list_Delete.exit.i
1191 %cmp.i7086.i = icmp eq %struct.LIST_HELP* %115, null
1192 br i1 %cmp.i7086.i, label %dfg_SymbolGenerated.exit, label %for.body.lr.ph.i
1193
1194for.body.lr.ph.i: ; preds = %for.cond.preheader.i
1195 br i1 %tobool3.i, label %for.body.us.i, label %for.body.i
1196
1197for.body.us.i: ; preds = %for.body.lr.ph.i, %for.inc.us.i
1198 %scan.087.us.i = phi %struct.LIST_HELP* [ %scan.0.idx43.val.us.i, %for.inc.us.i ], [ %115, %for.body.lr.ph.i ]
1199 %scan.0.idx42.us.i = getelementptr %struct.LIST_HELP* %scan.087.us.i, i32 0, i32 1
1200 %scan.0.idx42.val.us.i = load i8** %scan.0.idx42.us.i, align 4
1201 %call9.us.i = call i32 @symbol_Lookup(i8* %scan.0.idx42.val.us.i) #1
1202 %cmp.us.i = icmp eq i32 %call9.us.i, 0
1203 br i1 %cmp.us.i, label %if.then10.i, label %if.else.us.i
1204
1205if.else.us.i: ; preds = %for.body.us.i
1206 %tobool.i58.us.i = icmp sgt i32 %call9.us.i, -1
1207 br i1 %tobool.i58.us.i, label %if.then15.i, label %land.rhs.i59.us.i
1208
1209land.rhs.i59.us.i: ; preds = %if.else.us.i
1210 %sub.i6.i.us.i = sub nsw i32 0, %call9.us.i
1211 %and.i7.i.us.i = and i32 %3, %sub.i6.i.us.i
1212 %136 = icmp ult i32 %and.i7.i.us.i, 2
1213 br i1 %136, label %for.inc.us.i, label %if.then15.i
1214
1215for.inc.us.i: ; preds = %land.rhs.i59.us.i
1216 %scan.0.idx.val.us.i = load i8** %scan.0.idx42.us.i, align 4
1217 call void @string_StringFree(i8* %scan.0.idx.val.us.i) #1
1218 %137 = inttoptr i32 %call9.us.i to i8*
1219 store i8* %137, i8** %scan.0.idx42.us.i, align 4
1220 %shr.i.i49.us.i = ashr i32 %sub.i6.i.us.i, %4
1221 %138 = load %struct.signature*** @symbol_SIGNATURE, align 4
1222 %arrayidx.i.i50.us.i = getelementptr inbounds %struct.signature** %138, i32 %shr.i.i49.us.i
1223 %139 = load %struct.signature** %arrayidx.i.i50.us.i, align 4
1224 %props.i51.us.i = getelementptr inbounds %struct.signature* %139, i32 0, i32 4
1225 %140 = load i32* %props.i51.us.i, align 4
1226 %or.i52.us.i = or i32 %140, 512
1227 store i32 %or.i52.us.i, i32* %props.i51.us.i, align 4
1228 %141 = load %struct.signature*** @symbol_SIGNATURE, align 4
1229 %arrayidx.i.i47.us.i = getelementptr inbounds %struct.signature** %141, i32 %shr.i.i49.us.i
1230 %142 = load %struct.signature** %arrayidx.i.i47.us.i, align 4
1231 %props.i.us.i = getelementptr inbounds %struct.signature* %142, i32 0, i32 4
1232 %143 = load i32* %props.i.us.i, align 4
1233 %or.i.us.i = or i32 %143, 256
1234 store i32 %or.i.us.i, i32* %props.i.us.i, align 4
1235 %scan.0.idx43.us.i = getelementptr %struct.LIST_HELP* %scan.087.us.i, i32 0, i32 0
1236 %scan.0.idx43.val.us.i = load %struct.LIST_HELP** %scan.0.idx43.us.i, align 4
1237 %cmp.i70.us.i = icmp eq %struct.LIST_HELP* %scan.0.idx43.val.us.i, null
1238 br i1 %cmp.i70.us.i, label %dfg_SymbolGenerated.exit, label %for.body.us.i
1239
1240for.body.i: ; preds = %for.body.lr.ph.i, %for.inc.i
1241 %scan.087.i = phi %struct.LIST_HELP* [ %scan.0.idx43.val.i, %for.inc.i ], [ %115, %for.body.lr.ph.i ]
1242 %scan.0.idx42.i = getelementptr %struct.LIST_HELP* %scan.087.i, i32 0, i32 1
1243 %scan.0.idx42.val.i = load i8** %scan.0.idx42.i, align 4
1244 %call9.i = call i32 @symbol_Lookup(i8* %scan.0.idx42.val.i) #1
1245 %cmp.i = icmp eq i32 %call9.i, 0
1246 br i1 %cmp.i, label %if.then10.i, label %if.else.i
1247
1248if.then10.i: ; preds = %for.body.us.i, %for.body.i
1249 %scan.0.idx42.lcssa.i = phi i8** [ %scan.0.idx42.i, %for.body.i ], [ %scan.0.idx42.us.i, %for.body.us.i ]
1250 %144 = load %struct._IO_FILE** @stdout, align 4
1251 %call11.i1807 = call i32 @fflush(%struct._IO_FILE* %144) #1
1252 %145 = load i32* @dfg_LINENUMBER, align 4
1253 %scan.0.idx41.val.i = load i8** %scan.0.idx42.lcssa.i, align 4
1254 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([33 x i8]* @.str43, i32 0, i32 0), i32 %145, i8* %scan.0.idx41.val.i) #1
1255 call fastcc void @misc_Error() #1
1256 unreachable
1257
1258if.else.i: ; preds = %for.body.i
1259 %tobool.i58.i = icmp sgt i32 %call9.i, -1
1260 br i1 %tobool.i58.i, label %if.then15.i, label %land.rhs.i59.i
1261
1262land.rhs.i59.i: ; preds = %if.else.i
1263 %sub.i6.i.i = sub nsw i32 0, %call9.i
1264 %and.i7.i.i = and i32 %3, %sub.i6.i.i
1265 %146 = icmp ult i32 %and.i7.i.i, 2
1266 br i1 %146, label %for.inc.i, label %if.then15.i
1267
1268if.then15.i: ; preds = %land.rhs.i59.us.i, %if.else.us.i, %land.rhs.i59.i, %if.else.i
1269 %147 = load %struct._IO_FILE** @stdout, align 4
1270 %call16.i1808 = call i32 @fflush(%struct._IO_FILE* %147) #1
1271 %148 = load i32* @dfg_LINENUMBER, align 4
1272 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([38 x i8]* @.str44, i32 0, i32 0), i32 %148) #1
1273 call fastcc void @misc_Error() #1
1274 unreachable
1275
1276for.inc.i: ; preds = %land.rhs.i59.i
1277 %scan.0.idx.val.i = load i8** %scan.0.idx42.i, align 4
1278 call void @string_StringFree(i8* %scan.0.idx.val.i) #1
1279 %149 = inttoptr i32 %call9.i to i8*
1280 store i8* %149, i8** %scan.0.idx42.i, align 4
1281 %shr.i.i49.i = ashr i32 %sub.i6.i.i, %4
1282 %150 = load %struct.signature*** @symbol_SIGNATURE, align 4
1283 %arrayidx.i.i50.i = getelementptr inbounds %struct.signature** %150, i32 %shr.i.i49.i
1284 %151 = load %struct.signature** %arrayidx.i.i50.i, align 4
1285 %props.i51.i = getelementptr inbounds %struct.signature* %151, i32 0, i32 4
1286 %152 = load i32* %props.i51.i, align 4
1287 %or.i52.i = or i32 %152, 512
1288 store i32 %or.i52.i, i32* %props.i51.i, align 4
1289 %scan.0.idx43.i = getelementptr %struct.LIST_HELP* %scan.087.i, i32 0, i32 0
1290 %scan.0.idx43.val.i = load %struct.LIST_HELP** %scan.0.idx43.i, align 4
1291 %cmp.i70.i = icmp eq %struct.LIST_HELP* %scan.0.idx43.val.i, null
1292 br i1 %cmp.i70.i, label %dfg_SymbolGenerated.exit, label %for.body.i
1293
1294dfg_SymbolGenerated.exit: ; preds = %for.inc.us.i, %for.inc.i, %for.cond.preheader.i
1295 %153 = load %struct.signature*** @symbol_SIGNATURE, align 4
1296 %arrayidx.i.i.i = getelementptr inbounds %struct.signature** %153, i32 %shr.i.i54.i
1297 %154 = load %struct.signature** %arrayidx.i.i.i, align 4
1298 %generatedBy.i.i = getelementptr inbounds %struct.signature* %154, i32 0, i32 6
1299 store %struct.LIST_HELP* %115, %struct.LIST_HELP** %generatedBy.i.i, align 4
1300 br label %sw.epilog1200
1301
1302sw.bb217: ; preds = %yyreduce
1303 store i32 0, i32* %2, align 4
1304 br label %sw.epilog1200
1305
1306sw.bb219: ; preds = %yyreduce
1307 store i32 1, i32* %2, align 4
1308 br label %sw.epilog1200
1309
1310sw.bb221: ; preds = %yyreduce
1311 %string223 = bitcast %union.yystype* %yyvsp.2 to i8**
1312 %155 = load i8** %string223, align 4
1313 %call.i.i1810 = call i8* @memory_Malloc(i32 8) #1
1314 %car.i.i1811 = getelementptr inbounds i8* %call.i.i1810, i32 4
1315 %156 = bitcast i8* %car.i.i1811 to i8**
1316 store i8* %155, i8** %156, align 4
1317 %cdr.i.i1812 = bitcast i8* %call.i.i1810 to %struct.LIST_HELP**
1318 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1812, align 4
1319 %call224.c = ptrtoint i8* %call.i.i1810 to i32
1320 store i32 %call224.c, i32* %2, align 4
1321 br label %sw.epilog1200
1322
1323sw.bb226: ; preds = %yyreduce
1324 %string228 = bitcast %union.yystype* %yyvsp.2 to i8**
1325 %157 = load i8** %string228, align 4
1326 %arrayidx229 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
1327 %list230 = bitcast %union.yystype* %arrayidx229 to %struct.LIST_HELP**
1328 %158 = load %struct.LIST_HELP** %list230, align 4
1329 %call.i1813 = call i8* @memory_Malloc(i32 8) #1
1330 %car.i = getelementptr inbounds i8* %call.i1813, i32 4
1331 %159 = bitcast i8* %car.i to i8**
1332 store i8* %157, i8** %159, align 4
1333 %cdr.i = bitcast i8* %call.i1813 to %struct.LIST_HELP**
1334 store %struct.LIST_HELP* %158, %struct.LIST_HELP** %cdr.i, align 4
1335 %call231.c = ptrtoint i8* %call.i1813 to i32
1336 store i32 %call231.c, i32* %2, align 4
1337 br label %sw.epilog1200
1338
1339sw.bb233: ; preds = %yyreduce
1340 %string235 = bitcast %union.yystype* %yyvsp.2 to i8**
1341 %160 = load i8** %string235, align 4
1342 call void @string_StringFree(i8* %160) #1
1343 br label %sw.epilog1200
1344
1345sw.bb236: ; preds = %yyreduce
1346 %string238 = bitcast %union.yystype* %yyvsp.2 to i8**
1347 %161 = load i8** %string238, align 4
1348 call void @string_StringFree(i8* %161) #1
1349 br label %sw.epilog1200
1350
1351sw.bb239: ; preds = %yyreduce
1352 %arrayidx240 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
1353 %list241 = bitcast %union.yystype* %arrayidx240 to %struct.LIST_HELP**
1354 %162 = load %struct.LIST_HELP** %list241, align 4
1355 %call242 = call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %162) #1
1356 %bool244 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5, i32 0
1357 %163 = load i32* %bool244, align 4
1358 %tobool245 = icmp eq i32 %163, 0
1359 br i1 %tobool245, label %if.else250, label %if.then246
1360
1361if.then246: ; preds = %sw.bb239
1362 %164 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
1363 %165 = load %struct.LIST_HELP** %list241, align 4
1364 %cmp.i.i1814 = icmp eq %struct.LIST_HELP* %164, null
1365 br i1 %cmp.i.i1814, label %list_Nconc.exit1824, label %if.end.i1816
1366
1367if.end.i1816: ; preds = %if.then246
1368 %cmp.i18.i1815 = icmp eq %struct.LIST_HELP* %165, null
1369 br i1 %cmp.i18.i1815, label %list_Nconc.exit1824, label %for.cond.i1821
1370
1371for.cond.i1821: ; preds = %if.end.i1816, %for.cond.i1821
1372 %List1.addr.0.i1817 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1819, %for.cond.i1821 ], [ %164, %if.end.i1816 ]
1373 %List1.addr.0.idx15.i1818 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1817, i32 0, i32 0
1374 %List1.addr.0.idx15.val.i1819 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1818, align 4
1375 %cmp.i16.i1820 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1819, null
1376 br i1 %cmp.i16.i1820, label %for.end.i1822, label %for.cond.i1821
1377
1378for.end.i1822: ; preds = %for.cond.i1821
1379 store %struct.LIST_HELP* %165, %struct.LIST_HELP** %List1.addr.0.idx15.i1818, align 4
1380 br label %list_Nconc.exit1824
1381
1382list_Nconc.exit1824: ; preds = %if.then246, %if.end.i1816, %for.end.i1822
1383 %retval.0.i1823 = phi %struct.LIST_HELP* [ %164, %for.end.i1822 ], [ %165, %if.then246 ], [ %164, %if.end.i1816 ]
1384 store %struct.LIST_HELP* %retval.0.i1823, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
1385 br label %sw.epilog1200
1386
1387if.else250: ; preds = %sw.bb239
1388 %166 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
1389 %167 = load %struct.LIST_HELP** %list241, align 4
1390 %cmp.i.i1825 = icmp eq %struct.LIST_HELP* %166, null
1391 br i1 %cmp.i.i1825, label %list_Nconc.exit1835, label %if.end.i1827
1392
1393if.end.i1827: ; preds = %if.else250
1394 %cmp.i18.i1826 = icmp eq %struct.LIST_HELP* %167, null
1395 br i1 %cmp.i18.i1826, label %list_Nconc.exit1835, label %for.cond.i1832
1396
1397for.cond.i1832: ; preds = %if.end.i1827, %for.cond.i1832
1398 %List1.addr.0.i1828 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1830, %for.cond.i1832 ], [ %166, %if.end.i1827 ]
1399 %List1.addr.0.idx15.i1829 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1828, i32 0, i32 0
1400 %List1.addr.0.idx15.val.i1830 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1829, align 4
1401 %cmp.i16.i1831 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1830, null
1402 br i1 %cmp.i16.i1831, label %for.end.i1833, label %for.cond.i1832
1403
1404for.end.i1833: ; preds = %for.cond.i1832
1405 store %struct.LIST_HELP* %167, %struct.LIST_HELP** %List1.addr.0.idx15.i1829, align 4
1406 br label %list_Nconc.exit1835
1407
1408list_Nconc.exit1835: ; preds = %if.else250, %if.end.i1827, %for.end.i1833
1409 %retval.0.i1834 = phi %struct.LIST_HELP* [ %166, %for.end.i1833 ], [ %167, %if.else250 ], [ %166, %if.end.i1827 ]
1410 store %struct.LIST_HELP* %retval.0.i1834, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
1411 br label %sw.epilog1200
1412
1413sw.bb255: ; preds = %yyreduce
1414 store i32 1, i32* %2, align 4
1415 br label %sw.epilog1200
1416
1417sw.bb257: ; preds = %yyreduce
1418 store i32 0, i32* %2, align 4
1419 br label %sw.epilog1200
1420
1421sw.bb259: ; preds = %yyreduce
1422 store i32 0, i32* %2, align 4
1423 br label %sw.epilog1200
1424
1425sw.bb262: ; preds = %yyreduce
1426 %arrayidx263 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
1427 %term264 = bitcast %union.yystype* %arrayidx263 to %struct.term**
1428 %168 = load %struct.term** %term264, align 4
1429 %cmp265 = icmp eq %struct.term* %168, null
1430 %arrayidx268 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
1431 %string269 = bitcast %union.yystype* %arrayidx268 to i8**
1432 %169 = load i8** %string269, align 4
1433 br i1 %cmp265, label %if.then267, label %if.else279
1434
1435if.then267: ; preds = %sw.bb262
1436 %cmp270 = icmp eq i8* %169, null
1437 br i1 %cmp270, label %if.end275, label %if.then272
1438
1439if.then272: ; preds = %if.then267
1440 call void @string_StringFree(i8* %169) #1
1441 br label %if.end275
1442
1443if.end275: ; preds = %if.then267, %if.then272
1444 %arrayidx276 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
1445 %list277 = bitcast %union.yystype* %arrayidx276 to %struct.LIST_HELP**
1446 %170 = load %struct.LIST_HELP** %list277, align 4
1447 %.c1755 = ptrtoint %struct.LIST_HELP* %170 to i32
1448 br label %if.end289
1449
1450if.else279: ; preds = %sw.bb262
1451 %171 = bitcast %struct.term* %168 to %struct.LIST_HELP*
1452 %call.i.i1836 = call i8* @memory_Malloc(i32 8) #1
1453 %car.i.i1837 = getelementptr inbounds i8* %call.i.i1836, i32 4
1454 %172 = bitcast i8* %car.i.i1837 to i8**
1455 store i8* %169, i8** %172, align 4
1456 %cdr.i.i1838 = bitcast i8* %call.i.i1836 to %struct.LIST_HELP**
1457 store %struct.LIST_HELP* %171, %struct.LIST_HELP** %cdr.i.i1838, align 4
1458 %arrayidx285 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
1459 %list286 = bitcast %union.yystype* %arrayidx285 to %struct.LIST_HELP**
1460 %173 = load %struct.LIST_HELP** %list286, align 4
1461 %call.i1839 = call i8* @memory_Malloc(i32 8) #1
1462 %car.i1840 = getelementptr inbounds i8* %call.i1839, i32 4
1463 %174 = bitcast i8* %car.i1840 to i8**
1464 store i8* %call.i.i1836, i8** %174, align 4
1465 %cdr.i1841 = bitcast i8* %call.i1839 to %struct.LIST_HELP**
1466 store %struct.LIST_HELP* %173, %struct.LIST_HELP** %cdr.i1841, align 4
1467 %call287.c = ptrtoint i8* %call.i1839 to i32
1468 br label %if.end289
1469
1470if.end289: ; preds = %if.else279, %if.end275
1471 %storemerge2213 = phi i32 [ %call287.c, %if.else279 ], [ %.c1755, %if.end275 ]
1472 store i32 %storemerge2213, i32* %2, align 4
1473 %175 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
1474 %cmp.i.i1842 = icmp eq %struct.LIST_HELP* %175, null
1475 br i1 %cmp.i.i1842, label %dfg_VarCheck.exit1847, label %if.then.i1845
1476
1477if.then.i1845: ; preds = %if.end289
1478 %176 = load %struct._IO_FILE** @stdout, align 4
1479 %call1.i1843 = call i32 @fflush(%struct._IO_FILE* %176) #1
1480 %177 = load %struct._IO_FILE** @stderr, align 4
1481 %call2.i1844 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %177, i8* getelementptr inbounds ([31 x i8]* @.str27, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str28, i32 0, i32 0), i32 1881) #1
1482 call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
1483 %178 = load %struct._IO_FILE** @stderr, align 4
1484 %179 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %178) #1
1485 call fastcc void @misc_DumpCore() #1
1486 unreachable
1487
1488dfg_VarCheck.exit1847: ; preds = %if.end289
1489 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
1490 br label %sw.epilog1200
1491
1492sw.bb290: ; preds = %yyreduce
1493 store i32 0, i32* %2, align 4
1494 br label %sw.epilog1200
1495
1496sw.bb292: ; preds = %yyreduce
1497 %string294 = bitcast %union.yystype* %yyvsp.2 to i8**
1498 %180 = load i8** %string294, align 4
1499 %.c1754 = ptrtoint i8* %180 to i32
1500 store i32 %.c1754, i32* %2, align 4
1501 br label %sw.epilog1200
1502
1503sw.bb296: ; preds = %yyreduce
1504 %term298 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
1505 %181 = load %struct.term** %term298, align 4
1506 %.c1753 = ptrtoint %struct.term* %181 to i32
1507 store i32 %.c1753, i32* %2, align 4
1508 br label %sw.epilog1200
1509
1510sw.bb300: ; preds = %yyreduce
1511 %182 = load i32* @dfg_IGNORE, align 4
1512 %tobool301 = icmp eq i32 %182, 0
1513 br i1 %tobool301, label %cond.false303, label %cond.end309
1514
1515cond.false303: ; preds = %sw.bb300
1516 %183 = load i32* @fol_NOT, align 4
1517 %arrayidx305 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
1518 %term306 = bitcast %union.yystype* %arrayidx305 to %struct.term**
1519 %184 = load %struct.term** %term306, align 4
1520 %185 = bitcast %struct.term* %184 to i8*
1521 %call.i.i1848 = call i8* @memory_Malloc(i32 8) #1
1522 %186 = bitcast i8* %call.i.i1848 to %struct.LIST_HELP*
1523 %car.i.i1849 = getelementptr inbounds i8* %call.i.i1848, i32 4
1524 %187 = bitcast i8* %car.i.i1849 to i8**
1525 store i8* %185, i8** %187, align 4
1526 %cdr.i.i1850 = bitcast i8* %call.i.i1848 to %struct.LIST_HELP**
1527 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1850, align 4
1528 %call308 = call %struct.term* @term_Create(i32 %183, %struct.LIST_HELP* %186) #1
1529 %phitmp1752 = ptrtoint %struct.term* %call308 to i32
1530 br label %cond.end309
1531
1532cond.end309: ; preds = %sw.bb300, %cond.false303
1533 %cond310 = phi i32 [ %phitmp1752, %cond.false303 ], [ 0, %sw.bb300 ]
1534 store i32 %cond310, i32* %2, align 4
1535 br label %sw.epilog1200
1536
1537sw.bb312: ; preds = %yyreduce
1538 %188 = load i32* @dfg_IGNORE, align 4
1539 %tobool313 = icmp eq i32 %188, 0
1540 br i1 %tobool313, label %cond.false315, label %cond.end324
1541
1542cond.false315: ; preds = %sw.bb312
1543 %symbol = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5, i32 0
1544 %189 = load i32* %symbol, align 4
1545 %arrayidx317 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
1546 %term318 = bitcast %union.yystype* %arrayidx317 to %struct.term**
1547 %190 = load %struct.term** %term318, align 4
1548 %191 = bitcast %struct.term* %190 to i8*
1549 %arrayidx319 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
1550 %term320 = bitcast %union.yystype* %arrayidx319 to %struct.term**
1551 %192 = load %struct.term** %term320, align 4
1552 %193 = bitcast %struct.term* %192 to i8*
1553 %call.i.i1851 = call i8* @memory_Malloc(i32 8) #1
1554 %194 = bitcast i8* %call.i.i1851 to %struct.LIST_HELP*
1555 %car.i.i1852 = getelementptr inbounds i8* %call.i.i1851, i32 4
1556 %195 = bitcast i8* %car.i.i1852 to i8**
1557 store i8* %193, i8** %195, align 4
1558 %cdr.i.i1853 = bitcast i8* %call.i.i1851 to %struct.LIST_HELP**
1559 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1853, align 4
1560 %call.i1854 = call i8* @memory_Malloc(i32 8) #1
1561 %196 = bitcast i8* %call.i1854 to %struct.LIST_HELP*
1562 %car.i1855 = getelementptr inbounds i8* %call.i1854, i32 4
1563 %197 = bitcast i8* %car.i1855 to i8**
1564 store i8* %191, i8** %197, align 4
1565 %cdr.i1856 = bitcast i8* %call.i1854 to %struct.LIST_HELP**
1566 store %struct.LIST_HELP* %194, %struct.LIST_HELP** %cdr.i1856, align 4
1567 %call323 = call %struct.term* @term_Create(i32 %189, %struct.LIST_HELP* %196) #1
1568 %phitmp1751 = ptrtoint %struct.term* %call323 to i32
1569 br label %cond.end324
1570
1571cond.end324: ; preds = %sw.bb312, %cond.false315
1572 %cond325 = phi i32 [ %phitmp1751, %cond.false315 ], [ 0, %sw.bb312 ]
1573 store i32 %cond325, i32* %2, align 4
1574 br label %sw.epilog1200
1575
1576sw.bb327: ; preds = %yyreduce
1577 %198 = load i32* @dfg_IGNORE, align 4
1578 %tobool328 = icmp eq i32 %198, 0
1579 br i1 %tobool328, label %cond.false330, label %cond.end336
1580
1581cond.false330: ; preds = %sw.bb327
1582 %symbol332 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3, i32 0
1583 %199 = load i32* %symbol332, align 4
1584 %arrayidx333 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
1585 %list334 = bitcast %union.yystype* %arrayidx333 to %struct.LIST_HELP**
1586 %200 = load %struct.LIST_HELP** %list334, align 4
1587 %call335 = call %struct.term* @term_Create(i32 %199, %struct.LIST_HELP* %200) #1
1588 %phitmp1750 = ptrtoint %struct.term* %call335 to i32
1589 br label %cond.end336
1590
1591cond.end336: ; preds = %sw.bb327, %cond.false330
1592 %cond337 = phi i32 [ %phitmp1750, %cond.false330 ], [ 0, %sw.bb327 ]
1593 store i32 %cond337, i32* %2, align 4
1594 br label %sw.epilog1200
1595
1596sw.bb339: ; preds = %yyreduce
1597 %201 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
1598 %call.i.i.i1857 = call i8* @memory_Malloc(i32 8) #1
1599 %202 = bitcast i8* %call.i.i.i1857 to %struct.LIST_HELP*
1600 %car.i.i.i1858 = getelementptr inbounds i8* %call.i.i.i1857, i32 4
1601 %203 = bitcast i8* %car.i.i.i1858 to i8**
1602 store i8* null, i8** %203, align 4
1603 %cdr.i.i.i1859 = bitcast i8* %call.i.i.i1857 to %struct.LIST_HELP**
1604 store %struct.LIST_HELP* %201, %struct.LIST_HELP** %cdr.i.i.i1859, align 4
1605 store %struct.LIST_HELP* %202, %struct.LIST_HELP** @dfg_VARLIST, align 4
1606 store i1 true, i1* @dfg_VARDECL, align 1
1607 br label %sw.epilog1200
1608
1609sw.bb340: ; preds = %yyreduce
1610 store i1 false, i1* @dfg_VARDECL, align 1
1611 br label %sw.epilog1200
1612
1613sw.bb341: ; preds = %yyreduce
1614 %204 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
1615 %.idx.i1860 = getelementptr %struct.LIST_HELP* %204, i32 0, i32 1
1616 %.idx.val.i1861 = load i8** %.idx.i1860, align 4
1617 %205 = bitcast i8* %.idx.val.i1861 to %struct.LIST_HELP*
1618 call void @list_DeleteWithElement(%struct.LIST_HELP* %205, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
1619 %206 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
1620 %L.idx.i.i1862 = getelementptr %struct.LIST_HELP* %206, i32 0, i32 0
1621 %L.idx.val.i.i1863 = load %struct.LIST_HELP** %L.idx.i.i1862, align 4
1622 %207 = bitcast %struct.LIST_HELP* %206 to i8*
1623 %208 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
1624 %total_size.i.i.i.i1864 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %208, i32 0, i32 4
1625 %209 = load i32* %total_size.i.i.i.i1864, align 4
1626 %210 = load i32* @memory_FREEDBYTES, align 4
1627 %add24.i.i.i.i1865 = add i32 %210, %209
1628 store i32 %add24.i.i.i.i1865, i32* @memory_FREEDBYTES, align 4
1629 %free.i.i.i.i1866 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %208, i32 0, i32 0
1630 %211 = load i8** %free.i.i.i.i1866, align 4
1631 %.c.i.i.i1867 = bitcast i8* %211 to %struct.LIST_HELP*
1632 store %struct.LIST_HELP* %.c.i.i.i1867, %struct.LIST_HELP** %L.idx.i.i1862, align 4
1633 %212 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
1634 %free27.i.i.i.i1868 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %212, i32 0, i32 0
1635 store i8* %207, i8** %free27.i.i.i.i1868, align 4
1636 store %struct.LIST_HELP* %L.idx.val.i.i1863, %struct.LIST_HELP** @dfg_VARLIST, align 4
1637 %213 = load i32* @dfg_IGNORE, align 4
1638 %tobool342 = icmp eq i32 %213, 0
1639 br i1 %tobool342, label %cond.false344, label %cond.end352
1640
1641cond.false344: ; preds = %sw.bb341
1642 %symbol346 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -9, i32 0
1643 %214 = load i32* %symbol346, align 4
1644 %arrayidx347 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5
1645 %list348 = bitcast %union.yystype* %arrayidx347 to %struct.LIST_HELP**
1646 %215 = load %struct.LIST_HELP** %list348, align 4
1647 %arrayidx349 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
1648 %term350 = bitcast %union.yystype* %arrayidx349 to %struct.term**
1649 %216 = load %struct.term** %term350, align 4
1650 %call351 = call %struct.term* @dfg_CreateQuantifier(i32 %214, %struct.LIST_HELP* %215, %struct.term* %216)
1651 %phitmp1749 = ptrtoint %struct.term* %call351 to i32
1652 br label %cond.end352
1653
1654cond.end352: ; preds = %sw.bb341, %cond.false344
1655 %cond353 = phi i32 [ %phitmp1749, %cond.false344 ], [ 0, %sw.bb341 ]
1656 store i32 %cond353, i32* %2, align 4
1657 br label %sw.epilog1200
1658
1659sw.bb355: ; preds = %yyreduce
1660 store i32 0, i32* %2, align 4
1661 br label %sw.epilog1200
1662
1663sw.bb357: ; preds = %yyreduce
1664 %term359 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
1665 %217 = load %struct.term** %term359, align 4
1666 %.c1748 = ptrtoint %struct.term* %217 to i32
1667 store i32 %.c1748, i32* %2, align 4
1668 br label %sw.epilog1200
1669
1670sw.bb361: ; preds = %yyreduce
1671 %218 = load i32* @dfg_IGNORE, align 4
1672 %tobool362 = icmp eq i32 %218, 0
1673 br i1 %tobool362, label %cond.false365, label %cond.end369
1674
1675cond.false365: ; preds = %sw.bb361
1676 %term367 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
1677 %219 = load %struct.term** %term367, align 4
1678 %220 = bitcast %struct.term* %219 to i8*
1679 %call.i.i1869 = call i8* @memory_Malloc(i32 8) #1
1680 %car.i.i1870 = getelementptr inbounds i8* %call.i.i1869, i32 4
1681 %221 = bitcast i8* %car.i.i1870 to i8**
1682 store i8* %220, i8** %221, align 4
1683 %cdr.i.i1871 = bitcast i8* %call.i.i1869 to %struct.LIST_HELP**
1684 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1871, align 4
1685 %phitmp1747 = ptrtoint i8* %call.i.i1869 to i32
1686 br label %cond.end369
1687
1688cond.end369: ; preds = %sw.bb361, %cond.false365
1689 %cond370 = phi i32 [ %phitmp1747, %cond.false365 ], [ 0, %sw.bb361 ]
1690 store i32 %cond370, i32* %2, align 4
1691 br label %sw.epilog1200
1692
1693sw.bb372: ; preds = %yyreduce
1694 %222 = load i32* @dfg_IGNORE, align 4
1695 %tobool373 = icmp eq i32 %222, 0
1696 %arrayidx375 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
1697 %list376 = bitcast %union.yystype* %arrayidx375 to %struct.LIST_HELP**
1698 %223 = load %struct.LIST_HELP** %list376, align 4
1699 br i1 %tobool373, label %cond.false377, label %cond.end384
1700
1701cond.false377: ; preds = %sw.bb372
1702 %term381 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
1703 %224 = load %struct.term** %term381, align 4
1704 %225 = bitcast %struct.term* %224 to i8*
1705 %call.i.i1872 = call i8* @memory_Malloc(i32 8) #1
1706 %226 = bitcast i8* %call.i.i1872 to %struct.LIST_HELP*
1707 %car.i.i1873 = getelementptr inbounds i8* %call.i.i1872, i32 4
1708 %227 = bitcast i8* %car.i.i1873 to i8**
1709 store i8* %225, i8** %227, align 4
1710 %cdr.i.i1874 = bitcast i8* %call.i.i1872 to %struct.LIST_HELP**
1711 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1874, align 4
1712 %cmp.i.i1875 = icmp eq %struct.LIST_HELP* %223, null
1713 br i1 %cmp.i.i1875, label %cond.end384, label %if.end.i1877
1714
1715if.end.i1877: ; preds = %cond.false377
1716 %cmp.i18.i1876 = icmp eq i8* %call.i.i1872, null
1717 br i1 %cmp.i18.i1876, label %cond.end384, label %for.cond.i1882
1718
1719for.cond.i1882: ; preds = %if.end.i1877, %for.cond.i1882
1720 %List1.addr.0.i1878 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1880, %for.cond.i1882 ], [ %223, %if.end.i1877 ]
1721 %List1.addr.0.idx15.i1879 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1878, i32 0, i32 0
1722 %List1.addr.0.idx15.val.i1880 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1879, align 4
1723 %cmp.i16.i1881 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1880, null
1724 br i1 %cmp.i16.i1881, label %for.end.i1883, label %for.cond.i1882
1725
1726for.end.i1883: ; preds = %for.cond.i1882
1727 store %struct.LIST_HELP* %226, %struct.LIST_HELP** %List1.addr.0.idx15.i1879, align 4
1728 br label %cond.end384
1729
1730cond.end384: ; preds = %for.end.i1883, %if.end.i1877, %cond.false377, %sw.bb372
1731 %cond385 = phi %struct.LIST_HELP* [ %223, %sw.bb372 ], [ %223, %for.end.i1883 ], [ %226, %cond.false377 ], [ %223, %if.end.i1877 ]
1732 %cond385.c = ptrtoint %struct.LIST_HELP* %cond385 to i32
1733 store i32 %cond385.c, i32* %2, align 4
1734 br label %sw.epilog1200
1735
1736sw.bb387: ; preds = %yyreduce
1737 %228 = load i32* @fol_EQUIV, align 4
1738 store i32 %228, i32* %2, align 4
1739 br label %sw.epilog1200
1740
1741sw.bb390: ; preds = %yyreduce
1742 %229 = load i32* @fol_IMPLIED, align 4
1743 store i32 %229, i32* %2, align 4
1744 br label %sw.epilog1200
1745
1746sw.bb393: ; preds = %yyreduce
1747 %230 = load i32* @fol_IMPLIES, align 4
1748 store i32 %230, i32* %2, align 4
1749 br label %sw.epilog1200
1750
1751sw.bb396: ; preds = %yyreduce
1752 %231 = load i32* @fol_AND, align 4
1753 store i32 %231, i32* %2, align 4
1754 br label %sw.epilog1200
1755
1756sw.bb399: ; preds = %yyreduce
1757 %232 = load i32* @fol_OR, align 4
1758 store i32 %232, i32* %2, align 4
1759 br label %sw.epilog1200
1760
1761sw.bb402: ; preds = %yyreduce
1762 %233 = load i32* @fol_EXIST, align 4
1763 store i32 %233, i32* %2, align 4
1764 br label %sw.epilog1200
1765
1766sw.bb405: ; preds = %yyreduce
1767 %234 = load i32* @fol_ALL, align 4
1768 store i32 %234, i32* %2, align 4
1769 br label %sw.epilog1200
1770
1771sw.bb408: ; preds = %yyreduce
1772 %235 = load i32* @dfg_IGNORE, align 4
1773 %tobool409 = icmp eq i32 %235, 0
1774 %string412 = bitcast %union.yystype* %yyvsp.2 to i8**
1775 %236 = load i8** %string412, align 4
1776 br i1 %tobool409, label %if.else414, label %if.then410
1777
1778if.then410: ; preds = %sw.bb408
1779 call void @string_StringFree(i8* %236) #1
1780 store i32 0, i32* %2, align 4
1781 br label %sw.epilog1200
1782
1783if.else414: ; preds = %sw.bb408
1784 %.c1746 = ptrtoint i8* %236 to i32
1785 store i32 %.c1746, i32* %2, align 4
1786 br label %sw.epilog1200
1787
1788sw.bb419: ; preds = %yyreduce
1789 %237 = load i32* @dfg_IGNORE, align 4
1790 %tobool420 = icmp eq i32 %237, 0
1791 br i1 %tobool420, label %cond.false422, label %cond.end426
1792
1793cond.false422: ; preds = %sw.bb419
1794 %number424 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 0, i32 0
1795 %238 = load i32* %number424, align 4
1796 %call425 = call i8* @string_IntToString(i32 %238) #1
1797 %phitmp1745 = ptrtoint i8* %call425 to i32
1798 br label %cond.end426
1799
1800cond.end426: ; preds = %sw.bb419, %cond.false422
1801 %cond427 = phi i32 [ %phitmp1745, %cond.false422 ], [ 0, %sw.bb419 ]
1802 store i32 %cond427, i32* %2, align 4
1803 br label %sw.epilog1200
1804
1805sw.bb429: ; preds = %yyreduce
1806 %239 = load i32* @dfg_IGNORE, align 4
1807 %tobool430 = icmp eq i32 %239, 0
1808 br i1 %tobool430, label %cond.false432, label %cond.end434
1809
1810cond.false432: ; preds = %sw.bb429
1811 %call433 = call i8* @string_StringCopy(i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0)) #1
1812 %phitmp1744 = ptrtoint i8* %call433 to i32
1813 br label %cond.end434
1814
1815cond.end434: ; preds = %sw.bb429, %cond.false432
1816 %cond435 = phi i32 [ %phitmp1744, %cond.false432 ], [ 0, %sw.bb429 ]
1817 store i32 %cond435, i32* %2, align 4
1818 br label %sw.epilog1200
1819
1820sw.bb437: ; preds = %yyreduce
1821 %240 = load i32* @dfg_IGNORE, align 4
1822 %tobool438 = icmp eq i32 %240, 0
1823 br i1 %tobool438, label %cond.false440, label %cond.end442
1824
1825cond.false440: ; preds = %sw.bb437
1826 %call441 = call i8* @string_StringCopy(i8* getelementptr inbounds ([12 x i8]* @.str1, i32 0, i32 0)) #1
1827 %phitmp1743 = ptrtoint i8* %call441 to i32
1828 br label %cond.end442
1829
1830cond.end442: ; preds = %sw.bb437, %cond.false440
1831 %cond443 = phi i32 [ %phitmp1743, %cond.false440 ], [ 0, %sw.bb437 ]
1832 store i32 %cond443, i32* %2, align 4
1833 br label %sw.epilog1200
1834
1835sw.bb445: ; preds = %yyreduce
1836 %241 = load i32* @dfg_IGNORE, align 4
1837 %tobool446 = icmp eq i32 %241, 0
1838 br i1 %tobool446, label %cond.false448, label %cond.end450
1839
1840cond.false448: ; preds = %sw.bb445
1841 %call449 = call i8* @string_StringCopy(i8* getelementptr inbounds ([15 x i8]* @.str2, i32 0, i32 0)) #1
1842 %phitmp1742 = ptrtoint i8* %call449 to i32
1843 br label %cond.end450
1844
1845cond.end450: ; preds = %sw.bb445, %cond.false448
1846 %cond451 = phi i32 [ %phitmp1742, %cond.false448 ], [ 0, %sw.bb445 ]
1847 store i32 %cond451, i32* %2, align 4
1848 br label %sw.epilog1200
1849
1850sw.bb453: ; preds = %yyreduce
1851 %242 = load i32* @dfg_IGNORE, align 4
1852 %tobool454 = icmp eq i32 %242, 0
1853 br i1 %tobool454, label %cond.false457, label %cond.end461
1854
1855cond.false457: ; preds = %sw.bb453
1856 %term459 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
1857 %243 = load %struct.term** %term459, align 4
1858 %244 = bitcast %struct.term* %243 to i8*
1859 %call.i.i1886 = call i8* @memory_Malloc(i32 8) #1
1860 %car.i.i1887 = getelementptr inbounds i8* %call.i.i1886, i32 4
1861 %245 = bitcast i8* %car.i.i1887 to i8**
1862 store i8* %244, i8** %245, align 4
1863 %cdr.i.i1888 = bitcast i8* %call.i.i1886 to %struct.LIST_HELP**
1864 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1888, align 4
1865 %phitmp1741 = ptrtoint i8* %call.i.i1886 to i32
1866 br label %cond.end461
1867
1868cond.end461: ; preds = %sw.bb453, %cond.false457
1869 %cond462 = phi i32 [ %phitmp1741, %cond.false457 ], [ 0, %sw.bb453 ]
1870 store i32 %cond462, i32* %2, align 4
1871 br label %sw.epilog1200
1872
1873sw.bb464: ; preds = %yyreduce
1874 %246 = load i32* @dfg_IGNORE, align 4
1875 %tobool465 = icmp eq i32 %246, 0
1876 %arrayidx467 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
1877 %list468 = bitcast %union.yystype* %arrayidx467 to %struct.LIST_HELP**
1878 %247 = load %struct.LIST_HELP** %list468, align 4
1879 br i1 %tobool465, label %cond.false469, label %cond.end476
1880
1881cond.false469: ; preds = %sw.bb464
1882 %term473 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
1883 %248 = load %struct.term** %term473, align 4
1884 %249 = bitcast %struct.term* %248 to i8*
1885 %call.i.i1889 = call i8* @memory_Malloc(i32 8) #1
1886 %250 = bitcast i8* %call.i.i1889 to %struct.LIST_HELP*
1887 %car.i.i1890 = getelementptr inbounds i8* %call.i.i1889, i32 4
1888 %251 = bitcast i8* %car.i.i1890 to i8**
1889 store i8* %249, i8** %251, align 4
1890 %cdr.i.i1891 = bitcast i8* %call.i.i1889 to %struct.LIST_HELP**
1891 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1891, align 4
1892 %cmp.i.i1892 = icmp eq %struct.LIST_HELP* %247, null
1893 br i1 %cmp.i.i1892, label %cond.end476, label %if.end.i1894
1894
1895if.end.i1894: ; preds = %cond.false469
1896 %cmp.i18.i1893 = icmp eq i8* %call.i.i1889, null
1897 br i1 %cmp.i18.i1893, label %cond.end476, label %for.cond.i1899
1898
1899for.cond.i1899: ; preds = %if.end.i1894, %for.cond.i1899
1900 %List1.addr.0.i1895 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1897, %for.cond.i1899 ], [ %247, %if.end.i1894 ]
1901 %List1.addr.0.idx15.i1896 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1895, i32 0, i32 0
1902 %List1.addr.0.idx15.val.i1897 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1896, align 4
1903 %cmp.i16.i1898 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1897, null
1904 br i1 %cmp.i16.i1898, label %for.end.i1900, label %for.cond.i1899
1905
1906for.end.i1900: ; preds = %for.cond.i1899
1907 store %struct.LIST_HELP* %250, %struct.LIST_HELP** %List1.addr.0.idx15.i1896, align 4
1908 br label %cond.end476
1909
1910cond.end476: ; preds = %for.end.i1900, %if.end.i1894, %cond.false469, %sw.bb464
1911 %cond477 = phi %struct.LIST_HELP* [ %247, %sw.bb464 ], [ %247, %for.end.i1900 ], [ %250, %cond.false469 ], [ %247, %if.end.i1894 ]
1912 %cond477.c = ptrtoint %struct.LIST_HELP* %cond477 to i32
1913 store i32 %cond477.c, i32* %2, align 4
1914 br label %sw.epilog1200
1915
1916sw.bb479: ; preds = %yyreduce
1917 %252 = load i32* @dfg_IGNORE, align 4
1918 %tobool480 = icmp eq i32 %252, 0
1919 br i1 %tobool480, label %if.then481, label %sw.epilog1200
1920
1921if.then481: ; preds = %sw.bb479
1922 %string483 = bitcast %union.yystype* %yyvsp.2 to i8**
1923 %253 = load i8** %string483, align 4
1924 %call484 = call fastcc i32 @dfg_Symbol(i8* %253, i32 0)
1925 %cmp.i1903 = icmp sgt i32 %call484, 0
1926 br i1 %cmp.i1903, label %if.end489, label %if.then487
1927
1928if.then487: ; preds = %if.then481
1929 %254 = load %struct._IO_FILE** @stdout, align 4
1930 %call488 = call i32 @fflush(%struct._IO_FILE* %254) #1
1931 %255 = load i32* @dfg_LINENUMBER, align 4
1932 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([38 x i8]* @.str3, i32 0, i32 0), i32 %255) #1
1933 call fastcc void @misc_Error()
1934 unreachable
1935
1936if.end489: ; preds = %if.then481
1937 %call491 = call %struct.term* @term_Create(i32 %call484, %struct.LIST_HELP* null) #1
1938 %call491.c = ptrtoint %struct.term* %call491 to i32
1939 store i32 %call491.c, i32* %2, align 4
1940 br label %sw.epilog1200
1941
1942sw.bb494: ; preds = %yyreduce
1943 %256 = load i32* @dfg_IGNORE, align 4
1944 %tobool495 = icmp eq i32 %256, 0
1945 br i1 %tobool495, label %if.then496, label %sw.epilog1200
1946
1947if.then496: ; preds = %sw.bb494
1948 %arrayidx497 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
1949 %string498 = bitcast %union.yystype* %arrayidx497 to i8**
1950 %257 = load i8** %string498, align 4
1951 %call499 = call fastcc i32 @dfg_Symbol(i8* %257, i32 1)
1952 %tobool.i = icmp sgt i32 %call499, -1
1953 br i1 %tobool.i, label %if.then502, label %land.rhs.i
1954
1955land.rhs.i: ; preds = %if.then496
1956 %sub.i.i1904 = sub nsw i32 0, %call499
1957 %and.i.i1905 = and i32 %3, %sub.i.i1904
1958 %cmp.i1906 = icmp eq i32 %and.i.i1905, 2
1959 br i1 %cmp.i1906, label %if.end504, label %if.then502
1960
1961if.then502: ; preds = %if.then496, %land.rhs.i
1962 %258 = load %struct._IO_FILE** @stdout, align 4
1963 %call503 = call i32 @fflush(%struct._IO_FILE* %258) #1
1964 %259 = load i32* @dfg_LINENUMBER, align 4
1965 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([39 x i8]* @.str4, i32 0, i32 0), i32 %259) #1
1966 call fastcc void @misc_Error()
1967 unreachable
1968
1969if.end504: ; preds = %land.rhs.i
1970 %arrayidx505 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
1971 %string506 = bitcast %union.yystype* %arrayidx505 to i8**
1972 %260 = load i8** %string506, align 4
1973 %call507 = call fastcc i32 @dfg_Symbol(i8* %260, i32 0)
1974 %cmp.i1907 = icmp sgt i32 %call507, 0
1975 br i1 %cmp.i1907, label %if.end512, label %if.then510
1976
1977if.then510: ; preds = %if.end504
1978 %261 = load %struct._IO_FILE** @stdout, align 4
1979 %call511 = call i32 @fflush(%struct._IO_FILE* %261) #1
1980 %262 = load i32* @dfg_LINENUMBER, align 4
1981 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([38 x i8]* @.str3, i32 0, i32 0), i32 %262) #1
1982 call fastcc void @misc_Error()
1983 unreachable
1984
1985if.end512: ; preds = %if.end504
1986 %call514 = call %struct.term* @term_Create(i32 %call507, %struct.LIST_HELP* null) #1
1987 %263 = bitcast %struct.term* %call514 to i8*
1988 %call.i.i1909 = call i8* @memory_Malloc(i32 8) #1
1989 %264 = bitcast i8* %call.i.i1909 to %struct.LIST_HELP*
1990 %car.i.i1910 = getelementptr inbounds i8* %call.i.i1909, i32 4
1991 %265 = bitcast i8* %car.i.i1910 to i8**
1992 store i8* %263, i8** %265, align 4
1993 %cdr.i.i1911 = bitcast i8* %call.i.i1909 to %struct.LIST_HELP**
1994 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1911, align 4
1995 %call516 = call %struct.term* @term_Create(i32 %call499, %struct.LIST_HELP* %264) #1
1996 %call516.c = ptrtoint %struct.term* %call516 to i32
1997 store i32 %call516.c, i32* %2, align 4
1998 br label %sw.epilog1200
1999
2000sw.bb519: ; preds = %yyreduce
2001 %arrayidx520 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2002 %list521 = bitcast %union.yystype* %arrayidx520 to %struct.LIST_HELP**
2003 %266 = load %struct.LIST_HELP** %list521, align 4
2004 %call522 = call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %266) #1
2005 %bool524 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7, i32 0
2006 %267 = load i32* %bool524, align 4
2007 %tobool525 = icmp eq i32 %267, 0
2008 br i1 %tobool525, label %if.else530, label %if.then526
2009
2010if.then526: ; preds = %sw.bb519
2011 %268 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
2012 %269 = load %struct.LIST_HELP** %list521, align 4
2013 %cmp.i.i1912 = icmp eq %struct.LIST_HELP* %268, null
2014 br i1 %cmp.i.i1912, label %list_Nconc.exit1922, label %if.end.i1914
2015
2016if.end.i1914: ; preds = %if.then526
2017 %cmp.i18.i1913 = icmp eq %struct.LIST_HELP* %269, null
2018 br i1 %cmp.i18.i1913, label %list_Nconc.exit1922, label %for.cond.i1919
2019
2020for.cond.i1919: ; preds = %if.end.i1914, %for.cond.i1919
2021 %List1.addr.0.i1915 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1917, %for.cond.i1919 ], [ %268, %if.end.i1914 ]
2022 %List1.addr.0.idx15.i1916 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1915, i32 0, i32 0
2023 %List1.addr.0.idx15.val.i1917 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1916, align 4
2024 %cmp.i16.i1918 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1917, null
2025 br i1 %cmp.i16.i1918, label %for.end.i1920, label %for.cond.i1919
2026
2027for.end.i1920: ; preds = %for.cond.i1919
2028 store %struct.LIST_HELP* %269, %struct.LIST_HELP** %List1.addr.0.idx15.i1916, align 4
2029 br label %list_Nconc.exit1922
2030
2031list_Nconc.exit1922: ; preds = %if.then526, %if.end.i1914, %for.end.i1920
2032 %retval.0.i1921 = phi %struct.LIST_HELP* [ %268, %for.end.i1920 ], [ %269, %if.then526 ], [ %268, %if.end.i1914 ]
2033 store %struct.LIST_HELP* %retval.0.i1921, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
2034 br label %sw.epilog1200
2035
2036if.else530: ; preds = %sw.bb519
2037 %270 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
2038 %271 = load %struct.LIST_HELP** %list521, align 4
2039 %cmp.i.i1923 = icmp eq %struct.LIST_HELP* %270, null
2040 br i1 %cmp.i.i1923, label %list_Nconc.exit1933, label %if.end.i1925
2041
2042if.end.i1925: ; preds = %if.else530
2043 %cmp.i18.i1924 = icmp eq %struct.LIST_HELP* %271, null
2044 br i1 %cmp.i18.i1924, label %list_Nconc.exit1933, label %for.cond.i1930
2045
2046for.cond.i1930: ; preds = %if.end.i1925, %for.cond.i1930
2047 %List1.addr.0.i1926 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1928, %for.cond.i1930 ], [ %270, %if.end.i1925 ]
2048 %List1.addr.0.idx15.i1927 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1926, i32 0, i32 0
2049 %List1.addr.0.idx15.val.i1928 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1927, align 4
2050 %cmp.i16.i1929 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1928, null
2051 br i1 %cmp.i16.i1929, label %for.end.i1931, label %for.cond.i1930
2052
2053for.end.i1931: ; preds = %for.cond.i1930
2054 store %struct.LIST_HELP* %271, %struct.LIST_HELP** %List1.addr.0.idx15.i1927, align 4
2055 br label %list_Nconc.exit1933
2056
2057list_Nconc.exit1933: ; preds = %if.else530, %if.end.i1925, %for.end.i1931
2058 %retval.0.i1932 = phi %struct.LIST_HELP* [ %270, %for.end.i1931 ], [ %271, %if.else530 ], [ %270, %if.end.i1925 ]
2059 store %struct.LIST_HELP* %retval.0.i1932, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
2060 br label %sw.epilog1200
2061
2062sw.bb535: ; preds = %yyreduce
2063 %272 = load i32* @dfg_IGNORE, align 4
2064 %273 = inttoptr i32 %272 to i8*
2065 %274 = load i32* @stack_POINTER, align 4
2066 %inc.i = add i32 %274, 1
2067 store i32 %inc.i, i32* @stack_POINTER, align 4
2068 %arrayidx.i = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %274
2069 store i8* %273, i8** %arrayidx.i, align 4
2070 store i32 1, i32* @dfg_IGNORE, align 4
2071 br label %sw.epilog1200
2072
2073sw.bb536: ; preds = %yyreduce
2074 %275 = load i32* @stack_POINTER, align 4
2075 %dec.i = add i32 %275, -1
2076 store i32 %dec.i, i32* @stack_POINTER, align 4
2077 %arrayidx.i1934 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %dec.i
2078 %276 = load i8** %arrayidx.i1934, align 4
2079 %277 = ptrtoint i8* %276 to i32
2080 store i32 %277, i32* @dfg_IGNORE, align 4
2081 br label %sw.epilog1200
2082
2083sw.bb538: ; preds = %yyreduce
2084 store i32 0, i32* %2, align 4
2085 br label %sw.epilog1200
2086
2087sw.bb541: ; preds = %yyreduce
2088 %arrayidx543 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
2089 %term544 = bitcast %union.yystype* %arrayidx543 to %struct.term**
2090 %278 = load %struct.term** %term544, align 4
2091 %cmp545 = icmp eq %struct.term* %278, null
2092 %arrayidx548 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2093 %string549 = bitcast %union.yystype* %arrayidx548 to i8**
2094 %279 = load i8** %string549, align 4
2095 br i1 %cmp545, label %if.then547, label %if.else559
2096
2097if.then547: ; preds = %sw.bb541
2098 %cmp550 = icmp eq i8* %279, null
2099 br i1 %cmp550, label %if.end555, label %if.then552
2100
2101if.then552: ; preds = %if.then547
2102 call void @string_StringFree(i8* %279) #1
2103 br label %if.end555
2104
2105if.end555: ; preds = %if.then547, %if.then552
2106 %arrayidx556 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
2107 %list557 = bitcast %union.yystype* %arrayidx556 to %struct.LIST_HELP**
2108 %280 = load %struct.LIST_HELP** %list557, align 4
2109 %.c1740 = ptrtoint %struct.LIST_HELP* %280 to i32
2110 br label %if.end569
2111
2112if.else559: ; preds = %sw.bb541
2113 %281 = bitcast %struct.term* %278 to %struct.LIST_HELP*
2114 %call.i.i1935 = call i8* @memory_Malloc(i32 8) #1
2115 %car.i.i1936 = getelementptr inbounds i8* %call.i.i1935, i32 4
2116 %282 = bitcast i8* %car.i.i1936 to i8**
2117 store i8* %279, i8** %282, align 4
2118 %cdr.i.i1937 = bitcast i8* %call.i.i1935 to %struct.LIST_HELP**
2119 store %struct.LIST_HELP* %281, %struct.LIST_HELP** %cdr.i.i1937, align 4
2120 %arrayidx565 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
2121 %list566 = bitcast %union.yystype* %arrayidx565 to %struct.LIST_HELP**
2122 %283 = load %struct.LIST_HELP** %list566, align 4
2123 %call.i1938 = call i8* @memory_Malloc(i32 8) #1
2124 %car.i1939 = getelementptr inbounds i8* %call.i1938, i32 4
2125 %284 = bitcast i8* %car.i1939 to i8**
2126 store i8* %call.i.i1935, i8** %284, align 4
2127 %cdr.i1940 = bitcast i8* %call.i1938 to %struct.LIST_HELP**
2128 store %struct.LIST_HELP* %283, %struct.LIST_HELP** %cdr.i1940, align 4
2129 %call567.c = ptrtoint i8* %call.i1938 to i32
2130 br label %if.end569
2131
2132if.end569: ; preds = %if.else559, %if.end555
2133 %storemerge = phi i32 [ %call567.c, %if.else559 ], [ %.c1740, %if.end555 ]
2134 store i32 %storemerge, i32* %2, align 4
2135 %285 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
2136 %cmp.i.i1941 = icmp eq %struct.LIST_HELP* %285, null
2137 br i1 %cmp.i.i1941, label %dfg_VarCheck.exit1946, label %if.then.i1944
2138
2139if.then.i1944: ; preds = %if.end569
2140 %286 = load %struct._IO_FILE** @stdout, align 4
2141 %call1.i1942 = call i32 @fflush(%struct._IO_FILE* %286) #1
2142 %287 = load %struct._IO_FILE** @stderr, align 4
2143 %call2.i1943 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %287, i8* getelementptr inbounds ([31 x i8]* @.str27, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str28, i32 0, i32 0), i32 1881) #1
2144 call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
2145 %288 = load %struct._IO_FILE** @stderr, align 4
2146 %289 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %288) #1
2147 call fastcc void @misc_DumpCore() #1
2148 unreachable
2149
2150dfg_VarCheck.exit1946: ; preds = %if.end569
2151 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
2152 br label %sw.epilog1200
2153
2154sw.bb570: ; preds = %yyreduce
2155 store i32 0, i32* %2, align 4
2156 br label %sw.epilog1200
2157
2158sw.bb572: ; preds = %yyreduce
2159 %term574 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2160 %290 = load %struct.term** %term574, align 4
2161 %.c1739 = ptrtoint %struct.term* %290 to i32
2162 store i32 %.c1739, i32* %2, align 4
2163 br label %sw.epilog1200
2164
2165sw.bb576: ; preds = %yyreduce
2166 %term578 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2167 %291 = load %struct.term** %term578, align 4
2168 %.c1738 = ptrtoint %struct.term* %291 to i32
2169 store i32 %.c1738, i32* %2, align 4
2170 br label %sw.epilog1200
2171
2172sw.bb580: ; preds = %yyreduce
2173 %292 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
2174 %call.i.i.i1947 = call i8* @memory_Malloc(i32 8) #1
2175 %293 = bitcast i8* %call.i.i.i1947 to %struct.LIST_HELP*
2176 %car.i.i.i1948 = getelementptr inbounds i8* %call.i.i.i1947, i32 4
2177 %294 = bitcast i8* %car.i.i.i1948 to i8**
2178 store i8* null, i8** %294, align 4
2179 %cdr.i.i.i1949 = bitcast i8* %call.i.i.i1947 to %struct.LIST_HELP**
2180 store %struct.LIST_HELP* %292, %struct.LIST_HELP** %cdr.i.i.i1949, align 4
2181 store %struct.LIST_HELP* %293, %struct.LIST_HELP** @dfg_VARLIST, align 4
2182 store i1 true, i1* @dfg_VARDECL, align 1
2183 br label %sw.epilog1200
2184
2185sw.bb581: ; preds = %yyreduce
2186 store i1 false, i1* @dfg_VARDECL, align 1
2187 br label %sw.epilog1200
2188
2189sw.bb582: ; preds = %yyreduce
2190 %295 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
2191 %.idx.i1950 = getelementptr %struct.LIST_HELP* %295, i32 0, i32 1
2192 %.idx.val.i1951 = load i8** %.idx.i1950, align 4
2193 %296 = bitcast i8* %.idx.val.i1951 to %struct.LIST_HELP*
2194 call void @list_DeleteWithElement(%struct.LIST_HELP* %296, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
2195 %297 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
2196 %L.idx.i.i1952 = getelementptr %struct.LIST_HELP* %297, i32 0, i32 0
2197 %L.idx.val.i.i1953 = load %struct.LIST_HELP** %L.idx.i.i1952, align 4
2198 %298 = bitcast %struct.LIST_HELP* %297 to i8*
2199 %299 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
2200 %total_size.i.i.i.i1954 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %299, i32 0, i32 4
2201 %300 = load i32* %total_size.i.i.i.i1954, align 4
2202 %301 = load i32* @memory_FREEDBYTES, align 4
2203 %add24.i.i.i.i1955 = add i32 %301, %300
2204 store i32 %add24.i.i.i.i1955, i32* @memory_FREEDBYTES, align 4
2205 %free.i.i.i.i1956 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %299, i32 0, i32 0
2206 %302 = load i8** %free.i.i.i.i1956, align 4
2207 %.c.i.i.i1957 = bitcast i8* %302 to %struct.LIST_HELP*
2208 store %struct.LIST_HELP* %.c.i.i.i1957, %struct.LIST_HELP** %L.idx.i.i1952, align 4
2209 %303 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
2210 %free27.i.i.i.i1958 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %303, i32 0, i32 0
2211 store i8* %298, i8** %free27.i.i.i.i1958, align 4
2212 store %struct.LIST_HELP* %L.idx.val.i.i1953, %struct.LIST_HELP** @dfg_VARLIST, align 4
2213 %304 = load i32* @dfg_IGNORE, align 4
2214 %tobool583 = icmp eq i32 %304, 0
2215 br i1 %tobool583, label %cond.false585, label %cond.end592
2216
2217cond.false585: ; preds = %sw.bb582
2218 %305 = load i32* @fol_ALL, align 4
2219 %arrayidx587 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5
2220 %list588 = bitcast %union.yystype* %arrayidx587 to %struct.LIST_HELP**
2221 %306 = load %struct.LIST_HELP** %list588, align 4
2222 %arrayidx589 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
2223 %term590 = bitcast %union.yystype* %arrayidx589 to %struct.term**
2224 %307 = load %struct.term** %term590, align 4
2225 %call591 = call %struct.term* @dfg_CreateQuantifier(i32 %305, %struct.LIST_HELP* %306, %struct.term* %307)
2226 %phitmp1737 = ptrtoint %struct.term* %call591 to i32
2227 br label %cond.end592
2228
2229cond.end592: ; preds = %sw.bb582, %cond.false585
2230 %cond593 = phi i32 [ %phitmp1737, %cond.false585 ], [ 0, %sw.bb582 ]
2231 store i32 %cond593, i32* %2, align 4
2232 br label %sw.epilog1200
2233
2234sw.bb595: ; preds = %yyreduce
2235 %308 = load i32* @dfg_IGNORE, align 4
2236 %tobool596 = icmp eq i32 %308, 0
2237 br i1 %tobool596, label %cond.false598, label %cond.end603
2238
2239cond.false598: ; preds = %sw.bb595
2240 %309 = load i32* @fol_OR, align 4
2241 %arrayidx600 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
2242 %list601 = bitcast %union.yystype* %arrayidx600 to %struct.LIST_HELP**
2243 %310 = load %struct.LIST_HELP** %list601, align 4
2244 %call602 = call %struct.term* @term_Create(i32 %309, %struct.LIST_HELP* %310) #1
2245 %phitmp1736 = ptrtoint %struct.term* %call602 to i32
2246 br label %cond.end603
2247
2248cond.end603: ; preds = %sw.bb595, %cond.false598
2249 %cond604 = phi i32 [ %phitmp1736, %cond.false598 ], [ 0, %sw.bb595 ]
2250 store i32 %cond604, i32* %2, align 4
2251 br label %sw.epilog1200
2252
2253sw.bb606: ; preds = %yyreduce
2254 %311 = load i32* @dfg_IGNORE, align 4
2255 %tobool607 = icmp eq i32 %311, 0
2256 br i1 %tobool607, label %cond.false610, label %cond.end614
2257
2258cond.false610: ; preds = %sw.bb606
2259 %term612 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2260 %312 = load %struct.term** %term612, align 4
2261 %313 = bitcast %struct.term* %312 to i8*
2262 %call.i.i1959 = call i8* @memory_Malloc(i32 8) #1
2263 %car.i.i1960 = getelementptr inbounds i8* %call.i.i1959, i32 4
2264 %314 = bitcast i8* %car.i.i1960 to i8**
2265 store i8* %313, i8** %314, align 4
2266 %cdr.i.i1961 = bitcast i8* %call.i.i1959 to %struct.LIST_HELP**
2267 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1961, align 4
2268 %phitmp1735 = ptrtoint i8* %call.i.i1959 to i32
2269 br label %cond.end614
2270
2271cond.end614: ; preds = %sw.bb606, %cond.false610
2272 %cond615 = phi i32 [ %phitmp1735, %cond.false610 ], [ 0, %sw.bb606 ]
2273 store i32 %cond615, i32* %2, align 4
2274 br label %sw.epilog1200
2275
2276sw.bb617: ; preds = %yyreduce
2277 %315 = load i32* @dfg_IGNORE, align 4
2278 %tobool618 = icmp eq i32 %315, 0
2279 %arrayidx620 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2280 %list621 = bitcast %union.yystype* %arrayidx620 to %struct.LIST_HELP**
2281 %316 = load %struct.LIST_HELP** %list621, align 4
2282 br i1 %tobool618, label %cond.false622, label %cond.end629
2283
2284cond.false622: ; preds = %sw.bb617
2285 %term626 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2286 %317 = load %struct.term** %term626, align 4
2287 %318 = bitcast %struct.term* %317 to i8*
2288 %call.i.i1962 = call i8* @memory_Malloc(i32 8) #1
2289 %319 = bitcast i8* %call.i.i1962 to %struct.LIST_HELP*
2290 %car.i.i1963 = getelementptr inbounds i8* %call.i.i1962, i32 4
2291 %320 = bitcast i8* %car.i.i1963 to i8**
2292 store i8* %318, i8** %320, align 4
2293 %cdr.i.i1964 = bitcast i8* %call.i.i1962 to %struct.LIST_HELP**
2294 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1964, align 4
2295 %cmp.i.i1965 = icmp eq %struct.LIST_HELP* %316, null
2296 br i1 %cmp.i.i1965, label %cond.end629, label %if.end.i1967
2297
2298if.end.i1967: ; preds = %cond.false622
2299 %cmp.i18.i1966 = icmp eq i8* %call.i.i1962, null
2300 br i1 %cmp.i18.i1966, label %cond.end629, label %for.cond.i1972
2301
2302for.cond.i1972: ; preds = %if.end.i1967, %for.cond.i1972
2303 %List1.addr.0.i1968 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1970, %for.cond.i1972 ], [ %316, %if.end.i1967 ]
2304 %List1.addr.0.idx15.i1969 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1968, i32 0, i32 0
2305 %List1.addr.0.idx15.val.i1970 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1969, align 4
2306 %cmp.i16.i1971 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1970, null
2307 br i1 %cmp.i16.i1971, label %for.end.i1973, label %for.cond.i1972
2308
2309for.end.i1973: ; preds = %for.cond.i1972
2310 store %struct.LIST_HELP* %319, %struct.LIST_HELP** %List1.addr.0.idx15.i1969, align 4
2311 br label %cond.end629
2312
2313cond.end629: ; preds = %for.end.i1973, %if.end.i1967, %cond.false622, %sw.bb617
2314 %cond630 = phi %struct.LIST_HELP* [ %316, %sw.bb617 ], [ %316, %for.end.i1973 ], [ %319, %cond.false622 ], [ %316, %if.end.i1967 ]
2315 %cond630.c = ptrtoint %struct.LIST_HELP* %cond630 to i32
2316 store i32 %cond630.c, i32* %2, align 4
2317 br label %sw.epilog1200
2318
2319sw.bb632: ; preds = %yyreduce
2320 %term634 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2321 %321 = load %struct.term** %term634, align 4
2322 %.c1734 = ptrtoint %struct.term* %321 to i32
2323 store i32 %.c1734, i32* %2, align 4
2324 br label %sw.epilog1200
2325
2326sw.bb636: ; preds = %yyreduce
2327 %322 = load i32* @dfg_IGNORE, align 4
2328 %tobool637 = icmp eq i32 %322, 0
2329 br i1 %tobool637, label %cond.false641, label %cond.true638
2330
2331cond.true638: ; preds = %sw.bb636
2332 %arrayidx639 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
2333 %term640 = bitcast %union.yystype* %arrayidx639 to %struct.term**
2334 %323 = load %struct.term** %term640, align 4
2335 br label %cond.end647
2336
2337cond.false641: ; preds = %sw.bb636
2338 %324 = load i32* @fol_NOT, align 4
2339 %arrayidx643 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
2340 %term644 = bitcast %union.yystype* %arrayidx643 to %struct.term**
2341 %325 = load %struct.term** %term644, align 4
2342 %326 = bitcast %struct.term* %325 to i8*
2343 %call.i.i1976 = call i8* @memory_Malloc(i32 8) #1
2344 %327 = bitcast i8* %call.i.i1976 to %struct.LIST_HELP*
2345 %car.i.i1977 = getelementptr inbounds i8* %call.i.i1976, i32 4
2346 %328 = bitcast i8* %car.i.i1977 to i8**
2347 store i8* %326, i8** %328, align 4
2348 %cdr.i.i1978 = bitcast i8* %call.i.i1976 to %struct.LIST_HELP**
2349 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1978, align 4
2350 %call646 = call %struct.term* @term_Create(i32 %324, %struct.LIST_HELP* %327) #1
2351 br label %cond.end647
2352
2353cond.end647: ; preds = %cond.false641, %cond.true638
2354 %cond648 = phi %struct.term* [ %323, %cond.true638 ], [ %call646, %cond.false641 ]
2355 %cond648.c = ptrtoint %struct.term* %cond648 to i32
2356 store i32 %cond648.c, i32* %2, align 4
2357 br label %sw.epilog1200
2358
2359sw.bb650: ; preds = %yyreduce
2360 %term652 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2361 %329 = load %struct.term** %term652, align 4
2362 %330 = bitcast %struct.term* %329 to i8*
2363 %call.i.i1979 = call i8* @memory_Malloc(i32 8) #1
2364 %car.i.i1980 = getelementptr inbounds i8* %call.i.i1979, i32 4
2365 %331 = bitcast i8* %car.i.i1980 to i8**
2366 store i8* %330, i8** %331, align 4
2367 %cdr.i.i1981 = bitcast i8* %call.i.i1979 to %struct.LIST_HELP**
2368 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1981, align 4
2369 %call653.c = ptrtoint i8* %call.i.i1979 to i32
2370 store i32 %call653.c, i32* %2, align 4
2371 br label %sw.epilog1200
2372
2373sw.bb655: ; preds = %yyreduce
2374 %arrayidx656 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2375 %list657 = bitcast %union.yystype* %arrayidx656 to %struct.LIST_HELP**
2376 %332 = load %struct.LIST_HELP** %list657, align 4
2377 %term659 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2378 %333 = load %struct.term** %term659, align 4
2379 %334 = bitcast %struct.term* %333 to i8*
2380 %call.i.i1982 = call i8* @memory_Malloc(i32 8) #1
2381 %335 = bitcast i8* %call.i.i1982 to %struct.LIST_HELP*
2382 %car.i.i1983 = getelementptr inbounds i8* %call.i.i1982, i32 4
2383 %336 = bitcast i8* %car.i.i1983 to i8**
2384 store i8* %334, i8** %336, align 4
2385 %cdr.i.i1984 = bitcast i8* %call.i.i1982 to %struct.LIST_HELP**
2386 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1984, align 4
2387 %cmp.i.i1985 = icmp eq %struct.LIST_HELP* %332, null
2388 br i1 %cmp.i.i1985, label %list_Nconc.exit1995, label %if.end.i1987
2389
2390if.end.i1987: ; preds = %sw.bb655
2391 %cmp.i18.i1986 = icmp eq i8* %call.i.i1982, null
2392 br i1 %cmp.i18.i1986, label %list_Nconc.exit1995, label %for.cond.i1992
2393
2394for.cond.i1992: ; preds = %if.end.i1987, %for.cond.i1992
2395 %List1.addr.0.i1988 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1990, %for.cond.i1992 ], [ %332, %if.end.i1987 ]
2396 %List1.addr.0.idx15.i1989 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1988, i32 0, i32 0
2397 %List1.addr.0.idx15.val.i1990 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1989, align 4
2398 %cmp.i16.i1991 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1990, null
2399 br i1 %cmp.i16.i1991, label %for.end.i1993, label %for.cond.i1992
2400
2401for.end.i1993: ; preds = %for.cond.i1992
2402 store %struct.LIST_HELP* %335, %struct.LIST_HELP** %List1.addr.0.idx15.i1989, align 4
2403 br label %list_Nconc.exit1995
2404
2405list_Nconc.exit1995: ; preds = %sw.bb655, %if.end.i1987, %for.end.i1993
2406 %retval.0.i1994 = phi %struct.LIST_HELP* [ %332, %for.end.i1993 ], [ %335, %sw.bb655 ], [ %332, %if.end.i1987 ]
2407 %call661.c = ptrtoint %struct.LIST_HELP* %retval.0.i1994 to i32
2408 store i32 %call661.c, i32* %2, align 4
2409 br label %sw.epilog1200
2410
2411sw.bb663: ; preds = %yyreduce
2412 %337 = load i32* @dfg_IGNORE, align 4
2413 %tobool664 = icmp eq i32 %337, 0
2414 br i1 %tobool664, label %cond.false666, label %cond.end671
2415
2416cond.false666: ; preds = %sw.bb663
2417 %string668 = bitcast %union.yystype* %yyvsp.2 to i8**
2418 %338 = load i8** %string668, align 4
2419 %call.i1996 = call i32 @list_Length(%struct.LIST_HELP* null) #1
2420 %call1.i1997 = call fastcc i32 @dfg_Symbol(i8* %338, i32 %call.i1996) #1
2421 %tobool.i.i1998 = icmp sgt i32 %call1.i1997, -1
2422 br i1 %tobool.i.i1998, label %if.then.i2002, label %land.rhs.i.i2001
2423
2424land.rhs.i.i2001: ; preds = %cond.false666
2425 %sub.i.i.i1999 = sub nsw i32 0, %call1.i1997
2426 %and.i.i.i2000 = and i32 %3, %sub.i.i.i1999
2427 %cmp.i10.i = icmp eq i32 %and.i.i.i2000, 2
2428 br i1 %cmp.i10.i, label %dfg_AtomCreate.exit, label %if.then.i2002
2429
2430if.then.i2002: ; preds = %land.rhs.i.i2001, %cond.false666
2431 %339 = load %struct._IO_FILE** @stdout, align 4
2432 %call5.i = call i32 @fflush(%struct._IO_FILE* %339) #1
2433 %340 = load i32* @dfg_LINENUMBER, align 4
2434 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([39 x i8]* @.str4, i32 0, i32 0), i32 %340) #1
2435 call fastcc void @misc_Error() #1
2436 unreachable
2437
2438dfg_AtomCreate.exit: ; preds = %land.rhs.i.i2001
2439 %call6.i = call %struct.term* @term_Create(i32 %call1.i1997, %struct.LIST_HELP* null) #1
2440 %phitmp1733 = ptrtoint %struct.term* %call6.i to i32
2441 br label %cond.end671
2442
2443cond.end671: ; preds = %sw.bb663, %dfg_AtomCreate.exit
2444 %cond672 = phi i32 [ %phitmp1733, %dfg_AtomCreate.exit ], [ 0, %sw.bb663 ]
2445 store i32 %cond672, i32* %2, align 4
2446 br label %sw.epilog1200
2447
2448sw.bb674: ; preds = %yyreduce
2449 %341 = load i32* @dfg_IGNORE, align 4
2450 %tobool675 = icmp eq i32 %341, 0
2451 br i1 %tobool675, label %cond.false677, label %cond.end681
2452
2453cond.false677: ; preds = %sw.bb674
2454 %342 = load i32* @fol_TRUE, align 4
2455 %call680 = call %struct.term* @term_Create(i32 %342, %struct.LIST_HELP* null) #1
2456 %phitmp1732 = ptrtoint %struct.term* %call680 to i32
2457 br label %cond.end681
2458
2459cond.end681: ; preds = %sw.bb674, %cond.false677
2460 %cond682 = phi i32 [ %phitmp1732, %cond.false677 ], [ 0, %sw.bb674 ]
2461 store i32 %cond682, i32* %2, align 4
2462 br label %sw.epilog1200
2463
2464sw.bb684: ; preds = %yyreduce
2465 %343 = load i32* @dfg_IGNORE, align 4
2466 %tobool685 = icmp eq i32 %343, 0
2467 br i1 %tobool685, label %cond.false687, label %cond.end691
2468
2469cond.false687: ; preds = %sw.bb684
2470 %344 = load i32* @fol_FALSE, align 4
2471 %call690 = call %struct.term* @term_Create(i32 %344, %struct.LIST_HELP* null) #1
2472 %phitmp1731 = ptrtoint %struct.term* %call690 to i32
2473 br label %cond.end691
2474
2475cond.end691: ; preds = %sw.bb684, %cond.false687
2476 %cond692 = phi i32 [ %phitmp1731, %cond.false687 ], [ 0, %sw.bb684 ]
2477 store i32 %cond692, i32* %2, align 4
2478 br label %sw.epilog1200
2479
2480sw.bb694: ; preds = %yyreduce
2481 %345 = load i32* @dfg_IGNORE, align 4
2482 %tobool695 = icmp eq i32 %345, 0
2483 br i1 %tobool695, label %cond.false697, label %cond.end706
2484
2485cond.false697: ; preds = %sw.bb694
2486 %346 = load i32* @fol_EQUALITY, align 4
2487 %arrayidx699 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
2488 %term700 = bitcast %union.yystype* %arrayidx699 to %struct.term**
2489 %347 = load %struct.term** %term700, align 4
2490 %348 = bitcast %struct.term* %347 to i8*
2491 %arrayidx701 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
2492 %term702 = bitcast %union.yystype* %arrayidx701 to %struct.term**
2493 %349 = load %struct.term** %term702, align 4
2494 %350 = bitcast %struct.term* %349 to i8*
2495 %call.i.i2004 = call i8* @memory_Malloc(i32 8) #1
2496 %351 = bitcast i8* %call.i.i2004 to %struct.LIST_HELP*
2497 %car.i.i2005 = getelementptr inbounds i8* %call.i.i2004, i32 4
2498 %352 = bitcast i8* %car.i.i2005 to i8**
2499 store i8* %350, i8** %352, align 4
2500 %cdr.i.i2006 = bitcast i8* %call.i.i2004 to %struct.LIST_HELP**
2501 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2006, align 4
2502 %call.i2007 = call i8* @memory_Malloc(i32 8) #1
2503 %353 = bitcast i8* %call.i2007 to %struct.LIST_HELP*
2504 %car.i2008 = getelementptr inbounds i8* %call.i2007, i32 4
2505 %354 = bitcast i8* %car.i2008 to i8**
2506 store i8* %348, i8** %354, align 4
2507 %cdr.i2009 = bitcast i8* %call.i2007 to %struct.LIST_HELP**
2508 store %struct.LIST_HELP* %351, %struct.LIST_HELP** %cdr.i2009, align 4
2509 %call705 = call %struct.term* @term_Create(i32 %346, %struct.LIST_HELP* %353) #1
2510 %phitmp1730 = ptrtoint %struct.term* %call705 to i32
2511 br label %cond.end706
2512
2513cond.end706: ; preds = %sw.bb694, %cond.false697
2514 %cond707 = phi i32 [ %phitmp1730, %cond.false697 ], [ 0, %sw.bb694 ]
2515 store i32 %cond707, i32* %2, align 4
2516 br label %sw.epilog1200
2517
2518sw.bb709: ; preds = %yyreduce
2519 %355 = load i32* @dfg_IGNORE, align 4
2520 %tobool710 = icmp eq i32 %355, 0
2521 br i1 %tobool710, label %cond.false712, label %cond.end718
2522
2523cond.false712: ; preds = %sw.bb709
2524 %arrayidx713 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
2525 %string714 = bitcast %union.yystype* %arrayidx713 to i8**
2526 %356 = load i8** %string714, align 4
2527 %arrayidx715 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
2528 %list716 = bitcast %union.yystype* %arrayidx715 to %struct.LIST_HELP**
2529 %357 = load %struct.LIST_HELP** %list716, align 4
2530 %call.i2010 = call i32 @list_Length(%struct.LIST_HELP* %357) #1
2531 %call1.i2011 = call fastcc i32 @dfg_Symbol(i8* %356, i32 %call.i2010) #1
2532 %tobool.i.i2012 = icmp sgt i32 %call1.i2011, -1
2533 br i1 %tobool.i.i2012, label %if.then.i2018, label %land.rhs.i.i2016
2534
2535land.rhs.i.i2016: ; preds = %cond.false712
2536 %sub.i.i.i2013 = sub nsw i32 0, %call1.i2011
2537 %and.i.i.i2014 = and i32 %3, %sub.i.i.i2013
2538 %cmp.i10.i2015 = icmp eq i32 %and.i.i.i2014, 2
2539 br i1 %cmp.i10.i2015, label %dfg_AtomCreate.exit2021, label %if.then.i2018
2540
2541if.then.i2018: ; preds = %land.rhs.i.i2016, %cond.false712
2542 %358 = load %struct._IO_FILE** @stdout, align 4
2543 %call5.i2017 = call i32 @fflush(%struct._IO_FILE* %358) #1
2544 %359 = load i32* @dfg_LINENUMBER, align 4
2545 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([39 x i8]* @.str4, i32 0, i32 0), i32 %359) #1
2546 call fastcc void @misc_Error() #1
2547 unreachable
2548
2549dfg_AtomCreate.exit2021: ; preds = %land.rhs.i.i2016
2550 %call6.i2019 = call %struct.term* @term_Create(i32 %call1.i2011, %struct.LIST_HELP* %357) #1
2551 %phitmp1729 = ptrtoint %struct.term* %call6.i2019 to i32
2552 br label %cond.end718
2553
2554cond.end718: ; preds = %sw.bb709, %dfg_AtomCreate.exit2021
2555 %cond719 = phi i32 [ %phitmp1729, %dfg_AtomCreate.exit2021 ], [ 0, %sw.bb709 ]
2556 store i32 %cond719, i32* %2, align 4
2557 br label %sw.epilog1200
2558
2559sw.bb721: ; preds = %yyreduce
2560 %360 = load i32* @dfg_IGNORE, align 4
2561 %tobool722 = icmp eq i32 %360, 0
2562 br i1 %tobool722, label %cond.false724, label %cond.end729
2563
2564cond.false724: ; preds = %sw.bb721
2565 %string726 = bitcast %union.yystype* %yyvsp.2 to i8**
2566 %361 = load i8** %string726, align 4
2567 %call.i2022 = call i32 @list_Length(%struct.LIST_HELP* null) #1
2568 %call1.i2023 = call fastcc i32 @dfg_Symbol(i8* %361, i32 %call.i2022) #1
2569 %cmp.i.i2024 = icmp sgt i32 %call1.i2023, 0
2570 br i1 %cmp.i.i2024, label %dfg_TermCreate.exit, label %land.lhs.true.i
2571
2572land.lhs.true.i: ; preds = %cond.false724
2573 %tobool.i.i2025 = icmp sgt i32 %call1.i2023, -1
2574 br i1 %tobool.i.i2025, label %if.then.i2030, label %land.rhs.i.i2028
2575
2576land.rhs.i.i2028: ; preds = %land.lhs.true.i
2577 %sub.i6.i.i2026 = sub nsw i32 0, %call1.i2023
2578 %and.i7.i.i2027 = and i32 %3, %sub.i6.i.i2026
2579 %362 = icmp ult i32 %and.i7.i.i2027, 2
2580 br i1 %362, label %dfg_TermCreate.exit, label %if.then.i2030
2581
2582if.then.i2030: ; preds = %land.rhs.i.i2028, %land.lhs.true.i
2583 %363 = load %struct._IO_FILE** @stdout, align 4
2584 %call5.i2029 = call i32 @fflush(%struct._IO_FILE* %363) #1
2585 %364 = load i32* @dfg_LINENUMBER, align 4
2586 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([31 x i8]* @.str233, i32 0, i32 0), i32 %364) #1
2587 call fastcc void @misc_Error() #1
2588 unreachable
2589
2590dfg_TermCreate.exit: ; preds = %cond.false724, %land.rhs.i.i2028
2591 %call6.i2031 = call %struct.term* @term_Create(i32 %call1.i2023, %struct.LIST_HELP* null) #1
2592 %phitmp1728 = ptrtoint %struct.term* %call6.i2031 to i32
2593 br label %cond.end729
2594
2595cond.end729: ; preds = %sw.bb721, %dfg_TermCreate.exit
2596 %cond730 = phi i32 [ %phitmp1728, %dfg_TermCreate.exit ], [ 0, %sw.bb721 ]
2597 store i32 %cond730, i32* %2, align 4
2598 br label %sw.epilog1200
2599
2600sw.bb732: ; preds = %yyreduce
2601 %365 = load i32* @dfg_IGNORE, align 4
2602 %tobool733 = icmp eq i32 %365, 0
2603 br i1 %tobool733, label %cond.false735, label %cond.end741
2604
2605cond.false735: ; preds = %sw.bb732
2606 %arrayidx736 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
2607 %string737 = bitcast %union.yystype* %arrayidx736 to i8**
2608 %366 = load i8** %string737, align 4
2609 %arrayidx738 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
2610 %list739 = bitcast %union.yystype* %arrayidx738 to %struct.LIST_HELP**
2611 %367 = load %struct.LIST_HELP** %list739, align 4
2612 %call.i2033 = call i32 @list_Length(%struct.LIST_HELP* %367) #1
2613 %call1.i2034 = call fastcc i32 @dfg_Symbol(i8* %366, i32 %call.i2033) #1
2614 %cmp.i.i2035 = icmp sgt i32 %call1.i2034, 0
2615 br i1 %cmp.i.i2035, label %dfg_TermCreate.exit2045, label %land.lhs.true.i2037
2616
2617land.lhs.true.i2037: ; preds = %cond.false735
2618 %tobool.i.i2036 = icmp sgt i32 %call1.i2034, -1
2619 br i1 %tobool.i.i2036, label %if.then.i2042, label %land.rhs.i.i2040
2620
2621land.rhs.i.i2040: ; preds = %land.lhs.true.i2037
2622 %sub.i6.i.i2038 = sub nsw i32 0, %call1.i2034
2623 %and.i7.i.i2039 = and i32 %3, %sub.i6.i.i2038
2624 %368 = icmp ult i32 %and.i7.i.i2039, 2
2625 br i1 %368, label %dfg_TermCreate.exit2045, label %if.then.i2042
2626
2627if.then.i2042: ; preds = %land.rhs.i.i2040, %land.lhs.true.i2037
2628 %369 = load %struct._IO_FILE** @stdout, align 4
2629 %call5.i2041 = call i32 @fflush(%struct._IO_FILE* %369) #1
2630 %370 = load i32* @dfg_LINENUMBER, align 4
2631 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([31 x i8]* @.str233, i32 0, i32 0), i32 %370) #1
2632 call fastcc void @misc_Error() #1
2633 unreachable
2634
2635dfg_TermCreate.exit2045: ; preds = %cond.false735, %land.rhs.i.i2040
2636 %call6.i2043 = call %struct.term* @term_Create(i32 %call1.i2034, %struct.LIST_HELP* %367) #1
2637 %phitmp1727 = ptrtoint %struct.term* %call6.i2043 to i32
2638 br label %cond.end741
2639
2640cond.end741: ; preds = %sw.bb732, %dfg_TermCreate.exit2045
2641 %cond742 = phi i32 [ %phitmp1727, %dfg_TermCreate.exit2045 ], [ 0, %sw.bb732 ]
2642 store i32 %cond742, i32* %2, align 4
2643 br label %sw.epilog1200
2644
2645sw.bb744: ; preds = %yyreduce
2646 %371 = load i32* @dfg_IGNORE, align 4
2647 %tobool745 = icmp eq i32 %371, 0
2648 br i1 %tobool745, label %cond.false748, label %cond.end752
2649
2650cond.false748: ; preds = %sw.bb744
2651 %term750 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2652 %372 = load %struct.term** %term750, align 4
2653 %373 = bitcast %struct.term* %372 to i8*
2654 %call.i.i2046 = call i8* @memory_Malloc(i32 8) #1
2655 %car.i.i2047 = getelementptr inbounds i8* %call.i.i2046, i32 4
2656 %374 = bitcast i8* %car.i.i2047 to i8**
2657 store i8* %373, i8** %374, align 4
2658 %cdr.i.i2048 = bitcast i8* %call.i.i2046 to %struct.LIST_HELP**
2659 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2048, align 4
2660 %phitmp1726 = ptrtoint i8* %call.i.i2046 to i32
2661 br label %cond.end752
2662
2663cond.end752: ; preds = %sw.bb744, %cond.false748
2664 %cond753 = phi i32 [ %phitmp1726, %cond.false748 ], [ 0, %sw.bb744 ]
2665 store i32 %cond753, i32* %2, align 4
2666 br label %sw.epilog1200
2667
2668sw.bb755: ; preds = %yyreduce
2669 %375 = load i32* @dfg_IGNORE, align 4
2670 %tobool756 = icmp eq i32 %375, 0
2671 %arrayidx758 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2672 %list759 = bitcast %union.yystype* %arrayidx758 to %struct.LIST_HELP**
2673 %376 = load %struct.LIST_HELP** %list759, align 4
2674 br i1 %tobool756, label %cond.false760, label %cond.end767
2675
2676cond.false760: ; preds = %sw.bb755
2677 %term764 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
2678 %377 = load %struct.term** %term764, align 4
2679 %378 = bitcast %struct.term* %377 to i8*
2680 %call.i.i2049 = call i8* @memory_Malloc(i32 8) #1
2681 %379 = bitcast i8* %call.i.i2049 to %struct.LIST_HELP*
2682 %car.i.i2050 = getelementptr inbounds i8* %call.i.i2049, i32 4
2683 %380 = bitcast i8* %car.i.i2050 to i8**
2684 store i8* %378, i8** %380, align 4
2685 %cdr.i.i2051 = bitcast i8* %call.i.i2049 to %struct.LIST_HELP**
2686 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2051, align 4
2687 %cmp.i.i2052 = icmp eq %struct.LIST_HELP* %376, null
2688 br i1 %cmp.i.i2052, label %cond.end767, label %if.end.i2054
2689
2690if.end.i2054: ; preds = %cond.false760
2691 %cmp.i18.i2053 = icmp eq i8* %call.i.i2049, null
2692 br i1 %cmp.i18.i2053, label %cond.end767, label %for.cond.i2059
2693
2694for.cond.i2059: ; preds = %if.end.i2054, %for.cond.i2059
2695 %List1.addr.0.i2055 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2057, %for.cond.i2059 ], [ %376, %if.end.i2054 ]
2696 %List1.addr.0.idx15.i2056 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2055, i32 0, i32 0
2697 %List1.addr.0.idx15.val.i2057 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2056, align 4
2698 %cmp.i16.i2058 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2057, null
2699 br i1 %cmp.i16.i2058, label %for.end.i2060, label %for.cond.i2059
2700
2701for.end.i2060: ; preds = %for.cond.i2059
2702 store %struct.LIST_HELP* %379, %struct.LIST_HELP** %List1.addr.0.idx15.i2056, align 4
2703 br label %cond.end767
2704
2705cond.end767: ; preds = %for.end.i2060, %if.end.i2054, %cond.false760, %sw.bb755
2706 %cond768 = phi %struct.LIST_HELP* [ %376, %sw.bb755 ], [ %376, %for.end.i2060 ], [ %379, %cond.false760 ], [ %376, %if.end.i2054 ]
2707 %cond768.c = ptrtoint %struct.LIST_HELP* %cond768 to i32
2708 store i32 %cond768.c, i32* %2, align 4
2709 br label %sw.epilog1200
2710
2711sw.bb770: ; preds = %yyreduce
2712 %arrayidx771 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2713 %string772 = bitcast %union.yystype* %arrayidx771 to i8**
2714 %381 = load i8** %string772, align 4
2715 %call.i2063 = call i32 @strcmp(i8* %381, i8* getelementptr inbounds ([6 x i8]* @.str5, i32 0, i32 0)) #1
2716 %cmp.i2064 = icmp eq i32 %call.i2063, 0
2717 br i1 %cmp.i2064, label %sw.epilog1200, label %if.then775
2718
2719if.then775: ; preds = %sw.bb770
2720 %382 = load i32* @dfg_IGNORE, align 4
2721 %383 = inttoptr i32 %382 to i8*
2722 %384 = load i32* @stack_POINTER, align 4
2723 %inc.i2066 = add i32 %384, 1
2724 store i32 %inc.i2066, i32* @stack_POINTER, align 4
2725 %arrayidx.i2067 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %384
2726 store i8* %383, i8** %arrayidx.i2067, align 4
2727 store i32 1, i32* @dfg_IGNORE, align 4
2728 br label %sw.epilog1200
2729
2730sw.bb777: ; preds = %yyreduce
2731 %arrayidx778 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
2732 %string779 = bitcast %union.yystype* %arrayidx778 to i8**
2733 %385 = load i8** %string779, align 4
2734 %call.i2068 = call i32 @strcmp(i8* %385, i8* getelementptr inbounds ([6 x i8]* @.str5, i32 0, i32 0)) #1
2735 %cmp.i2069 = icmp eq i32 %call.i2068, 0
2736 br i1 %cmp.i2069, label %if.end784, label %if.then782
2737
2738if.then782: ; preds = %sw.bb777
2739 %386 = load i32* @stack_POINTER, align 4
2740 %dec.i2071 = add i32 %386, -1
2741 store i32 %dec.i2071, i32* @stack_POINTER, align 4
2742 %arrayidx.i2072 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %dec.i2071
2743 %387 = load i8** %arrayidx.i2072, align 4
2744 %388 = ptrtoint i8* %387 to i32
2745 store i32 %388, i32* @dfg_IGNORE, align 4
2746 %.pre = load i8** %string779, align 4
2747 br label %if.end784
2748
2749if.end784: ; preds = %sw.bb777, %if.then782
2750 %389 = phi i8* [ %385, %sw.bb777 ], [ %.pre, %if.then782 ]
2751 call void @string_StringFree(i8* %389) #1
2752 br label %sw.epilog1200
2753
2754sw.bb787: ; preds = %yyreduce
2755 %390 = load i32* @dfg_IGNORE, align 4
2756 %tobool788 = icmp eq i32 %390, 0
2757 %arrayidx789 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -11
2758 %string790 = bitcast %union.yystype* %arrayidx789 to i8**
2759 %391 = load i8** %string790, align 4
2760 br i1 %tobool788, label %land.lhs.true, label %if.else823
2761
2762land.lhs.true: ; preds = %sw.bb787
2763 %cmp791 = icmp eq i8* %391, null
2764 br i1 %cmp791, label %if.end831, label %land.lhs.true793
2765
2766land.lhs.true793: ; preds = %land.lhs.true
2767 %arrayidx794 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -9
2768 %term795 = bitcast %union.yystype* %arrayidx794 to %struct.term**
2769 %392 = load %struct.term** %term795, align 4
2770 %cmp796 = icmp eq %struct.term* %392, null
2771 br i1 %cmp796, label %if.then828, label %land.lhs.true798
2772
2773land.lhs.true798: ; preds = %land.lhs.true793
2774 %arrayidx799 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
2775 %list800 = bitcast %union.yystype* %arrayidx799 to %struct.LIST_HELP**
2776 %393 = load %struct.LIST_HELP** %list800, align 4
2777 %cmp.i2073 = icmp eq %struct.LIST_HELP* %393, null
2778 br i1 %cmp.i2073, label %if.else823, label %if.then803
2779
2780if.then803: ; preds = %land.lhs.true798
2781 %arrayidx804 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
2782 %string805 = bitcast %union.yystype* %arrayidx804 to i8**
2783 %394 = load i8** %string805, align 4
2784 %call806 = call i32 @clause_GetOriginFromString(i8* %394) #1
2785 %395 = load i8** %string805, align 4
2786 call void @string_StringFree(i8* %395) #1
2787 %number810 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2, i32 0
2788 %396 = load i32* %number810, align 4
2789 %397 = inttoptr i32 %396 to i8*
2790 %398 = inttoptr i32 %call806 to i8*
2791 %call.i.i2075 = call i8* @memory_Malloc(i32 8) #1
2792 %399 = bitcast i8* %call.i.i2075 to %struct.LIST_HELP*
2793 %car.i.i2076 = getelementptr inbounds i8* %call.i.i2075, i32 4
2794 %400 = bitcast i8* %car.i.i2076 to i8**
2795 store i8* %398, i8** %400, align 4
2796 %cdr.i.i2077 = bitcast i8* %call.i.i2075 to %struct.LIST_HELP**
2797 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2077, align 4
2798 %call.i2078 = call i8* @memory_Malloc(i32 8) #1
2799 %401 = bitcast i8* %call.i2078 to %struct.LIST_HELP*
2800 %car.i2079 = getelementptr inbounds i8* %call.i2078, i32 4
2801 %402 = bitcast i8* %car.i2079 to i8**
2802 store i8* %397, i8** %402, align 4
2803 %cdr.i2080 = bitcast i8* %call.i2078 to %struct.LIST_HELP**
2804 store %struct.LIST_HELP* %399, %struct.LIST_HELP** %cdr.i2080, align 4
2805 %403 = load i8** %string790, align 4
2806 %404 = load %struct.term** %term795, align 4
2807 %405 = bitcast %struct.term* %404 to i8*
2808 %406 = load %struct.LIST_HELP** %list800, align 4
2809 %407 = bitcast %struct.LIST_HELP* %406 to i8*
2810 %call.i2081 = call i8* @memory_Malloc(i32 8) #1
2811 %408 = bitcast i8* %call.i2081 to %struct.LIST_HELP*
2812 %car.i2082 = getelementptr inbounds i8* %call.i2081, i32 4
2813 %409 = bitcast i8* %car.i2082 to i8**
2814 store i8* %407, i8** %409, align 4
2815 %cdr.i2083 = bitcast i8* %call.i2081 to %struct.LIST_HELP**
2816 store %struct.LIST_HELP* %401, %struct.LIST_HELP** %cdr.i2083, align 4
2817 %call.i2084 = call i8* @memory_Malloc(i32 8) #1
2818 %410 = bitcast i8* %call.i2084 to %struct.LIST_HELP*
2819 %car.i2085 = getelementptr inbounds i8* %call.i2084, i32 4
2820 %411 = bitcast i8* %car.i2085 to i8**
2821 store i8* %405, i8** %411, align 4
2822 %cdr.i2086 = bitcast i8* %call.i2084 to %struct.LIST_HELP**
2823 store %struct.LIST_HELP* %408, %struct.LIST_HELP** %cdr.i2086, align 4
2824 %call.i2087 = call i8* @memory_Malloc(i32 8) #1
2825 %car.i2088 = getelementptr inbounds i8* %call.i2087, i32 4
2826 %412 = bitcast i8* %car.i2088 to i8**
2827 store i8* %403, i8** %412, align 4
2828 %cdr.i2089 = bitcast i8* %call.i2087 to %struct.LIST_HELP**
2829 store %struct.LIST_HELP* %410, %struct.LIST_HELP** %cdr.i2089, align 4
2830 %413 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
2831 %call.i2090 = call i8* @memory_Malloc(i32 8) #1
2832 %414 = bitcast i8* %call.i2090 to %struct.LIST_HELP*
2833 %car.i2091 = getelementptr inbounds i8* %call.i2090, i32 4
2834 %415 = bitcast i8* %car.i2091 to i8**
2835 store i8* %call.i2087, i8** %415, align 4
2836 %cdr.i2092 = bitcast i8* %call.i2090 to %struct.LIST_HELP**
2837 store %struct.LIST_HELP* %413, %struct.LIST_HELP** %cdr.i2092, align 4
2838 store %struct.LIST_HELP* %414, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
2839 br label %if.end850
2840
2841if.else823: ; preds = %sw.bb787, %land.lhs.true798
2842 %cmp826 = icmp eq i8* %391, null
2843 br i1 %cmp826, label %if.end831, label %if.then828
2844
2845if.then828: ; preds = %land.lhs.true793, %if.else823
2846 call void @string_StringFree(i8* %391) #1
2847 br label %if.end831
2848
2849if.end831: ; preds = %land.lhs.true, %if.else823, %if.then828
2850 %arrayidx832 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -9
2851 %term833 = bitcast %union.yystype* %arrayidx832 to %struct.term**
2852 %416 = load %struct.term** %term833, align 4
2853 %cmp834 = icmp eq %struct.term* %416, null
2854 br i1 %cmp834, label %if.end839, label %if.then836
2855
2856if.then836: ; preds = %if.end831
2857 call void @term_Delete(%struct.term* %416) #1
2858 br label %if.end839
2859
2860if.end839: ; preds = %if.end831, %if.then836
2861 %arrayidx840 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
2862 %string841 = bitcast %union.yystype* %arrayidx840 to i8**
2863 %417 = load i8** %string841, align 4
2864 %cmp842 = icmp eq i8* %417, null
2865 br i1 %cmp842, label %if.end847, label %if.then844
2866
2867if.then844: ; preds = %if.end839
2868 call void @string_StringFree(i8* %417) #1
2869 br label %if.end847
2870
2871if.end847: ; preds = %if.end839, %if.then844
2872 %arrayidx848 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
2873 %list849 = bitcast %union.yystype* %arrayidx848 to %struct.LIST_HELP**
2874 %418 = load %struct.LIST_HELP** %list849, align 4
2875 call void @list_DeleteWithElement(%struct.LIST_HELP* %418, void (i8*)* @string_StringFree) #1
2876 br label %if.end850
2877
2878if.end850: ; preds = %if.end847, %if.then803
2879 %419 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
2880 %cmp.i.i2093 = icmp eq %struct.LIST_HELP* %419, null
2881 br i1 %cmp.i.i2093, label %dfg_VarCheck.exit2098, label %if.then.i2096
2882
2883if.then.i2096: ; preds = %if.end850
2884 %420 = load %struct._IO_FILE** @stdout, align 4
2885 %call1.i2094 = call i32 @fflush(%struct._IO_FILE* %420) #1
2886 %421 = load %struct._IO_FILE** @stderr, align 4
2887 %call2.i2095 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %421, i8* getelementptr inbounds ([31 x i8]* @.str27, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str28, i32 0, i32 0), i32 1881) #1
2888 call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
2889 %422 = load %struct._IO_FILE** @stderr, align 4
2890 %423 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %422) #1
2891 call fastcc void @misc_DumpCore() #1
2892 unreachable
2893
2894dfg_VarCheck.exit2098: ; preds = %if.end850
2895 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
2896 br label %sw.epilog1200
2897
2898sw.bb851: ; preds = %yyreduce
2899 %424 = load i32* @dfg_IGNORE, align 4
2900 %tobool852 = icmp eq i32 %424, 0
2901 br i1 %tobool852, label %lor.lhs.false853, label %cond.end864
2902
2903lor.lhs.false853: ; preds = %sw.bb851
2904 %string855 = bitcast %union.yystype* %yyvsp.2 to i8**
2905 %425 = load i8** %string855, align 4
2906 %cmp856 = icmp eq i8* %425, null
2907 br i1 %cmp856, label %cond.end864, label %cond.false860
2908
2909cond.false860: ; preds = %lor.lhs.false853
2910 %call.i.i2099 = call i8* @memory_Malloc(i32 8) #1
2911 %car.i.i2100 = getelementptr inbounds i8* %call.i.i2099, i32 4
2912 %426 = bitcast i8* %car.i.i2100 to i8**
2913 store i8* %425, i8** %426, align 4
2914 %cdr.i.i2101 = bitcast i8* %call.i.i2099 to %struct.LIST_HELP**
2915 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2101, align 4
2916 %phitmp = ptrtoint i8* %call.i.i2099 to i32
2917 br label %cond.end864
2918
2919cond.end864: ; preds = %lor.lhs.false853, %sw.bb851, %cond.false860
2920 %cond865 = phi i32 [ %phitmp, %cond.false860 ], [ 0, %sw.bb851 ], [ 0, %lor.lhs.false853 ]
2921 store i32 %cond865, i32* %2, align 4
2922 br label %sw.epilog1200
2923
2924sw.bb867: ; preds = %yyreduce
2925 %427 = load i32* @dfg_IGNORE, align 4
2926 %tobool868 = icmp eq i32 %427, 0
2927 br i1 %tobool868, label %lor.lhs.false869, label %cond.true874
2928
2929lor.lhs.false869: ; preds = %sw.bb867
2930 %string871 = bitcast %union.yystype* %yyvsp.2 to i8**
2931 %428 = load i8** %string871, align 4
2932 %cmp872 = icmp eq i8* %428, null
2933 br i1 %cmp872, label %cond.true874, label %cond.false877
2934
2935cond.true874: ; preds = %sw.bb867, %lor.lhs.false869
2936 %arrayidx875 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2937 %list876 = bitcast %union.yystype* %arrayidx875 to %struct.LIST_HELP**
2938 %429 = load %struct.LIST_HELP** %list876, align 4
2939 br label %cond.end884
2940
2941cond.false877: ; preds = %lor.lhs.false869
2942 %arrayidx878 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2943 %list879 = bitcast %union.yystype* %arrayidx878 to %struct.LIST_HELP**
2944 %430 = load %struct.LIST_HELP** %list879, align 4
2945 %call.i.i2102 = call i8* @memory_Malloc(i32 8) #1
2946 %431 = bitcast i8* %call.i.i2102 to %struct.LIST_HELP*
2947 %car.i.i2103 = getelementptr inbounds i8* %call.i.i2102, i32 4
2948 %432 = bitcast i8* %car.i.i2103 to i8**
2949 store i8* %428, i8** %432, align 4
2950 %cdr.i.i2104 = bitcast i8* %call.i.i2102 to %struct.LIST_HELP**
2951 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2104, align 4
2952 %cmp.i.i2105 = icmp eq %struct.LIST_HELP* %430, null
2953 br i1 %cmp.i.i2105, label %cond.end884, label %if.end.i2107
2954
2955if.end.i2107: ; preds = %cond.false877
2956 %cmp.i18.i2106 = icmp eq i8* %call.i.i2102, null
2957 br i1 %cmp.i18.i2106, label %cond.end884, label %for.cond.i2112
2958
2959for.cond.i2112: ; preds = %if.end.i2107, %for.cond.i2112
2960 %List1.addr.0.i2108 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2110, %for.cond.i2112 ], [ %430, %if.end.i2107 ]
2961 %List1.addr.0.idx15.i2109 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2108, i32 0, i32 0
2962 %List1.addr.0.idx15.val.i2110 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2109, align 4
2963 %cmp.i16.i2111 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2110, null
2964 br i1 %cmp.i16.i2111, label %for.end.i2113, label %for.cond.i2112
2965
2966for.end.i2113: ; preds = %for.cond.i2112
2967 store %struct.LIST_HELP* %431, %struct.LIST_HELP** %List1.addr.0.idx15.i2109, align 4
2968 br label %cond.end884
2969
2970cond.end884: ; preds = %for.end.i2113, %if.end.i2107, %cond.false877, %cond.true874
2971 %cond885 = phi %struct.LIST_HELP* [ %429, %cond.true874 ], [ %430, %for.end.i2113 ], [ %431, %cond.false877 ], [ %430, %if.end.i2107 ]
2972 %cond885.c = ptrtoint %struct.LIST_HELP* %cond885 to i32
2973 store i32 %cond885.c, i32* %2, align 4
2974 br label %sw.epilog1200
2975
2976sw.bb887: ; preds = %yyreduce
2977 store i32 0, i32* %2, align 4
2978 br label %sw.epilog1200
2979
2980sw.bb889: ; preds = %yyreduce
2981 %number891 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
2982 %433 = load i32* %number891, align 4
2983 store i32 %433, i32* %2, align 4
2984 br label %sw.epilog1200
2985
2986sw.bb893: ; preds = %yyreduce
2987 %434 = load i32* @dfg_IGNORE, align 4
2988 %tobool894 = icmp eq i32 %434, 0
2989 %arrayidx896 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
2990 %string897 = bitcast %union.yystype* %arrayidx896 to i8**
2991 br i1 %tobool894, label %land.lhs.true895, label %if.else915
2992
2993land.lhs.true895: ; preds = %sw.bb893
2994 %435 = load i8** %string897, align 4
2995 %cmp898 = icmp eq i8* %435, null
2996 br i1 %cmp898, label %if.else915, label %land.lhs.true900
2997
2998land.lhs.true900: ; preds = %land.lhs.true895
2999 %string902 = bitcast %union.yystype* %yyvsp.2 to i8**
3000 %436 = load i8** %string902, align 4
3001 %cmp903 = icmp eq i8* %436, null
3002 br i1 %cmp903, label %if.else915, label %land.lhs.true905
3003
3004land.lhs.true905: ; preds = %land.lhs.true900
3005 %call.i2116 = call i32 @strcmp(i8* %435, i8* getelementptr inbounds ([11 x i8]* @.str6, i32 0, i32 0)) #1
3006 %cmp.i2117 = icmp eq i32 %call.i2116, 0
3007 br i1 %cmp.i2117, label %if.then910, label %if.else915
3008
3009if.then910: ; preds = %land.lhs.true905
3010 %call914 = call i32 @string_StringToInt(i8* %436, i32 1, i32* %2) #1
3011 br label %if.end917
3012
3013if.else915: ; preds = %sw.bb893, %land.lhs.true905, %land.lhs.true900, %land.lhs.true895
3014 store i32 0, i32* %2, align 4
3015 br label %if.end917
3016
3017if.end917: ; preds = %if.else915, %if.then910
3018 %437 = load i8** %string897, align 4
3019 %cmp920 = icmp eq i8* %437, null
3020 br i1 %cmp920, label %if.end925, label %if.then922
3021
3022if.then922: ; preds = %if.end917
3023 call void @string_StringFree(i8* %437) #1
3024 br label %if.end925
3025
3026if.end925: ; preds = %if.end917, %if.then922
3027 %string927 = bitcast %union.yystype* %yyvsp.2 to i8**
3028 %438 = load i8** %string927, align 4
3029 %cmp928 = icmp eq i8* %438, null
3030 br i1 %cmp928, label %sw.epilog1200, label %if.then930
3031
3032if.then930: ; preds = %if.end925
3033 call void @string_StringFree(i8* %438) #1
3034 br label %sw.epilog1200
3035
3036sw.bb934: ; preds = %yyreduce
3037 %439 = load i32* @dfg_IGNORE, align 4
3038 %tobool935 = icmp eq i32 %439, 0
3039 %arrayidx937 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
3040 %string938 = bitcast %union.yystype* %arrayidx937 to i8**
3041 br i1 %tobool935, label %land.lhs.true936, label %if.else956
3042
3043land.lhs.true936: ; preds = %sw.bb934
3044 %440 = load i8** %string938, align 4
3045 %cmp939 = icmp eq i8* %440, null
3046 br i1 %cmp939, label %if.else956, label %land.lhs.true941
3047
3048land.lhs.true941: ; preds = %land.lhs.true936
3049 %string943 = bitcast %union.yystype* %yyvsp.2 to i8**
3050 %441 = load i8** %string943, align 4
3051 %cmp944 = icmp eq i8* %441, null
3052 br i1 %cmp944, label %if.else956, label %land.lhs.true946
3053
3054land.lhs.true946: ; preds = %land.lhs.true941
3055 %call.i2119 = call i32 @strcmp(i8* %440, i8* getelementptr inbounds ([11 x i8]* @.str6, i32 0, i32 0)) #1
3056 %cmp.i2120 = icmp eq i32 %call.i2119, 0
3057 br i1 %cmp.i2120, label %if.then951, label %if.else956
3058
3059if.then951: ; preds = %land.lhs.true946
3060 %call955 = call i32 @string_StringToInt(i8* %441, i32 1, i32* %2) #1
3061 br label %if.end960
3062
3063if.else956: ; preds = %sw.bb934, %land.lhs.true946, %land.lhs.true941, %land.lhs.true936
3064 %number958 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4, i32 0
3065 %442 = load i32* %number958, align 4
3066 store i32 %442, i32* %2, align 4
3067 br label %if.end960
3068
3069if.end960: ; preds = %if.else956, %if.then951
3070 %443 = load i8** %string938, align 4
3071 %cmp963 = icmp eq i8* %443, null
3072 br i1 %cmp963, label %if.end968, label %if.then965
3073
3074if.then965: ; preds = %if.end960
3075 call void @string_StringFree(i8* %443) #1
3076 br label %if.end968
3077
3078if.end968: ; preds = %if.end960, %if.then965
3079 %string970 = bitcast %union.yystype* %yyvsp.2 to i8**
3080 %444 = load i8** %string970, align 4
3081 %cmp971 = icmp eq i8* %444, null
3082 br i1 %cmp971, label %sw.epilog1200, label %if.then973
3083
3084if.then973: ; preds = %if.end968
3085 call void @string_StringFree(i8* %444) #1
3086 br label %sw.epilog1200
3087
3088sw.bb977: ; preds = %yyreduce
3089 %445 = load i32* @dfg_IGNORE, align 4
3090 %446 = inttoptr i32 %445 to i8*
3091 %447 = load i32* @stack_POINTER, align 4
3092 %inc.i2122 = add i32 %447, 1
3093 store i32 %inc.i2122, i32* @stack_POINTER, align 4
3094 %arrayidx.i2123 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %447
3095 store i8* %446, i8** %arrayidx.i2123, align 4
3096 store i32 1, i32* @dfg_IGNORE, align 4
3097 br label %sw.epilog1200
3098
3099sw.bb978: ; preds = %yyreduce
3100 %448 = load i32* @stack_POINTER, align 4
3101 %dec.i2124 = add i32 %448, -1
3102 store i32 %dec.i2124, i32* @stack_POINTER, align 4
3103 %arrayidx.i2125 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %dec.i2124
3104 %449 = load i8** %arrayidx.i2125, align 4
3105 %450 = ptrtoint i8* %449 to i32
3106 store i32 %450, i32* @dfg_IGNORE, align 4
3107 %bool981 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 0, i32 0
3108 %451 = load i32* %bool981, align 4
3109 %tobool982 = icmp eq i32 %451, 0
3110 %arrayidx984 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
3111 %string985 = bitcast %union.yystype* %arrayidx984 to i8**
3112 %452 = load i8** %string985, align 4
3113 br i1 %tobool982, label %if.else993, label %if.then983
3114
3115if.then983: ; preds = %sw.bb978
3116 %cmp986 = icmp eq i8* %452, null
3117 br i1 %cmp986, label %if.end991, label %if.then988
3118
3119if.then988: ; preds = %if.then983
3120 call void @string_StringFree(i8* %452) #1
3121 br label %if.end991
3122
3123if.end991: ; preds = %if.then983, %if.then988
3124 store i32 0, i32* %2, align 4
3125 br label %sw.epilog1200
3126
3127if.else993: ; preds = %sw.bb978
3128 %.c1725 = ptrtoint i8* %452 to i32
3129 store i32 %.c1725, i32* %2, align 4
3130 br label %sw.epilog1200
3131
3132sw.bb998: ; preds = %yyreduce
3133 %string1000 = bitcast %union.yystype* %yyvsp.2 to i8**
3134 %453 = load i8** %string1000, align 4
3135 %.c1724 = ptrtoint i8* %453 to i32
3136 store i32 %.c1724, i32* %2, align 4
3137 br label %sw.epilog1200
3138
3139sw.bb1002: ; preds = %yyreduce
3140 store i32 0, i32* %2, align 4
3141 br label %sw.epilog1200
3142
3143sw.bb1004: ; preds = %yyreduce
3144 store i32 0, i32* %2, align 4
3145 br label %sw.epilog1200
3146
3147sw.bb1006: ; preds = %yyreduce
3148 store i32 0, i32* %2, align 4
3149 br label %sw.epilog1200
3150
3151sw.bb1008: ; preds = %yyreduce
3152 store i32 0, i32* %2, align 4
3153 br label %sw.epilog1200
3154
3155sw.bb1010: ; preds = %yyreduce
3156 store i32 0, i32* %2, align 4
3157 br label %sw.epilog1200
3158
3159sw.bb1012: ; preds = %yyreduce
3160 store i32 0, i32* %2, align 4
3161 br label %sw.epilog1200
3162
3163sw.bb1014: ; preds = %yyreduce
3164 store i32 0, i32* %2, align 4
3165 br label %sw.epilog1200
3166
3167sw.bb1016: ; preds = %yyreduce
3168 store i32 0, i32* %2, align 4
3169 br label %sw.epilog1200
3170
3171sw.bb1018: ; preds = %yyreduce
3172 store i32 0, i32* %2, align 4
3173 br label %sw.epilog1200
3174
3175sw.bb1020: ; preds = %yyreduce
3176 store i32 1, i32* %2, align 4
3177 br label %sw.epilog1200
3178
3179sw.bb1022: ; preds = %yyreduce
3180 store i32 1, i32* %2, align 4
3181 br label %sw.epilog1200
3182
3183sw.bb1024: ; preds = %yyreduce
3184 %term1026 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
3185 %454 = load %struct.term** %term1026, align 4
3186 %.c = ptrtoint %struct.term* %454 to i32
3187 store i32 %.c, i32* %2, align 4
3188 br label %sw.epilog1200
3189
3190sw.bb1028: ; preds = %yyreduce
3191 store i32 0, i32* %2, align 4
3192 br label %sw.epilog1200
3193
3194sw.bb1030: ; preds = %yyreduce
3195 %455 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
3196 %call.i.i.i2126 = call i8* @memory_Malloc(i32 8) #1
3197 %456 = bitcast i8* %call.i.i.i2126 to %struct.LIST_HELP*
3198 %car.i.i.i2127 = getelementptr inbounds i8* %call.i.i.i2126, i32 4
3199 %457 = bitcast i8* %car.i.i.i2127 to i8**
3200 store i8* null, i8** %457, align 4
3201 %cdr.i.i.i2128 = bitcast i8* %call.i.i.i2126 to %struct.LIST_HELP**
3202 store %struct.LIST_HELP* %455, %struct.LIST_HELP** %cdr.i.i.i2128, align 4
3203 store %struct.LIST_HELP* %456, %struct.LIST_HELP** @dfg_VARLIST, align 4
3204 store i1 true, i1* @dfg_VARDECL, align 1
3205 br label %sw.epilog1200
3206
3207sw.bb1031: ; preds = %yyreduce
3208 store i1 false, i1* @dfg_VARDECL, align 1
3209 %458 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
3210 %.idx.i2129 = getelementptr %struct.LIST_HELP* %458, i32 0, i32 1
3211 %.idx.val.i2130 = load i8** %.idx.i2129, align 4
3212 %459 = bitcast i8* %.idx.val.i2130 to %struct.LIST_HELP*
3213 call void @list_DeleteWithElement(%struct.LIST_HELP* %459, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
3214 %460 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
3215 %L.idx.i.i2131 = getelementptr %struct.LIST_HELP* %460, i32 0, i32 0
3216 %L.idx.val.i.i2132 = load %struct.LIST_HELP** %L.idx.i.i2131, align 4
3217 %461 = bitcast %struct.LIST_HELP* %460 to i8*
3218 %462 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
3219 %total_size.i.i.i.i2133 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %462, i32 0, i32 4
3220 %463 = load i32* %total_size.i.i.i.i2133, align 4
3221 %464 = load i32* @memory_FREEDBYTES, align 4
3222 %add24.i.i.i.i2134 = add i32 %464, %463
3223 store i32 %add24.i.i.i.i2134, i32* @memory_FREEDBYTES, align 4
3224 %free.i.i.i.i2135 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %462, i32 0, i32 0
3225 %465 = load i8** %free.i.i.i.i2135, align 4
3226 %.c.i.i.i2136 = bitcast i8* %465 to %struct.LIST_HELP*
3227 store %struct.LIST_HELP* %.c.i.i.i2136, %struct.LIST_HELP** %L.idx.i.i2131, align 4
3228 %466 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
3229 %free27.i.i.i.i2137 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %466, i32 0, i32 0
3230 store i8* %461, i8** %free27.i.i.i.i2137, align 4
3231 store %struct.LIST_HELP* %L.idx.val.i.i2132, %struct.LIST_HELP** @dfg_VARLIST, align 4
3232 %cmp.i.i2138 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i2132, null
3233 br i1 %cmp.i.i2138, label %dfg_VarCheck.exit2143, label %if.then.i2141
3234
3235if.then.i2141: ; preds = %sw.bb1031
3236 %467 = load %struct._IO_FILE** @stdout, align 4
3237 %call1.i2139 = call i32 @fflush(%struct._IO_FILE* %467) #1
3238 %468 = load %struct._IO_FILE** @stderr, align 4
3239 %call2.i2140 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %468, i8* getelementptr inbounds ([31 x i8]* @.str27, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str28, i32 0, i32 0), i32 1881) #1
3240 call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
3241 %469 = load %struct._IO_FILE** @stderr, align 4
3242 %470 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %469) #1
3243 call fastcc void @misc_DumpCore() #1
3244 unreachable
3245
3246dfg_VarCheck.exit2143: ; preds = %sw.bb1031
3247 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
3248 br label %sw.epilog1200
3249
3250sw.bb1032: ; preds = %yyreduce
3251 %471 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
3252 %arrayidx1033 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
3253 %term1034 = bitcast %union.yystype* %arrayidx1033 to %struct.term**
3254 %472 = load %struct.term** %term1034, align 4
3255 %473 = bitcast %struct.term* %472 to i8*
3256 %call.i.i2144 = call i8* @memory_Malloc(i32 8) #1
3257 %474 = bitcast i8* %call.i.i2144 to %struct.LIST_HELP*
3258 %car.i.i2145 = getelementptr inbounds i8* %call.i.i2144, i32 4
3259 %475 = bitcast i8* %car.i.i2145 to i8**
3260 store i8* %473, i8** %475, align 4
3261 %cdr.i.i2146 = bitcast i8* %call.i.i2144 to %struct.LIST_HELP**
3262 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2146, align 4
3263 %cmp.i.i2147 = icmp eq %struct.LIST_HELP* %471, null
3264 br i1 %cmp.i.i2147, label %list_Nconc.exit2157, label %if.end.i2149
3265
3266if.end.i2149: ; preds = %sw.bb1032
3267 %cmp.i18.i2148 = icmp eq i8* %call.i.i2144, null
3268 br i1 %cmp.i18.i2148, label %list_Nconc.exit2157, label %for.cond.i2154
3269
3270for.cond.i2154: ; preds = %if.end.i2149, %for.cond.i2154
3271 %List1.addr.0.i2150 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2152, %for.cond.i2154 ], [ %471, %if.end.i2149 ]
3272 %List1.addr.0.idx15.i2151 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2150, i32 0, i32 0
3273 %List1.addr.0.idx15.val.i2152 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2151, align 4
3274 %cmp.i16.i2153 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2152, null
3275 br i1 %cmp.i16.i2153, label %for.end.i2155, label %for.cond.i2154
3276
3277for.end.i2155: ; preds = %for.cond.i2154
3278 store %struct.LIST_HELP* %474, %struct.LIST_HELP** %List1.addr.0.idx15.i2151, align 4
3279 br label %list_Nconc.exit2157
3280
3281list_Nconc.exit2157: ; preds = %sw.bb1032, %if.end.i2149, %for.end.i2155
3282 %retval.0.i2156 = phi %struct.LIST_HELP* [ %471, %for.end.i2155 ], [ %474, %sw.bb1032 ], [ %471, %if.end.i2149 ]
3283 store %struct.LIST_HELP* %retval.0.i2156, %struct.LIST_HELP** @dfg_TERMLIST, align 4
3284 br label %sw.epilog1200
3285
3286sw.bb1037: ; preds = %yyreduce
3287 %string1039 = bitcast %union.yystype* %yyvsp.2 to i8**
3288 %476 = load i8** %string1039, align 4
3289 %call.i2158 = call i32 @strcmp(i8* %476, i8* getelementptr inbounds ([6 x i8]* @.str5, i32 0, i32 0)) #1
3290 %cmp.i2159 = icmp eq i32 %call.i2158, 0
3291 br i1 %cmp.i2159, label %if.then1042, label %if.end1043
3292
3293if.then1042: ; preds = %sw.bb1037
3294 store i32 0, i32* @dfg_IGNORETEXT, align 4
3295 %.pre2536 = load i8** %string1039, align 4
3296 br label %if.end1043
3297
3298if.end1043: ; preds = %sw.bb1037, %if.then1042
3299 %477 = phi i8* [ %476, %sw.bb1037 ], [ %.pre2536, %if.then1042 ]
3300 call void @string_StringFree(i8* %477) #1
3301 br label %sw.epilog1200
3302
3303sw.bb1046: ; preds = %yyreduce
3304 store i32 1, i32* @dfg_IGNORETEXT, align 4
3305 br label %sw.epilog1200
3306
3307sw.bb1047: ; preds = %yyreduce
3308 %string1049 = bitcast %union.yystype* %yyvsp.2 to i8**
3309 %478 = load i8** %string1049, align 4
3310 call void @string_StringFree(i8* %478) #1
3311 br label %sw.epilog1200
3312
3313for.body: ; preds = %for.body.lr.ph, %if.end1075
3314 %479 = phi %struct.LIST_HELP* [ %25, %for.body.lr.ph ], [ %L.idx.val.i, %if.end1075 ]
3315 %.idx1760 = getelementptr %struct.LIST_HELP* %479, i32 0, i32 1
3316 %.idx1760.val = load i8** %.idx1760, align 4
3317 %call1059 = call i32 @symbol_Lookup(i8* %.idx1760.val) #1
3318 %cmp1060 = icmp eq i32 %call1059, 0
3319 br i1 %cmp1060, label %if.then1062, label %if.end1067
3320
3321if.then1062: ; preds = %for.body
3322 %480 = load %struct._IO_FILE** @stdout, align 4
3323 %call1063 = call i32 @fflush(%struct._IO_FILE* %480) #1
3324 %481 = load %struct.LIST_HELP** %list1053, align 4
3325 %.idx1759 = getelementptr %struct.LIST_HELP* %481, i32 0, i32 1
3326 %.idx1759.val = load i8** %.idx1759, align 4
3327 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str7, i32 0, i32 0), i8* %.idx1759.val) #1
3328 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([19 x i8]* @.str8, i32 0, i32 0)) #1
3329 call fastcc void @misc_Error()
3330 unreachable
3331
3332if.end1067: ; preds = %for.body
3333 %tobool.i2163 = icmp sgt i32 %call1059, -1
3334 br i1 %tobool.i2163, label %if.then1070, label %land.rhs.i2167
3335
3336land.rhs.i2167: ; preds = %if.end1067
3337 %sub.i.i2164 = sub nsw i32 0, %call1059
3338 %and.i.i2165 = and i32 %3, %sub.i.i2164
3339 %cmp.i2166 = icmp eq i32 %and.i.i2165, 2
3340 br i1 %cmp.i2166, label %if.end1075, label %if.then1070
3341
3342if.then1070: ; preds = %if.end1067, %land.rhs.i2167
3343 %482 = load %struct._IO_FILE** @stdout, align 4
3344 %call1071 = call i32 @fflush(%struct._IO_FILE* %482) #1
3345 %483 = load %struct.LIST_HELP** %list1053, align 4
3346 %.idx1758 = getelementptr %struct.LIST_HELP* %483, i32 0, i32 1
3347 %.idx1758.val = load i8** %.idx1758, align 4
3348 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([30 x i8]* @.str9, i32 0, i32 0), i8* %.idx1758.val) #1
3349 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([19 x i8]* @.str8, i32 0, i32 0)) #1
3350 call fastcc void @misc_Error()
3351 unreachable
3352
3353if.end1075: ; preds = %land.rhs.i2167
3354 %484 = load %struct.LIST_HELP** %list1053, align 4
3355 %.idx = getelementptr %struct.LIST_HELP* %484, i32 0, i32 1
3356 %.idx.val = load i8** %.idx, align 4
3357 call void @string_StringFree(i8* %.idx.val) #1
3358 %shr.i.i = ashr i32 %sub.i.i2164, %4
3359 %485 = load %struct.signature*** @symbol_SIGNATURE, align 4
3360 %arrayidx.i.i = getelementptr inbounds %struct.signature** %485, i32 %shr.i.i
3361 %486 = load %struct.signature** %arrayidx.i.i, align 4
3362 %props.i = getelementptr inbounds %struct.signature* %486, i32 0, i32 4
3363 %487 = load i32* %props.i, align 4
3364 %or.i = or i32 %487, 64
3365 store i32 %or.i, i32* %props.i, align 4
3366 %488 = load %struct.LIST_HELP** %list1053, align 4
3367 %L.idx.i = getelementptr %struct.LIST_HELP* %488, i32 0, i32 0
3368 %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
3369 %489 = bitcast %struct.LIST_HELP* %488 to i8*
3370 %490 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
3371 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %490, i32 0, i32 4
3372 %491 = load i32* %total_size.i.i.i, align 4
3373 %492 = load i32* @memory_FREEDBYTES, align 4
3374 %add24.i.i.i = add i32 %492, %491
3375 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
3376 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %490, i32 0, i32 0
3377 %493 = load i8** %free.i.i.i, align 4
3378 %.c.i.i = bitcast i8* %493 to %struct.LIST_HELP*
3379 store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
3380 %494 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
3381 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %494, i32 0, i32 0
3382 store i8* %489, i8** %free27.i.i.i, align 4
3383 %call1081.c = ptrtoint %struct.LIST_HELP* %L.idx.val.i to i32
3384 store i32 %call1081.c, i32* %26, align 4
3385 %cmp.i2161 = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
3386 br i1 %cmp.i2161, label %sw.epilog1200, label %for.body
3387
3388sw.bb1084: ; preds = %yyreduce
3389 %arrayidx1085 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
3390 %string1086 = bitcast %union.yystype* %arrayidx1085 to i8**
3391 %495 = load i8** %string1086, align 4
3392 %call1087 = call i32 @flag_Id(i8* %495) #1
3393 %cmp1088 = icmp eq i32 %call1087, -1
3394 br i1 %cmp1088, label %if.then1090, label %if.end1094
3395
3396if.then1090: ; preds = %sw.bb1084
3397 %496 = load %struct._IO_FILE** @stdout, align 4
3398 %call1091 = call i32 @fflush(%struct._IO_FILE* %496) #1
3399 %497 = load i8** %string1086, align 4
3400 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([24 x i8]* @.str10, i32 0, i32 0), i8* %497) #1
3401 call fastcc void @misc_Error()
3402 unreachable
3403
3404if.end1094: ; preds = %sw.bb1084
3405 %498 = load i8** %string1086, align 4
3406 call void @string_StringFree(i8* %498) #1
3407 %499 = load i32** @dfg_FLAGS, align 4
3408 %number1098 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
3409 %500 = load i32* %number1098, align 4
3410 %call.i.i2171 = call i32 @flag_Minimum(i32 %call1087) #1
3411 %cmp.i.i2172 = icmp slt i32 %call.i.i2171, %500
3412 br i1 %cmp.i.i2172, label %if.else.i.i, label %if.then.i.i2173
3413
3414if.then.i.i2173: ; preds = %if.end1094
3415 %501 = load %struct._IO_FILE** @stdout, align 4
3416 %call1.i.i = call i32 @fflush(%struct._IO_FILE* %501) #1
3417 %call2.i.i = call i8* @flag_Name(i32 %call1087) #1
3418 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([50 x i8]* @.str231, i32 0, i32 0), i32 %500, i8* %call2.i.i) #1
3419 call fastcc void @misc_Error() #1
3420 unreachable
3421
3422if.else.i.i: ; preds = %if.end1094
3423 %call3.i.i = call i32 @flag_Maximum(i32 %call1087) #1
3424 %cmp4.i.i = icmp sgt i32 %call3.i.i, %500
3425 br i1 %cmp4.i.i, label %flag_SetFlagValue.exit, label %if.then5.i.i
3426
3427if.then5.i.i: ; preds = %if.else.i.i
3428 %502 = load %struct._IO_FILE** @stdout, align 4
3429 %call6.i.i = call i32 @fflush(%struct._IO_FILE* %502) #1
3430 %call7.i.i = call i8* @flag_Name(i32 %call1087) #1
3431 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([50 x i8]* @.str232, i32 0, i32 0), i32 %500, i8* %call7.i.i) #1
3432 call fastcc void @misc_Error() #1
3433 unreachable
3434
3435flag_SetFlagValue.exit: ; preds = %if.else.i.i
3436 %arrayidx.i2174 = getelementptr inbounds i32* %499, i32 %call1087
3437 store i32 %500, i32* %arrayidx.i2174, align 4
3438 br label %sw.epilog1200
3439
3440sw.bb1099: ; preds = %yyreduce
3441 %string1102 = bitcast %union.yystype* %yyvsp.2 to i8**
3442 %503 = load i8** %string1102, align 4
3443 %call1103 = call i32 @symbol_Lookup(i8* %503) #1
3444 %cmp1104 = icmp eq i32 %call1103, 0
3445 br i1 %cmp1104, label %if.then1106, label %if.end1110
3446
3447if.then1106: ; preds = %sw.bb1099
3448 %504 = load %struct._IO_FILE** @stdout, align 4
3449 %call1107 = call i32 @fflush(%struct._IO_FILE* %504) #1
3450 %505 = load i8** %string1102, align 4
3451 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([23 x i8]* @.str11, i32 0, i32 0), i8* %505) #1
3452 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str12, i32 0, i32 0)) #1
3453 call fastcc void @misc_Error()
3454 unreachable
3455
3456if.end1110: ; preds = %sw.bb1099
3457 %506 = load i8** %string1102, align 4
3458 call void @string_StringFree(i8* %506) #1
3459 %507 = load i32** @dfg_PRECEDENCE, align 4
3460 %call.i2175 = call i32 @symbol_GetIncreasedOrderingCounter() #1
3461 %sub.i.i.i2176 = sub nsw i32 0, %call1103
3462 %shr.i.i.i = ashr i32 %sub.i.i.i2176, %4
3463 %arrayidx.i.i2177 = getelementptr inbounds i32* %507, i32 %shr.i.i.i
3464 store i32 %call.i2175, i32* %arrayidx.i.i2177, align 4
3465 %508 = inttoptr i32 %call1103 to i8*
3466 %509 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
3467 %call.i2178 = call i8* @memory_Malloc(i32 8) #1
3468 %510 = bitcast i8* %call.i2178 to %struct.LIST_HELP*
3469 %car.i2179 = getelementptr inbounds i8* %call.i2178, i32 4
3470 %511 = bitcast i8* %car.i2179 to i8**
3471 store i8* %508, i8** %511, align 4
3472 %cdr.i2180 = bitcast i8* %call.i2178 to %struct.LIST_HELP**
3473 store %struct.LIST_HELP* %509, %struct.LIST_HELP** %cdr.i2180, align 4
3474 store %struct.LIST_HELP* %510, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
3475 br label %sw.epilog1200
3476
3477sw.bb1114: ; preds = %yyreduce
3478 %arrayidx1116 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
3479 %string1117 = bitcast %union.yystype* %arrayidx1116 to i8**
3480 %512 = load i8** %string1117, align 4
3481 %call1118 = call i32 @symbol_Lookup(i8* %512) #1
3482 %cmp1119 = icmp eq i32 %call1118, 0
3483 br i1 %cmp1119, label %if.then1121, label %if.end1125
3484
3485if.then1121: ; preds = %sw.bb1114
3486 %513 = load %struct._IO_FILE** @stdout, align 4
3487 %call1122 = call i32 @fflush(%struct._IO_FILE* %513) #1
3488 %514 = load i8** %string1117, align 4
3489 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str7, i32 0, i32 0), i8* %514) #1
3490 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([21 x i8]* @.str13, i32 0, i32 0)) #1
3491 call fastcc void @misc_Error()
3492 unreachable
3493
3494if.end1125: ; preds = %sw.bb1114
3495 %515 = load i8** %string1117, align 4
3496 call void @string_StringFree(i8* %515) #1
3497 %516 = load i32** @dfg_PRECEDENCE, align 4
3498 %call.i2181 = call i32 @symbol_GetIncreasedOrderingCounter() #1
3499 %sub.i.i.i2182 = sub nsw i32 0, %call1118
3500 %shr.i.i.i2183 = ashr i32 %sub.i.i.i2182, %4
3501 %arrayidx.i.i2184 = getelementptr inbounds i32* %516, i32 %shr.i.i.i2183
3502 store i32 %call.i2181, i32* %arrayidx.i.i2184, align 4
3503 %517 = inttoptr i32 %call1118 to i8*
3504 %518 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
3505 %call.i2185 = call i8* @memory_Malloc(i32 8) #1
3506 %519 = bitcast i8* %call.i2185 to %struct.LIST_HELP*
3507 %car.i2186 = getelementptr inbounds i8* %call.i2185, i32 4
3508 %520 = bitcast i8* %car.i2186 to i8**
3509 store i8* %517, i8** %520, align 4
3510 %cdr.i2187 = bitcast i8* %call.i2185 to %struct.LIST_HELP**
3511 store %struct.LIST_HELP* %518, %struct.LIST_HELP** %cdr.i2187, align 4
3512 store %struct.LIST_HELP* %519, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
3513 %number1130 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2, i32 0
3514 %521 = load i32* %number1130, align 4
3515 %522 = load %struct.signature*** @symbol_SIGNATURE, align 4
3516 %arrayidx.i.i2190 = getelementptr inbounds %struct.signature** %522, i32 %shr.i.i.i2183
3517 %523 = load %struct.signature** %arrayidx.i.i2190, align 4
3518 %weight.i = getelementptr inbounds %struct.signature* %523, i32 0, i32 2
3519 store i32 %521, i32* %weight.i, align 4
3520 %property = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
3521 %524 = load i32* %property, align 4
3522 %cmp1132 = icmp eq i32 %524, 0
3523 br i1 %cmp1132, label %sw.epilog1200, label %if.then1134
3524
3525if.then1134: ; preds = %if.end1125
3526 %525 = load %struct.signature*** @symbol_SIGNATURE, align 4
3527 %arrayidx.i.i2193 = getelementptr inbounds %struct.signature** %525, i32 %shr.i.i.i2183
3528 %526 = load %struct.signature** %arrayidx.i.i2193, align 4
3529 %props.i2194 = getelementptr inbounds %struct.signature* %526, i32 0, i32 4
3530 %527 = load i32* %props.i2194, align 4
3531 %or.i2195 = or i32 %527, %524
3532 store i32 %or.i2195, i32* %props.i2194, align 4
3533 br label %sw.epilog1200
3534
3535sw.bb1138: ; preds = %yyreduce
3536 store i32 0, i32* %2, align 4
3537 br label %sw.epilog1200
3538
3539sw.bb1140: ; preds = %yyreduce
3540 %string1142 = bitcast %union.yystype* %yyvsp.2 to i8**
3541 %528 = load i8** %string1142, align 4
3542 %arrayidx1143 = getelementptr inbounds i8* %528, i32 1
3543 %529 = load i8* %arrayidx1143, align 1
3544 %cmp1145 = icmp eq i8 %529, 0
3545 br i1 %cmp1145, label %lor.lhs.false1147, label %if.then1168
3546
3547lor.lhs.false1147: ; preds = %sw.bb1140
3548 %530 = load i8* %528, align 1
3549 switch i8 %530, label %if.then1168 [
3550 i8 108, label %if.end1172
3551 i8 109, label %if.end1172
3552 i8 114, label %if.end1172
3553 ]
3554
3555if.then1168: ; preds = %lor.lhs.false1147, %sw.bb1140
3556 %531 = load %struct._IO_FILE** @stdout, align 4
3557 %call1169 = call i32 @fflush(%struct._IO_FILE* %531) #1
3558 %532 = load i8** %string1142, align 4
3559 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([27 x i8]* @.str14, i32 0, i32 0), i8* %532) #1
3560 call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([21 x i8]* @.str15, i32 0, i32 0)) #1
3561 call fastcc void @misc_Error()
3562 unreachable
3563
3564if.end1172: ; preds = %lor.lhs.false1147, %lor.lhs.false1147, %lor.lhs.false1147
3565 %conv1176 = sext i8 %530 to i32
3566 switch i32 %conv1176, label %sw.default [
3567 i32 109, label %sw.bb1177
3568 i32 114, label %sw.bb1179
3569 ]
3570
3571sw.bb1177: ; preds = %if.end1172
3572 store i32 16, i32* %2, align 4
3573 br label %sw.epilog
3574
3575sw.bb1179: ; preds = %if.end1172
3576 store i32 8, i32* %2, align 4
3577 br label %sw.epilog
3578
3579sw.default: ; preds = %if.end1172
3580 store i32 0, i32* %2, align 4
3581 br label %sw.epilog
3582
3583sw.epilog: ; preds = %sw.default, %sw.bb1179, %sw.bb1177
3584 %533 = load i8** %string1142, align 4
3585 call void @string_StringFree(i8* %533) #1
3586 br label %sw.epilog1200
3587
3588sw.bb1184: ; preds = %yyreduce
3589 %arrayidx1185 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
3590 %list1186 = bitcast %union.yystype* %arrayidx1185 to %struct.LIST_HELP**
3591 %534 = load %struct.LIST_HELP** %list1186, align 4
3592 call void @list_DeleteWithElement(%struct.LIST_HELP* %534, void (i8*)* @string_StringFree) #1
3593 br label %sw.epilog1200
3594
3595sw.bb1187: ; preds = %yyreduce
3596 %string1189 = bitcast %union.yystype* %yyvsp.2 to i8**
3597 %535 = load i8** %string1189, align 4
3598 %call.i.i2196 = call i8* @memory_Malloc(i32 8) #1
3599 %car.i.i2197 = getelementptr inbounds i8* %call.i.i2196, i32 4
3600 %536 = bitcast i8* %car.i.i2197 to i8**
3601 store i8* %535, i8** %536, align 4
3602 %cdr.i.i2198 = bitcast i8* %call.i.i2196 to %struct.LIST_HELP**
3603 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2198, align 4
3604 %call1190.c = ptrtoint i8* %call.i.i2196 to i32
3605 store i32 %call1190.c, i32* %2, align 4
3606 br label %sw.epilog1200
3607
3608sw.bb1192: ; preds = %yyreduce
3609 %arrayidx1193 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
3610 %list1194 = bitcast %union.yystype* %arrayidx1193 to %struct.LIST_HELP**
3611 %537 = load %struct.LIST_HELP** %list1194, align 4
3612 %string1196 = bitcast %union.yystype* %yyvsp.2 to i8**
3613 %538 = load i8** %string1196, align 4
3614 %call.i.i2199 = call i8* @memory_Malloc(i32 8) #1
3615 %539 = bitcast i8* %call.i.i2199 to %struct.LIST_HELP*
3616 %car.i.i2200 = getelementptr inbounds i8* %call.i.i2199, i32 4
3617 %540 = bitcast i8* %car.i.i2200 to i8**
3618 store i8* %538, i8** %540, align 4
3619 %cdr.i.i2201 = bitcast i8* %call.i.i2199 to %struct.LIST_HELP**
3620 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2201, align 4
3621 %cmp.i.i2202 = icmp eq %struct.LIST_HELP* %537, null
3622 br i1 %cmp.i.i2202, label %list_Nconc.exit2212, label %if.end.i2204
3623
3624if.end.i2204: ; preds = %sw.bb1192
3625 %cmp.i18.i2203 = icmp eq i8* %call.i.i2199, null
3626 br i1 %cmp.i18.i2203, label %list_Nconc.exit2212, label %for.cond.i2209
3627
3628for.cond.i2209: ; preds = %if.end.i2204, %for.cond.i2209
3629 %List1.addr.0.i2205 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2207, %for.cond.i2209 ], [ %537, %if.end.i2204 ]
3630 %List1.addr.0.idx15.i2206 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2205, i32 0, i32 0
3631 %List1.addr.0.idx15.val.i2207 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2206, align 4
3632 %cmp.i16.i2208 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2207, null
3633 br i1 %cmp.i16.i2208, label %for.end.i2210, label %for.cond.i2209
3634
3635for.end.i2210: ; preds = %for.cond.i2209
3636 store %struct.LIST_HELP* %539, %struct.LIST_HELP** %List1.addr.0.idx15.i2206, align 4
3637 br label %list_Nconc.exit2212
3638
3639list_Nconc.exit2212: ; preds = %sw.bb1192, %if.end.i2204, %for.end.i2210
3640 %retval.0.i2211 = phi %struct.LIST_HELP* [ %537, %for.end.i2210 ], [ %539, %sw.bb1192 ], [ %537, %if.end.i2204 ]
3641 %call1198.c = ptrtoint %struct.LIST_HELP* %retval.0.i2211 to i32
3642 store i32 %call1198.c, i32* %2, align 4
3643 br label %sw.epilog1200
3644
3645sw.epilog1200: ; preds = %for.cond.preheader, %if.end1075, %sw.bb770, %sw.bb479, %sw.bb494, %if.end925, %if.end968, %if.end1125, %if.then1134, %if.end991, %if.else993, %if.then973, %if.then930, %if.then775, %list_Nconc.exit1922, %list_Nconc.exit1933, %if.end512, %if.end489, %if.then410, %if.else414, %list_Nconc.exit1824, %list_Nconc.exit1835, %yyreduce, %list_Nconc.exit2212, %sw.bb1187, %sw.bb1184, %sw.epilog, %sw.bb1138, %if.end1110, %flag_SetFlagValue.exit, %sw.bb1047, %sw.bb1046, %if.end1043, %list_Nconc.exit2157, %dfg_VarCheck.exit2143, %sw.bb1030, %sw.bb1028, %sw.bb1024, %sw.bb1022, %sw.bb1020, %sw.bb1018, %sw.bb1016, %sw.bb1014, %sw.bb1012, %sw.bb1010, %sw.bb1008, %sw.bb1006, %sw.bb1004, %sw.bb1002, %sw.bb998, %sw.bb977, %sw.bb889, %sw.bb887, %cond.end884, %cond.end864, %dfg_VarCheck.exit2098, %if.end784, %cond.end767, %cond.end752, %cond.end741, %cond.end729, %cond.end718, %cond.end706, %cond.end691, %cond.end681, %cond.end671, %list_Nconc.exit1995, %sw.bb650, %cond.end647, %sw.bb632, %cond.end629, %cond.end614, %cond.end603, %cond.end592, %sw.bb581, %sw.bb580, %sw.bb576, %sw.bb572, %sw.bb570, %dfg_VarCheck.exit1946, %sw.bb538, %sw.bb536, %sw.bb535, %cond.end476, %cond.end461, %cond.end450, %cond.end442, %cond.end434, %cond.end426, %sw.bb405, %sw.bb402, %sw.bb399, %sw.bb396, %sw.bb393, %sw.bb390, %sw.bb387, %cond.end384, %cond.end369, %sw.bb357, %sw.bb355, %cond.end352, %sw.bb340, %sw.bb339, %cond.end336, %cond.end324, %cond.end309, %sw.bb296, %sw.bb292, %sw.bb290, %dfg_VarCheck.exit1847, %sw.bb259, %sw.bb257, %sw.bb255, %sw.bb236, %sw.bb233, %sw.bb226, %sw.bb221, %sw.bb219, %sw.bb217, %dfg_SymbolGenerated.exit, %list_Nconc.exit1792, %sw.bb199, %sw.bb198, %sw.bb195, %list_Nconc.exit, %dfg_SubSort.exit, %sw.bb181, %sw.bb179, %sw.bb174, %sw.bb171, %sw.bb166, %sw.bb163, %sw.bb160, %sw.bb157, %sw.bb152, %sw.bb149, %sw.bb145, %sw.bb142, %sw.bb140, %sw.bb138, %sw.bb136, %sw.bb133, %sw.bb130, %sw.bb127, %sw.bb124, %sw.bb122, %sw.bb119, %sw.bb116
3646 %idx.neg = sub i32 0, %conv112
3647 %add.ptr1203 = getelementptr inbounds i16* %yyssp.2, i32 %idx.neg
3648 %incdec.ptr1204 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 %sub113
3649 %541 = load i32* %2, align 4
3650 %542 = getelementptr inbounds %union.yystype* %incdec.ptr1204, i32 0, i32 0
3651 store i32 %541, i32* %542, align 4
3652 %arrayidx1205 = getelementptr inbounds [197 x i8]* @yyr1, i32 0, i32 %conv106
3653 %543 = load i8* %arrayidx1205, align 1
3654 %conv1206 = zext i8 %543 to i32
3655 %sub1207 = add nsw i32 %conv1206, -71
3656 %arrayidx1208 = getelementptr inbounds [100 x i16]* @yypgoto, i32 0, i32 %sub1207
3657 %544 = load i16* %arrayidx1208, align 2
3658 %conv1209 = sext i16 %544 to i32
3659 %545 = load i16* %add.ptr1203, align 2
3660 %conv1210 = sext i16 %545 to i32
3661 %add1211 = add nsw i32 %conv1210, %conv1209
3662 %546 = icmp ult i32 %add1211, 507
3663 br i1 %546, label %land.lhs.true1217, label %if.else1226
3664
3665land.lhs.true1217: ; preds = %sw.epilog1200
3666 %arrayidx1218 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add1211
3667 %547 = load i16* %arrayidx1218, align 2
3668 %cmp1221 = icmp eq i16 %547, %545
3669 br i1 %cmp1221, label %if.then1223, label %if.else1226
3670
3671if.then1223: ; preds = %land.lhs.true1217
3672 %arrayidx1224 = getelementptr inbounds [507 x i16]* @yytable, i32 0, i32 %add1211
3673 %548 = load i16* %arrayidx1224, align 2
3674 %conv1225 = zext i16 %548 to i32
3675 br label %yynewstate
3676
3677if.else1226: ; preds = %land.lhs.true1217, %sw.epilog1200
3678 %arrayidx1228 = getelementptr inbounds [100 x i16]* @yydefgoto, i32 0, i32 %sub1207
3679 %549 = load i16* %arrayidx1228, align 2
3680 %conv1229 = sext i16 %549 to i32
3681 br label %yynewstate
3682
3683if.then1232: ; preds = %yydefault, %if.end79
3684 %550 = load i32* @dfg_nerrs, align 4
3685 %inc = add nsw i32 %550, 1
3686 store i32 %inc, i32* @dfg_nerrs, align 4
3687 %cmp1235 = icmp sgt i16 %11, -356
3688 br i1 %cmp1235, label %if.then1240, label %if.else1329
3689
3690if.then1240: ; preds = %if.then1232
3691 %551 = load i32* @dfg_char, align 4
3692 %cmp1242 = icmp ult i32 %551, 319
3693 br i1 %cmp1242, label %cond.true1244, label %cond.end1248
3694
3695cond.true1244: ; preds = %if.then1240
3696 %arrayidx1245 = getelementptr inbounds [319 x i8]* @yytranslate, i32 0, i32 %551
3697 %552 = load i8* %arrayidx1245, align 1
3698 %conv1246 = zext i8 %552 to i32
3699 br label %cond.end1248
3700
3701cond.end1248: ; preds = %if.then1240, %cond.true1244
3702 %cond1249 = phi i32 [ %conv1246, %cond.true1244 ], [ 2, %if.then1240 ]
3703 %cmp1250 = icmp slt i16 %11, 0
3704 %sub1253 = sub nsw i32 0, %conv51
3705 %sub1253. = select i1 %cmp1250, i32 %sub1253, i32 0
3706 %cmp12582218 = icmp slt i32 %sub1253., 172
3707 br i1 %cmp12582218, label %for.body1260, label %for.end1278
3708
3709for.body1260: ; preds = %cond.end1248, %for.inc1276
3710 %yycount.02221 = phi i32 [ %yycount.1, %for.inc1276 ], [ 0, %cond.end1248 ]
3711 %yyx.02220 = phi i32 [ %inc1277, %for.inc1276 ], [ %sub1253., %cond.end1248 ]
3712 %yysize1241.02219 = phi i32 [ %yysize1241.1, %for.inc1276 ], [ 0, %cond.end1248 ]
3713 %add1261 = add nsw i32 %yyx.02220, %conv51
3714 %arrayidx1262 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add1261
3715 %553 = load i16* %arrayidx1262, align 2
3716 %conv1263 = sext i16 %553 to i32
3717 %cmp1264 = icmp eq i32 %conv1263, %yyx.02220
3718 %cmp1267 = icmp ne i32 %yyx.02220, 1
3719 %or.cond1400 = and i1 %cmp1264, %cmp1267
3720 br i1 %or.cond1400, label %if.then1269, label %for.inc1276
3721
3722if.then1269: ; preds = %for.body1260
3723 %arrayidx1270 = getelementptr inbounds [172 x i8*]* @yytname, i32 0, i32 %yyx.02220
3724 %554 = load i8** %arrayidx1270, align 4
3725 %call1271 = call i32 @strlen(i8* %554) #6
3726 %add1272 = add i32 %yysize1241.02219, 15
3727 %add1273 = add i32 %add1272, %call1271
3728 %inc1274 = add nsw i32 %yycount.02221, 1
3729 br label %for.inc1276
3730
3731for.inc1276: ; preds = %for.body1260, %if.then1269
3732 %yysize1241.1 = phi i32 [ %add1273, %if.then1269 ], [ %yysize1241.02219, %for.body1260 ]
3733 %yycount.1 = phi i32 [ %inc1274, %if.then1269 ], [ %yycount.02221, %for.body1260 ]
3734 %inc1277 = add nsw i32 %yyx.02220, 1
3735 %exitcond2382 = icmp eq i32 %inc1277, 172
3736 br i1 %exitcond2382, label %for.end1278, label %for.body1260
3737
3738for.end1278: ; preds = %for.inc1276, %cond.end1248
3739 %yycount.0.lcssa = phi i32 [ 0, %cond.end1248 ], [ %yycount.1, %for.inc1276 ]
3740 %yysize1241.0.lcssa = phi i32 [ 0, %cond.end1248 ], [ %yysize1241.1, %for.inc1276 ]
3741 %add1279 = add i32 %yysize1241.0.lcssa, 25
3742 %arrayidx1280 = getelementptr inbounds [172 x i8*]* @yytname, i32 0, i32 %cond1249
3743 %555 = load i8** %arrayidx1280, align 4
3744 %call1281 = call i32 @strlen(i8* %555) #6
3745 %add1282 = add i32 %add1279, %call1281
3746 %556 = alloca i8, i32 %add1282, align 4
3747 %557 = getelementptr i8* %556, i32 24
3748 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %556, i8* getelementptr inbounds ([25 x i8]* @.str16, i32 0, i32 0), i32 25, i32 1, i1 false)
3749 %call1288 = call i8* @stpcpy(i8* %557, i8* %555) #1
3750 %cmp1289.not = icmp sgt i32 %yycount.0.lcssa, 4
3751 %cmp12582218.not = xor i1 %cmp12582218, true
3752 %brmerge = or i1 %cmp1289.not, %cmp12582218.not
3753 br i1 %brmerge, label %if.end1323, label %for.body1302
3754
3755for.body1302: ; preds = %for.end1278, %for.inc1320
3756 %yyp.02217 = phi i8* [ %yyp.1, %for.inc1320 ], [ %call1288, %for.end1278 ]
3757 %yycount.22216 = phi i32 [ %yycount.3, %for.inc1320 ], [ 0, %for.end1278 ]
3758 %yyx.12215 = phi i32 [ %inc1321, %for.inc1320 ], [ %sub1253., %for.end1278 ]
3759 %add1303 = add nsw i32 %yyx.12215, %conv51
3760 %arrayidx1304 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add1303
3761 %558 = load i16* %arrayidx1304, align 2
3762 %conv1305 = sext i16 %558 to i32
3763 %cmp1306 = icmp eq i32 %conv1305, %yyx.12215
3764 %cmp1309 = icmp ne i32 %yyx.12215, 1
3765 %or.cond1401 = and i1 %cmp1306, %cmp1309
3766 br i1 %or.cond1401, label %if.then1311, label %for.inc1320
3767
3768if.then1311: ; preds = %for.body1302
3769 %lnot1313 = icmp eq i32 %yycount.22216, 0
3770 %cond1314 = select i1 %lnot1313, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str18, i32 0, i32 0)
3771 %call1315 = call i8* @stpcpy(i8* %yyp.02217, i8* %cond1314) #1
3772 %arrayidx1316 = getelementptr inbounds [172 x i8*]* @yytname, i32 0, i32 %yyx.12215
3773 %559 = load i8** %arrayidx1316, align 4
3774 %call1317 = call i8* @stpcpy(i8* %call1315, i8* %559) #1
3775 %inc1318 = add nsw i32 %yycount.22216, 1
3776 br label %for.inc1320
3777
3778for.inc1320: ; preds = %for.body1302, %if.then1311
3779 %yycount.3 = phi i32 [ %inc1318, %if.then1311 ], [ %yycount.22216, %for.body1302 ]
3780 %yyp.1 = phi i8* [ %call1317, %if.then1311 ], [ %yyp.02217, %for.body1302 ]
3781 %inc1321 = add nsw i32 %yyx.12215, 1
3782 %exitcond = icmp eq i32 %inc1321, 172
3783 br i1 %exitcond, label %if.end1323, label %for.body1302
3784
3785if.end1323: ; preds = %for.end1278, %for.inc1320
3786 call void @dfg_error(i8* %556)
3787 unreachable
3788
3789if.else1329: ; preds = %if.then1232
3790 call void @dfg_error(i8* getelementptr inbounds ([12 x i8]* @.str20, i32 0, i32 0))
3791 unreachable
3792
3793yyoverflowlab: ; preds = %if.then
3794 call void @dfg_error(i8* getelementptr inbounds ([22 x i8]* @.str21, i32 0, i32 0))
3795 unreachable
3796
3797yyreturn: ; preds = %if.end, %if.end92, %sw.bb
3798 %yyresult.0 = phi i32 [ 0, %sw.bb ], [ 1, %if.end ], [ 0, %if.end92 ]
3799 call void @llvm.lifetime.end(i64 800, i8* %1) #1
3800 call void @llvm.lifetime.end(i64 400, i8* %0) #1
3801 ret i32 %yyresult.0
3802}
3803
3804; Function Attrs: nounwind
3805declare void @llvm.lifetime.start(i64, i8* nocapture) #1
3806
3807; Function Attrs: nounwind
3808declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) #1
3809
3810declare i32 @dfg_lex() #2
3811
3812declare void @string_StringFree(i8*) #2
3813
3814; cmp16: .ent dfg_parse
3815; cmp16: .end dfg_parse
3816
3817; Function Attrs: nounwind
3818define internal fastcc void @dfg_SymbolDecl(i32 %SymbolType, i8* %Name, i32 %Arity) #0 {
3819entry:
3820 switch i32 %Arity, label %sw.default [
3821 i32 -2, label %sw.epilog
3822 i32 -1, label %sw.bb1
3823 ]
3824
3825sw.bb1: ; preds = %entry
3826 %0 = load %struct._IO_FILE** @stdout, align 4
3827 %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
3828 %1 = load i32* @dfg_LINENUMBER, align 4
3829 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([58 x i8]* @.str52, i32 0, i32 0), i32 %1) #1
3830 tail call fastcc void @misc_Error()
3831 unreachable
3832
3833sw.default: ; preds = %entry
3834 br label %sw.epilog
3835
3836sw.epilog: ; preds = %entry, %sw.default
3837 %arity.0 = phi i32 [ %Arity, %sw.default ], [ 0, %entry ]
3838 %call2 = tail call i32 @strlen(i8* %Name) #6
3839 %cmp = icmp ugt i32 %call2, 63
3840 br i1 %cmp, label %if.then, label %if.end
3841
3842if.then: ; preds = %sw.epilog
3843 %arrayidx = getelementptr inbounds i8* %Name, i32 63
3844 store i8 0, i8* %arrayidx, align 1
3845 br label %if.end
3846
3847if.end: ; preds = %if.then, %sw.epilog
3848 %call3 = tail call i32 @symbol_Lookup(i8* %Name) #1
3849 %cmp4 = icmp eq i32 %call3, 0
3850 br i1 %cmp4, label %if.else, label %if.then5
3851
3852if.then5: ; preds = %if.end
3853 switch i32 %SymbolType, label %if.end27 [
3854 i32 284, label %land.lhs.true
3855 i32 298, label %land.lhs.true9
3856 i32 300, label %land.lhs.true16
3857 i32 294, label %land.lhs.true16
3858 ]
3859
3860land.lhs.true: ; preds = %if.then5
3861 %tobool.i = icmp sgt i32 %call3, -1
3862 br i1 %tobool.i, label %if.then19, label %land.rhs.i
3863
3864land.rhs.i: ; preds = %land.lhs.true
3865 %sub.i6.i = sub nsw i32 0, %call3
3866 %2 = load i32* @symbol_TYPEMASK, align 4
3867 %and.i7.i = and i32 %2, %sub.i6.i
3868 %3 = icmp ult i32 %and.i7.i, 2
3869 br i1 %3, label %if.end27, label %if.then19
3870
3871land.lhs.true9: ; preds = %if.then5
3872 %tobool.i77 = icmp sgt i32 %call3, -1
3873 br i1 %tobool.i77, label %if.then19, label %land.rhs.i78
3874
3875land.rhs.i78: ; preds = %land.lhs.true9
3876 %sub.i.i = sub nsw i32 0, %call3
3877 %4 = load i32* @symbol_TYPEMASK, align 4
3878 %and.i.i = and i32 %4, %sub.i.i
3879 %cmp.i = icmp eq i32 %and.i.i, 2
3880 br i1 %cmp.i, label %lor.lhs.false12, label %if.then19
3881
3882lor.lhs.false12: ; preds = %land.rhs.i78
3883 switch i32 %SymbolType, label %if.end27 [
3884 i32 300, label %land.lhs.true16
3885 i32 294, label %land.lhs.true16
3886 ]
3887
3888land.lhs.true16: ; preds = %if.then5, %if.then5, %lor.lhs.false12, %lor.lhs.false12
3889 %tobool.i80 = icmp sgt i32 %call3, -1
3890 br i1 %tobool.i80, label %if.then19, label %land.rhs.i84
3891
3892land.rhs.i84: ; preds = %land.lhs.true16
3893 %sub.i.i81 = sub nsw i32 0, %call3
3894 %5 = load i32* @symbol_TYPEMASK, align 4
3895 %and.i.i82 = and i32 %5, %sub.i.i81
3896 %cmp.i83 = icmp eq i32 %and.i.i82, 3
3897 br i1 %cmp.i83, label %if.end27, label %if.then19
3898
3899if.then19: ; preds = %land.lhs.true16, %land.lhs.true9, %land.lhs.true, %land.rhs.i, %land.rhs.i78, %land.rhs.i84
3900 %6 = load %struct._IO_FILE** @stdout, align 4
3901 %call20 = tail call i32 @fflush(%struct._IO_FILE* %6) #1
3902 %7 = load i32* @dfg_LINENUMBER, align 4
3903 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([46 x i8]* @.str53, i32 0, i32 0), i32 %7, i8* %Name) #1
3904 %sub.i = sub nsw i32 0, %call3
3905 %8 = load i32* @symbol_TYPEMASK, align 4
3906 %and.i = and i32 %8, %sub.i
3907 switch i32 %and.i, label %sw.default25 [
3908 i32 0, label %sw.bb22
3909 i32 1, label %sw.bb22
3910 i32 2, label %sw.bb23
3911 i32 3, label %sw.bb24
3912 ]
3913
3914sw.bb22: ; preds = %if.then19, %if.then19
3915 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([11 x i8]* @.str54, i32 0, i32 0)) #1
3916 br label %sw.epilog26
3917
3918sw.bb23: ; preds = %if.then19
3919 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([12 x i8]* @.str55, i32 0, i32 0)) #1
3920 br label %sw.epilog26
3921
3922sw.bb24: ; preds = %if.then19
3923 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([10 x i8]* @.str56, i32 0, i32 0)) #1
3924 br label %sw.epilog26
3925
3926sw.default25: ; preds = %if.then19
3927 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([15 x i8]* @.str57, i32 0, i32 0)) #1
3928 br label %sw.epilog26
3929
3930sw.epilog26: ; preds = %sw.default25, %sw.bb24, %sw.bb23, %sw.bb22
3931 tail call fastcc void @misc_Error()
3932 unreachable
3933
3934if.end27: ; preds = %land.rhs.i, %land.rhs.i84, %if.then5, %lor.lhs.false12
3935 %cmp28 = icmp eq i32 %Arity, -2
3936 br i1 %cmp28, label %if.end46, label %land.lhs.true29
3937
3938land.lhs.true29: ; preds = %if.end27
3939 %sub.i.i88 = sub nsw i32 0, %call3
3940 %9 = load i32* @symbol_TYPESTATBITS, align 4
3941 %shr.i.i89 = ashr i32 %sub.i.i88, %9
3942 %10 = load %struct.signature*** @symbol_SIGNATURE, align 4
3943 %arrayidx.i.i90 = getelementptr inbounds %struct.signature** %10, i32 %shr.i.i89
3944 %11 = load %struct.signature** %arrayidx.i.i90, align 4
3945 %arity.i91 = getelementptr inbounds %struct.signature* %11, i32 0, i32 3
3946 %12 = load i32* %arity.i91, align 4
3947 %cmp31 = icmp eq i32 %12, %Arity
3948 br i1 %cmp31, label %if.end46, label %if.then32
3949
3950if.then32: ; preds = %land.lhs.true29
3951 %13 = load %struct._IO_FILE** @stdout, align 4
3952 %call33 = tail call i32 @fflush(%struct._IO_FILE* %13) #1
3953 %14 = load i32* @dfg_LINENUMBER, align 4
3954 %15 = load %struct.signature*** @symbol_SIGNATURE, align 4
3955 %arrayidx.i.i = getelementptr inbounds %struct.signature** %15, i32 %shr.i.i89
3956 %16 = load %struct.signature** %arrayidx.i.i, align 4
3957 %arity.i87 = getelementptr inbounds %struct.signature* %16, i32 0, i32 3
3958 %17 = load i32* %arity.i87, align 4
3959 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([57 x i8]* @.str58, i32 0, i32 0), i32 %14, i8* %Name, i32 %17) #1
3960 tail call fastcc void @misc_Error()
3961 unreachable
3962
3963if.else: ; preds = %if.end
3964 switch i32 %SymbolType, label %sw.default40 [
3965 i32 284, label %sw.bb36
3966 i32 298, label %sw.bb38
3967 ]
3968
3969sw.bb36: ; preds = %if.else
3970 %18 = load i32** @dfg_PRECEDENCE, align 4
3971 %call37 = tail call i32 @symbol_CreateFunction(i8* %Name, i32 %arity.0, i32 0, i32* %18) #1
3972 br label %sw.epilog42
3973
3974sw.bb38: ; preds = %if.else
3975 %19 = load i32** @dfg_PRECEDENCE, align 4
3976 %call39 = tail call i32 @symbol_CreatePredicate(i8* %Name, i32 %arity.0, i32 0, i32* %19) #1
3977 br label %sw.epilog42
3978
3979sw.default40: ; preds = %if.else
3980 %20 = load i32** @dfg_PRECEDENCE, align 4
3981 %call41 = tail call i32 @symbol_CreateJunctor(i8* %Name, i32 %arity.0, i32 0, i32* %20) #1
3982 br label %sw.epilog42
3983
3984sw.epilog42: ; preds = %sw.default40, %sw.bb38, %sw.bb36
3985 %symbol.0 = phi i32 [ %call41, %sw.default40 ], [ %call39, %sw.bb38 ], [ %call37, %sw.bb36 ]
3986 %cmp43 = icmp eq i32 %Arity, -2
3987 br i1 %cmp43, label %if.then44, label %if.end46
3988
3989if.then44: ; preds = %sw.epilog42
3990 %call.i.i = tail call i8* @memory_Malloc(i32 12) #1
3991 %symbol.i = bitcast i8* %call.i.i to i32*
3992 store i32 %symbol.0, i32* %symbol.i, align 4
3993 %valid.i = getelementptr inbounds i8* %call.i.i, i32 4
3994 %21 = bitcast i8* %valid.i to i32*
3995 store i32 0, i32* %21, align 4
3996 %arity.i = getelementptr inbounds i8* %call.i.i, i32 8
3997 %22 = bitcast i8* %arity.i to i32*
3998 store i32 0, i32* %22, align 4
3999 %23 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4000 %call.i5.i = tail call i8* @memory_Malloc(i32 8) #1
4001 %24 = bitcast i8* %call.i5.i to %struct.LIST_HELP*
4002 %car.i.i = getelementptr inbounds i8* %call.i5.i, i32 4
4003 %25 = bitcast i8* %car.i.i to i8**
4004 store i8* %call.i.i, i8** %25, align 4
4005 %cdr.i.i = bitcast i8* %call.i5.i to %struct.LIST_HELP**
4006 store %struct.LIST_HELP* %23, %struct.LIST_HELP** %cdr.i.i, align 4
4007 store %struct.LIST_HELP* %24, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4008 br label %if.end46
4009
4010if.end46: ; preds = %land.lhs.true29, %if.end27, %sw.epilog42, %if.then44
4011 br i1 %cmp, label %if.then48, label %if.end50
4012
4013if.then48: ; preds = %if.end46
4014 %arrayidx49 = getelementptr inbounds i8* %Name, i32 63
4015 store i8 32, i8* %arrayidx49, align 1
4016 br label %if.end50
4017
4018if.end50: ; preds = %if.then48, %if.end46
4019 tail call void @string_StringFree(i8* %Name) #1
4020 ret void
4021}
4022
4023; Function Attrs: nounwind
4024define %struct.term* @dfg_CreateQuantifier(i32 %Symbol, %struct.LIST_HELP* %VarTermList, %struct.term* %Term) #0 {
4025entry:
4026 %cmp.i240 = icmp eq %struct.LIST_HELP* %VarTermList, null
4027 br i1 %cmp.i240, label %for.end, label %for.body
4028
4029for.body: ; preds = %entry, %for.inc
4030 %VarTermList.addr.0243 = phi %struct.LIST_HELP* [ %L.idx.val.i, %for.inc ], [ %VarTermList, %entry ]
4031 %sortlist.0242 = phi %struct.LIST_HELP* [ %sortlist.1, %for.inc ], [ null, %entry ]
4032 %varlist.0241 = phi %struct.LIST_HELP* [ %varlist.1, %for.inc ], [ null, %entry ]
4033 %VarTermList.addr.0.idx = getelementptr %struct.LIST_HELP* %VarTermList.addr.0243, i32 0, i32 1
4034 %VarTermList.addr.0.idx.val = load i8** %VarTermList.addr.0.idx, align 4
4035 %0 = bitcast i8* %VarTermList.addr.0.idx.val to %struct.term*
4036 %.idx135 = bitcast i8* %VarTermList.addr.0.idx.val to i32*
4037 %.idx135.val = load i32* %.idx135, align 4
4038 %cmp.i.i157 = icmp sgt i32 %.idx135.val, 0
4039 br i1 %cmp.i.i157, label %if.then, label %if.else
4040
4041if.then: ; preds = %for.body
4042 %1 = inttoptr i32 %.idx135.val to i8*
4043 %call.i.i165 = tail call i8* @memory_Malloc(i32 8) #1
4044 %2 = bitcast i8* %call.i.i165 to %struct.LIST_HELP*
4045 %car.i.i166 = getelementptr inbounds i8* %call.i.i165, i32 4
4046 %3 = bitcast i8* %car.i.i166 to i8**
4047 store i8* %1, i8** %3, align 4
4048 %cdr.i.i167 = bitcast i8* %call.i.i165 to %struct.LIST_HELP**
4049 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i167, align 4
4050 %cmp.i.i168 = icmp eq %struct.LIST_HELP* %varlist.0241, null
4051 br i1 %cmp.i.i168, label %list_Nconc.exit178, label %if.end.i170
4052
4053if.end.i170: ; preds = %if.then
4054 %cmp.i18.i169 = icmp eq i8* %call.i.i165, null
4055 br i1 %cmp.i18.i169, label %list_Nconc.exit178, label %for.cond.i175
4056
4057for.cond.i175: ; preds = %if.end.i170, %for.cond.i175
4058 %List1.addr.0.i171 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i173, %for.cond.i175 ], [ %varlist.0241, %if.end.i170 ]
4059 %List1.addr.0.idx15.i172 = getelementptr %struct.LIST_HELP* %List1.addr.0.i171, i32 0, i32 0
4060 %List1.addr.0.idx15.val.i173 = load %struct.LIST_HELP** %List1.addr.0.idx15.i172, align 4
4061 %cmp.i16.i174 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i173, null
4062 br i1 %cmp.i16.i174, label %for.end.i176, label %for.cond.i175
4063
4064for.end.i176: ; preds = %for.cond.i175
4065 store %struct.LIST_HELP* %2, %struct.LIST_HELP** %List1.addr.0.idx15.i172, align 4
4066 br label %list_Nconc.exit178
4067
4068list_Nconc.exit178: ; preds = %if.then, %if.end.i170, %for.end.i176
4069 %retval.0.i177 = phi %struct.LIST_HELP* [ %varlist.0241, %for.end.i176 ], [ %2, %if.then ], [ %varlist.0241, %if.end.i170 ]
4070 tail call void @term_Delete(%struct.term* %0) #1
4071 br label %for.inc
4072
4073if.else: ; preds = %for.body
4074 %.idx136 = getelementptr i8* %VarTermList.addr.0.idx.val, i32 8
4075 %4 = bitcast i8* %.idx136 to %struct.LIST_HELP**
4076 %.idx136.val = load %struct.LIST_HELP** %4, align 4
4077 %.idx136.val.idx = getelementptr %struct.LIST_HELP* %.idx136.val, i32 0, i32 1
4078 %.idx136.val.idx.val = load i8** %.idx136.val.idx, align 4
4079 %call8.idx = bitcast i8* %.idx136.val.idx.val to i32*
4080 %call8.idx.val = load i32* %call8.idx, align 4
4081 %5 = inttoptr i32 %call8.idx.val to i8*
4082 %call.i.i233 = tail call i8* @memory_Malloc(i32 8) #1
4083 %6 = bitcast i8* %call.i.i233 to %struct.LIST_HELP*
4084 %car.i.i234 = getelementptr inbounds i8* %call.i.i233, i32 4
4085 %7 = bitcast i8* %car.i.i234 to i8**
4086 store i8* %5, i8** %7, align 4
4087 %cdr.i.i235 = bitcast i8* %call.i.i233 to %struct.LIST_HELP**
4088 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i235, align 4
4089 %cmp.i.i222 = icmp eq %struct.LIST_HELP* %varlist.0241, null
4090 br i1 %cmp.i.i222, label %list_Nconc.exit232, label %if.end.i224
4091
4092if.end.i224: ; preds = %if.else
4093 %cmp.i18.i223 = icmp eq i8* %call.i.i233, null
4094 br i1 %cmp.i18.i223, label %list_Nconc.exit232, label %for.cond.i229
4095
4096for.cond.i229: ; preds = %if.end.i224, %for.cond.i229
4097 %List1.addr.0.i225 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i227, %for.cond.i229 ], [ %varlist.0241, %if.end.i224 ]
4098 %List1.addr.0.idx15.i226 = getelementptr %struct.LIST_HELP* %List1.addr.0.i225, i32 0, i32 0
4099 %List1.addr.0.idx15.val.i227 = load %struct.LIST_HELP** %List1.addr.0.idx15.i226, align 4
4100 %cmp.i16.i228 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i227, null
4101 br i1 %cmp.i16.i228, label %for.end.i230, label %for.cond.i229
4102
4103for.end.i230: ; preds = %for.cond.i229
4104 store %struct.LIST_HELP* %6, %struct.LIST_HELP** %List1.addr.0.idx15.i226, align 4
4105 br label %list_Nconc.exit232
4106
4107list_Nconc.exit232: ; preds = %if.else, %if.end.i224, %for.end.i230
4108 %retval.0.i231 = phi %struct.LIST_HELP* [ %varlist.0241, %for.end.i230 ], [ %6, %if.else ], [ %varlist.0241, %if.end.i224 ]
4109 %call.i.i219 = tail call i8* @memory_Malloc(i32 8) #1
4110 %8 = bitcast i8* %call.i.i219 to %struct.LIST_HELP*
4111 %car.i.i220 = getelementptr inbounds i8* %call.i.i219, i32 4
4112 %9 = bitcast i8* %car.i.i220 to i8**
4113 store i8* %VarTermList.addr.0.idx.val, i8** %9, align 4
4114 %cdr.i.i221 = bitcast i8* %call.i.i219 to %struct.LIST_HELP**
4115 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i221, align 4
4116 %cmp.i.i208 = icmp eq %struct.LIST_HELP* %sortlist.0242, null
4117 br i1 %cmp.i.i208, label %for.inc, label %if.end.i210
4118
4119if.end.i210: ; preds = %list_Nconc.exit232
4120 %cmp.i18.i209 = icmp eq i8* %call.i.i219, null
4121 br i1 %cmp.i18.i209, label %for.inc, label %for.cond.i215
4122
4123for.cond.i215: ; preds = %if.end.i210, %for.cond.i215
4124 %List1.addr.0.i211 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i213, %for.cond.i215 ], [ %sortlist.0242, %if.end.i210 ]
4125 %List1.addr.0.idx15.i212 = getelementptr %struct.LIST_HELP* %List1.addr.0.i211, i32 0, i32 0
4126 %List1.addr.0.idx15.val.i213 = load %struct.LIST_HELP** %List1.addr.0.idx15.i212, align 4
4127 %cmp.i16.i214 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i213, null
4128 br i1 %cmp.i16.i214, label %for.end.i216, label %for.cond.i215
4129
4130for.end.i216: ; preds = %for.cond.i215
4131 store %struct.LIST_HELP* %8, %struct.LIST_HELP** %List1.addr.0.idx15.i212, align 4
4132 br label %for.inc
4133
4134for.inc: ; preds = %for.end.i216, %if.end.i210, %list_Nconc.exit232, %list_Nconc.exit178
4135 %varlist.1 = phi %struct.LIST_HELP* [ %retval.0.i177, %list_Nconc.exit178 ], [ %retval.0.i231, %list_Nconc.exit232 ], [ %retval.0.i231, %if.end.i210 ], [ %retval.0.i231, %for.end.i216 ]
4136 %sortlist.1 = phi %struct.LIST_HELP* [ %sortlist.0242, %list_Nconc.exit178 ], [ %8, %list_Nconc.exit232 ], [ %sortlist.0242, %if.end.i210 ], [ %sortlist.0242, %for.end.i216 ]
4137 %L.idx.i = getelementptr %struct.LIST_HELP* %VarTermList.addr.0243, i32 0, i32 0
4138 %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
4139 %10 = bitcast %struct.LIST_HELP* %VarTermList.addr.0243 to i8*
4140 %11 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
4141 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 4
4142 %12 = load i32* %total_size.i.i.i, align 4
4143 %13 = load i32* @memory_FREEDBYTES, align 4
4144 %add24.i.i.i = add i32 %13, %12
4145 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
4146 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 0
4147 %14 = load i8** %free.i.i.i, align 4
4148 %.c.i.i = bitcast i8* %14 to %struct.LIST_HELP*
4149 store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
4150 %15 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
4151 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %15, i32 0, i32 0
4152 store i8* %10, i8** %free27.i.i.i, align 4
4153 %cmp.i = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
4154 br i1 %cmp.i, label %for.end, label %for.body
4155
4156for.end: ; preds = %for.inc, %entry
4157 %sortlist.0.lcssa = phi %struct.LIST_HELP* [ null, %entry ], [ %sortlist.1, %for.inc ]
4158 %varlist.0.lcssa = phi %struct.LIST_HELP* [ null, %entry ], [ %varlist.1, %for.inc ]
4159 %call15 = tail call %struct.LIST_HELP* @list_PointerDeleteDuplicates(%struct.LIST_HELP* %varlist.0.lcssa) #1
4160 %cmp.i206238 = icmp eq %struct.LIST_HELP* %call15, null
4161 br i1 %cmp.i206238, label %for.end26, label %for.body20
4162
4163for.body20: ; preds = %for.end, %for.body20
4164 %scan.0239 = phi %struct.LIST_HELP* [ %scan.0.idx133.val, %for.body20 ], [ %call15, %for.end ]
4165 %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.0239, i32 0, i32 1
4166 %scan.0.idx.val = load i8** %scan.0.idx, align 4
4167 %16 = ptrtoint i8* %scan.0.idx.val to i32
4168 %call23 = tail call %struct.term* @term_Create(i32 %16, %struct.LIST_HELP* null) #1
4169 %17 = bitcast %struct.term* %call23 to i8*
4170 store i8* %17, i8** %scan.0.idx, align 4
4171 %scan.0.idx133 = getelementptr %struct.LIST_HELP* %scan.0239, i32 0, i32 0
4172 %scan.0.idx133.val = load %struct.LIST_HELP** %scan.0.idx133, align 4
4173 %cmp.i206 = icmp eq %struct.LIST_HELP* %scan.0.idx133.val, null
4174 br i1 %cmp.i206, label %for.end26, label %for.body20
4175
4176for.end26: ; preds = %for.body20, %for.end
4177 %cmp.i203 = icmp eq %struct.LIST_HELP* %sortlist.0.lcssa, null
4178 br i1 %cmp.i203, label %if.end90, label %if.then29
4179
4180if.then29: ; preds = %for.end26
4181 %18 = load i32* @fol_ALL, align 4
4182 %cmp.i201 = icmp eq i32 %18, %Symbol
4183 br i1 %cmp.i201, label %if.then33, label %if.else70
4184
4185if.then33: ; preds = %if.then29
4186 %19 = load i32* @fol_OR, align 4
4187 %Term.idx134 = getelementptr %struct.term* %Term, i32 0, i32 0
4188 %Term.idx134.val = load i32* %Term.idx134, align 4
4189 %cmp.i199 = icmp eq i32 %19, %Term.idx134.val
4190 br i1 %cmp.i199, label %for.body43, label %if.else53
4191
4192for.body43: ; preds = %if.then33, %for.body43
4193 %scan.1237 = phi %struct.LIST_HELP* [ %scan.1.idx132.val, %for.body43 ], [ %sortlist.0.lcssa, %if.then33 ]
4194 %20 = load i32* @fol_NOT, align 4
4195 %scan.1.idx = getelementptr %struct.LIST_HELP* %scan.1237, i32 0, i32 1
4196 %scan.1.idx.val = load i8** %scan.1.idx, align 4
4197 %call.i.i194 = tail call i8* @memory_Malloc(i32 8) #1
4198 %21 = bitcast i8* %call.i.i194 to %struct.LIST_HELP*
4199 %car.i.i195 = getelementptr inbounds i8* %call.i.i194, i32 4
4200 %22 = bitcast i8* %car.i.i195 to i8**
4201 store i8* %scan.1.idx.val, i8** %22, align 4
4202 %cdr.i.i196 = bitcast i8* %call.i.i194 to %struct.LIST_HELP**
4203 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i196, align 4
4204 %call47 = tail call %struct.term* @term_Create(i32 %20, %struct.LIST_HELP* %21) #1
4205 %23 = bitcast %struct.term* %call47 to i8*
4206 store i8* %23, i8** %scan.1.idx, align 4
4207 %scan.1.idx132 = getelementptr %struct.LIST_HELP* %scan.1237, i32 0, i32 0
4208 %scan.1.idx132.val = load %struct.LIST_HELP** %scan.1.idx132, align 4
4209 %cmp.i197 = icmp eq %struct.LIST_HELP* %scan.1.idx132.val, null
4210 br i1 %cmp.i197, label %if.end.i184, label %for.body43
4211
4212if.end.i184: ; preds = %for.body43
4213 %Term.idx138 = getelementptr %struct.term* %Term, i32 0, i32 2
4214 %Term.idx138.val = load %struct.LIST_HELP** %Term.idx138, align 4
4215 %cmp.i18.i183 = icmp eq %struct.LIST_HELP* %Term.idx138.val, null
4216 br i1 %cmp.i18.i183, label %list_Nconc.exit192, label %for.cond.i189
4217
4218for.cond.i189: ; preds = %if.end.i184, %for.cond.i189
4219 %List1.addr.0.i185 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i187, %for.cond.i189 ], [ %sortlist.0.lcssa, %if.end.i184 ]
4220 %List1.addr.0.idx15.i186 = getelementptr %struct.LIST_HELP* %List1.addr.0.i185, i32 0, i32 0
4221 %List1.addr.0.idx15.val.i187 = load %struct.LIST_HELP** %List1.addr.0.idx15.i186, align 4
4222 %cmp.i16.i188 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i187, null
4223 br i1 %cmp.i16.i188, label %for.end.i190, label %for.cond.i189
4224
4225for.end.i190: ; preds = %for.cond.i189
4226 store %struct.LIST_HELP* %Term.idx138.val, %struct.LIST_HELP** %List1.addr.0.idx15.i186, align 4
4227 br label %list_Nconc.exit192
4228
4229list_Nconc.exit192: ; preds = %if.end.i184, %for.end.i190
4230 store %struct.LIST_HELP* %sortlist.0.lcssa, %struct.LIST_HELP** %Term.idx138, align 4
4231 br label %if.end90
4232
4233if.else53: ; preds = %if.then33
4234 %sortlist.0.idx = getelementptr %struct.LIST_HELP* %sortlist.0.lcssa, i32 0, i32 0
4235 %sortlist.0.idx.val = load %struct.LIST_HELP** %sortlist.0.idx, align 4
4236 %cmp.i179 = icmp eq %struct.LIST_HELP* %sortlist.0.idx.val, null
4237 br i1 %cmp.i179, label %if.then57, label %if.else61
4238
4239if.then57: ; preds = %if.else53
4240 %24 = bitcast %struct.term* %Term to i8*
4241 %call.i.i162 = tail call i8* @memory_Malloc(i32 8) #1
4242 %25 = bitcast i8* %call.i.i162 to %struct.LIST_HELP*
4243 %car.i.i163 = getelementptr inbounds i8* %call.i.i162, i32 4
4244 %26 = bitcast i8* %car.i.i163 to i8**
4245 store i8* %24, i8** %26, align 4
4246 %cdr.i.i164 = bitcast i8* %call.i.i162 to %struct.LIST_HELP**
4247 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i164, align 4
4248 store %struct.LIST_HELP* %25, %struct.LIST_HELP** %sortlist.0.idx, align 4
4249 %27 = load i32* @fol_IMPLIES, align 4
4250 %call60 = tail call %struct.term* @term_Create(i32 %27, %struct.LIST_HELP* %sortlist.0.lcssa) #1
4251 br label %if.end90
4252
4253if.else61: ; preds = %if.else53
4254 %28 = load i32* @fol_AND, align 4
4255 %call63 = tail call %struct.term* @term_Create(i32 %28, %struct.LIST_HELP* %sortlist.0.lcssa) #1
4256 %29 = load i32* @fol_IMPLIES, align 4
4257 %30 = bitcast %struct.term* %call63 to i8*
4258 %31 = bitcast %struct.term* %Term to i8*
4259 %call.i.i158 = tail call i8* @memory_Malloc(i32 8) #1
4260 %32 = bitcast i8* %call.i.i158 to %struct.LIST_HELP*
4261 %car.i.i159 = getelementptr inbounds i8* %call.i.i158, i32 4
4262 %33 = bitcast i8* %car.i.i159 to i8**
4263 store i8* %31, i8** %33, align 4
4264 %cdr.i.i160 = bitcast i8* %call.i.i158 to %struct.LIST_HELP**
4265 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i160, align 4
4266 %call.i = tail call i8* @memory_Malloc(i32 8) #1
4267 %34 = bitcast i8* %call.i to %struct.LIST_HELP*
4268 %car.i = getelementptr inbounds i8* %call.i, i32 4
4269 %35 = bitcast i8* %car.i to i8**
4270 store i8* %30, i8** %35, align 4
4271 %cdr.i = bitcast i8* %call.i to %struct.LIST_HELP**
4272 store %struct.LIST_HELP* %32, %struct.LIST_HELP** %cdr.i, align 4
4273 %call67 = tail call %struct.term* @term_Create(i32 %29, %struct.LIST_HELP* %34) #1
4274 br label %if.end90
4275
4276if.else70: ; preds = %if.then29
4277 %36 = load i32* @fol_EXIST, align 4
4278 %cmp.i155 = icmp eq i32 %36, %Symbol
4279 br i1 %cmp.i155, label %if.then74, label %if.end90
4280
4281if.then74: ; preds = %if.else70
4282 %37 = load i32* @fol_AND, align 4
4283 %Term.idx = getelementptr %struct.term* %Term, i32 0, i32 0
4284 %Term.idx.val = load i32* %Term.idx, align 4
4285 %cmp.i153 = icmp eq i32 %37, %Term.idx.val
4286 br i1 %cmp.i153, label %if.end.i144, label %if.end.i
4287
4288if.end.i144: ; preds = %if.then74
4289 %Term.idx137 = getelementptr %struct.term* %Term, i32 0, i32 2
4290 %Term.idx137.val = load %struct.LIST_HELP** %Term.idx137, align 4
4291 %cmp.i18.i143 = icmp eq %struct.LIST_HELP* %Term.idx137.val, null
4292 br i1 %cmp.i18.i143, label %list_Nconc.exit152, label %for.cond.i149
4293
4294for.cond.i149: ; preds = %if.end.i144, %for.cond.i149
4295 %List1.addr.0.i145 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i147, %for.cond.i149 ], [ %sortlist.0.lcssa, %if.end.i144 ]
4296 %List1.addr.0.idx15.i146 = getelementptr %struct.LIST_HELP* %List1.addr.0.i145, i32 0, i32 0
4297 %List1.addr.0.idx15.val.i147 = load %struct.LIST_HELP** %List1.addr.0.idx15.i146, align 4
4298 %cmp.i16.i148 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i147, null
4299 br i1 %cmp.i16.i148, label %for.end.i150, label %for.cond.i149
4300
4301for.end.i150: ; preds = %for.cond.i149
4302 store %struct.LIST_HELP* %Term.idx137.val, %struct.LIST_HELP** %List1.addr.0.idx15.i146, align 4
4303 br label %list_Nconc.exit152
4304
4305list_Nconc.exit152: ; preds = %if.end.i144, %for.end.i150
4306 store %struct.LIST_HELP* %sortlist.0.lcssa, %struct.LIST_HELP** %Term.idx137, align 4
4307 br label %if.end90
4308
4309if.end.i: ; preds = %if.then74
4310 %38 = bitcast %struct.term* %Term to i8*
4311 %call.i.i139 = tail call i8* @memory_Malloc(i32 8) #1
4312 %39 = bitcast i8* %call.i.i139 to %struct.LIST_HELP*
4313 %car.i.i140 = getelementptr inbounds i8* %call.i.i139, i32 4
4314 %40 = bitcast i8* %car.i.i140 to i8**
4315 store i8* %38, i8** %40, align 4
4316 %cdr.i.i141 = bitcast i8* %call.i.i139 to %struct.LIST_HELP**
4317 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i141, align 4
4318 %cmp.i18.i = icmp eq i8* %call.i.i139, null
4319 br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
4320
4321for.cond.i: ; preds = %if.end.i, %for.cond.i
4322 %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %sortlist.0.lcssa, %if.end.i ]
4323 %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
4324 %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
4325 %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
4326 br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
4327
4328for.end.i: ; preds = %for.cond.i
4329 store %struct.LIST_HELP* %39, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
4330 br label %list_Nconc.exit
4331
4332list_Nconc.exit: ; preds = %if.end.i, %for.end.i
4333 %41 = load i32* @fol_AND, align 4
4334 %call86 = tail call %struct.term* @term_Create(i32 %41, %struct.LIST_HELP* %sortlist.0.lcssa) #1
4335 br label %if.end90
4336
4337if.end90: ; preds = %if.else70, %for.end26, %if.then57, %if.else61, %list_Nconc.exit192, %list_Nconc.exit152, %list_Nconc.exit
4338 %Term.addr.0 = phi %struct.term* [ %Term, %for.end26 ], [ %Term, %list_Nconc.exit192 ], [ %call60, %if.then57 ], [ %call67, %if.else61 ], [ %Term, %list_Nconc.exit152 ], [ %call86, %list_Nconc.exit ], [ %Term, %if.else70 ]
4339 %42 = bitcast %struct.term* %Term.addr.0 to i8*
4340 %call.i.i = tail call i8* @memory_Malloc(i32 8) #1
4341 %43 = bitcast i8* %call.i.i to %struct.LIST_HELP*
4342 %car.i.i = getelementptr inbounds i8* %call.i.i, i32 4
4343 %44 = bitcast i8* %car.i.i to i8**
4344 store i8* %42, i8** %44, align 4
4345 %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
4346 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i, align 4
4347 %call92 = tail call %struct.term* @fol_CreateQuantifier(i32 %Symbol, %struct.LIST_HELP* %call15, %struct.LIST_HELP* %43) #1
4348 ret %struct.term* %call92
4349}
4350
4351; Function Attrs: nounwind
4352define internal fastcc i32 @dfg_Symbol(i8* %Name, i32 %Arity) #0 {
4353entry:
4354 %call = tail call i32 @strlen(i8* %Name) #6
4355 %cmp = icmp ugt i32 %call, 63
4356 br i1 %cmp, label %if.then4, label %if.end
4357
4358if.end: ; preds = %entry
4359 %call2 = tail call i32 @symbol_Lookup(i8* %Name) #1
4360 br label %if.end6
4361
4362if.then4: ; preds = %entry
4363 %arrayidx = getelementptr inbounds i8* %Name, i32 63
4364 %0 = load i8* %arrayidx, align 1
4365 store i8 0, i8* %arrayidx, align 1
4366 %call234 = tail call i32 @symbol_Lookup(i8* %Name) #1
4367 store i8 %0, i8* %arrayidx, align 1
4368 br label %if.end6
4369
4370if.end6: ; preds = %if.end, %if.then4
4371 %call236 = phi i32 [ %call234, %if.then4 ], [ %call2, %if.end ]
4372 %cmp7 = icmp eq i32 %call236, 0
4373 br i1 %cmp7, label %if.else, label %if.then8
4374
4375if.then8: ; preds = %if.end6
4376 tail call void @string_StringFree(i8* %Name) #1
4377 %scan.047.i = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4378 %cmp.i48.i = icmp eq %struct.LIST_HELP* %scan.047.i, null
4379 br i1 %cmp.i48.i, label %while.end.i, label %while.body.i
4380
4381while.cond.i: ; preds = %while.body.i
4382 %scan.0.idx35.i = getelementptr %struct.LIST_HELP* %scan.049.i, i32 0, i32 0
4383 %scan.0.i = load %struct.LIST_HELP** %scan.0.idx35.i, align 4
4384 %cmp.i.i = icmp eq %struct.LIST_HELP* %scan.0.i, null
4385 br i1 %cmp.i.i, label %while.end.i, label %while.body.i
4386
4387while.body.i: ; preds = %if.then8, %while.cond.i
4388 %scan.049.i = phi %struct.LIST_HELP* [ %scan.0.i, %while.cond.i ], [ %scan.047.i, %if.then8 ]
4389 %scan.0.idx.i = getelementptr %struct.LIST_HELP* %scan.049.i, i32 0, i32 1
4390 %scan.0.idx.val.i = load i8** %scan.0.idx.i, align 4
4391 %symbol.i = bitcast i8* %scan.0.idx.val.i to i32*
4392 %1 = load i32* %symbol.i, align 4
4393 %cmp.i = icmp eq i32 %1, %call236
4394 br i1 %cmp.i, label %if.then.i, label %while.cond.i
4395
4396if.then.i: ; preds = %while.body.i
4397 %valid.i = getelementptr inbounds i8* %scan.0.idx.val.i, i32 4
4398 %2 = bitcast i8* %valid.i to i32*
4399 %3 = load i32* %2, align 4
4400 %tobool2.i = icmp eq i32 %3, 0
4401 %arity9.i = getelementptr inbounds i8* %scan.0.idx.val.i, i32 8
4402 %4 = bitcast i8* %arity9.i to i32*
4403 br i1 %tobool2.i, label %if.else.i, label %if.then3.i
4404
4405if.then3.i: ; preds = %if.then.i
4406 %5 = load i32* %4, align 4
4407 %cmp4.i = icmp eq i32 %5, %Arity
4408 br i1 %cmp4.i, label %if.end14, label %if.then5.i
4409
4410if.then5.i: ; preds = %if.then3.i
4411 %6 = load %struct._IO_FILE** @stdout, align 4
4412 %call6.i = tail call i32 @fflush(%struct._IO_FILE* %6) #1
4413 %7 = load i32* @dfg_LINENUMBER, align 4
4414 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([11 x i8]* @.str47, i32 0, i32 0), i32 %7) #1
4415 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([21 x i8]* @.str48, i32 0, i32 0), i32 %Arity) #1
4416 %sub.i.i43.i = sub nsw i32 0, %call236
4417 %8 = load i32* @symbol_TYPESTATBITS, align 4
4418 %shr.i.i44.i = ashr i32 %sub.i.i43.i, %8
4419 %9 = load %struct.signature*** @symbol_SIGNATURE, align 4
4420 %arrayidx.i.i45.i = getelementptr inbounds %struct.signature** %9, i32 %shr.i.i44.i
4421 %10 = load %struct.signature** %arrayidx.i.i45.i, align 4
4422 %name.i46.i = getelementptr inbounds %struct.signature* %10, i32 0, i32 0
4423 %11 = load i8** %name.i46.i, align 4
4424 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str49, i32 0, i32 0), i8* %11) #1
4425 %12 = load i32* %4, align 4
4426 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([30 x i8]* @.str50, i32 0, i32 0), i32 %12) #1
4427 tail call fastcc void @misc_Error() #1
4428 unreachable
4429
4430if.else.i: ; preds = %if.then.i
4431 store i32 %Arity, i32* %4, align 4
4432 store i32 1, i32* %2, align 4
4433 br label %if.end14
4434
4435while.end.i: ; preds = %while.cond.i, %if.then8
4436 %sub.i.i39.i = sub nsw i32 0, %call236
4437 %13 = load i32* @symbol_TYPESTATBITS, align 4
4438 %shr.i.i40.i = ashr i32 %sub.i.i39.i, %13
4439 %14 = load %struct.signature*** @symbol_SIGNATURE, align 4
4440 %arrayidx.i.i41.i = getelementptr inbounds %struct.signature** %14, i32 %shr.i.i40.i
4441 %15 = load %struct.signature** %arrayidx.i.i41.i, align 4
4442 %arity.i42.i = getelementptr inbounds %struct.signature* %15, i32 0, i32 3
4443 %16 = load i32* %arity.i42.i, align 4
4444 %cmp15.i = icmp eq i32 %16, %Arity
4445 br i1 %cmp15.i, label %if.end14, label %if.then16.i
4446
4447if.then16.i: ; preds = %while.end.i
4448 %17 = load %struct._IO_FILE** @stdout, align 4
4449 %call17.i = tail call i32 @fflush(%struct._IO_FILE* %17) #1
4450 %18 = load i32* @dfg_LINENUMBER, align 4
4451 %19 = load %struct.signature*** @symbol_SIGNATURE, align 4
4452 %arrayidx.i.i38.i = getelementptr inbounds %struct.signature** %19, i32 %shr.i.i40.i
4453 %20 = load %struct.signature** %arrayidx.i.i38.i, align 4
4454 %name.i.i = getelementptr inbounds %struct.signature* %20, i32 0, i32 0
4455 %21 = load i8** %name.i.i, align 4
4456 %arity.i.i = getelementptr inbounds %struct.signature* %20, i32 0, i32 3
4457 %22 = load i32* %arity.i.i, align 4
4458 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([50 x i8]* @.str51, i32 0, i32 0), i32 %18, i8* %21, i32 %22) #1
4459 tail call fastcc void @misc_Error() #1
4460 unreachable
4461
4462if.else: ; preds = %if.end6
4463 %cmp9 = icmp eq i32 %Arity, 0
4464 br i1 %cmp9, label %if.end12, label %if.then10
4465
4466if.then10: ; preds = %if.else
4467 %23 = load %struct._IO_FILE** @stdout, align 4
4468 %call11 = tail call i32 @fflush(%struct._IO_FILE* %23) #1
4469 %24 = load i32* @dfg_LINENUMBER, align 4
4470 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([33 x i8]* @.str45, i32 0, i32 0), i32 %24, i8* %Name) #1
4471 tail call fastcc void @misc_Error()
4472 unreachable
4473
4474if.end12: ; preds = %if.else
4475 %scan.064.i = load %struct.LIST_HELP** @dfg_VARLIST, align 4
4476 %cmp.i65.i = icmp eq %struct.LIST_HELP* %scan.064.i, null
4477 br i1 %cmp.i65.i, label %if.else.i33, label %while.body.i28
4478
4479while.body.i28: ; preds = %if.end12, %while.end.i31
4480 %scan.066.i = phi %struct.LIST_HELP* [ %scan.0.i29, %while.end.i31 ], [ %scan.064.i, %if.end12 ]
4481 %scan.0.idx.i26 = getelementptr %struct.LIST_HELP* %scan.066.i, i32 0, i32 1
4482 %scan.0.idx.val.i27 = load i8** %scan.0.idx.i26, align 4
4483 %25 = bitcast i8* %scan.0.idx.val.i27 to %struct.LIST_HELP*
4484 %cmp.i6062.i = icmp eq i8* %scan.0.idx.val.i27, null
4485 br i1 %cmp.i6062.i, label %while.end.i31, label %land.rhs9.i
4486
4487land.rhs9.i: ; preds = %while.body.i28, %while.body15.i
4488 %scan2.163.i = phi %struct.LIST_HELP* [ %scan2.1.idx48.val.i, %while.body15.i ], [ %25, %while.body.i28 ]
4489 %scan2.1.idx.i = getelementptr %struct.LIST_HELP* %scan2.163.i, i32 0, i32 1
4490 %scan2.1.idx.val.i = load i8** %scan2.1.idx.i, align 4
4491 %.idx49.i = bitcast i8* %scan2.1.idx.val.i to i8**
4492 %.idx49.val.i = load i8** %.idx49.i, align 4
4493 %call.i57.i = tail call i32 @strcmp(i8* %.idx49.val.i, i8* %Name) #1
4494 %cmp.i58.i = icmp eq i32 %call.i57.i, 0
4495 br i1 %cmp.i58.i, label %while.end.i31, label %while.body15.i
4496
4497while.body15.i: ; preds = %land.rhs9.i
4498 %scan2.1.idx48.i = getelementptr %struct.LIST_HELP* %scan2.163.i, i32 0, i32 0
4499 %scan2.1.idx48.val.i = load %struct.LIST_HELP** %scan2.1.idx48.i, align 4
4500 %cmp.i60.i = icmp eq %struct.LIST_HELP* %scan2.1.idx48.val.i, null
4501 br i1 %cmp.i60.i, label %while.end.i31, label %land.rhs9.i
4502
4503while.end.i31: ; preds = %while.body15.i, %land.rhs9.i, %while.body.i28
4504 %scan2.1.lcssa.i = phi %struct.LIST_HELP* [ %25, %while.body.i28 ], [ null, %while.body15.i ], [ %scan2.163.i, %land.rhs9.i ]
4505 %scan.0.idx47.i = getelementptr %struct.LIST_HELP* %scan.066.i, i32 0, i32 0
4506 %scan.0.i29 = load %struct.LIST_HELP** %scan.0.idx47.i, align 4
4507 %cmp.i.i30 = icmp ne %struct.LIST_HELP* %scan.0.i29, null
4508 %cmp.i53.i = icmp eq %struct.LIST_HELP* %scan2.1.lcssa.i, null
4509 %or.cond.i = and i1 %cmp.i.i30, %cmp.i53.i
4510 br i1 %or.cond.i, label %while.body.i28, label %while.end18.i
4511
4512while.end18.i: ; preds = %while.end.i31
4513 br i1 %cmp.i53.i, label %if.else.i33, label %if.then.i32
4514
4515if.then.i32: ; preds = %while.end18.i
4516 tail call void @string_StringFree(i8* %Name) #1
4517 %scan2.0.idx.i = getelementptr %struct.LIST_HELP* %scan2.1.lcssa.i, i32 0, i32 1
4518 %scan2.0.idx.val.i = load i8** %scan2.0.idx.i, align 4
4519 br label %dfg_VarLookup.exit
4520
4521if.else.i33: ; preds = %while.end18.i, %if.end12
4522 %.b.i = load i1* @dfg_VARDECL, align 1
4523 br i1 %.b.i, label %if.then24.i, label %if.else31.i
4524
4525if.then24.i: ; preds = %if.else.i33
4526 %call.i52.i = tail call i8* @memory_Malloc(i32 8) #1
4527 %name.i = bitcast i8* %call.i52.i to i8**
4528 store i8* %Name, i8** %name.i, align 4
4529 %26 = load i32* @symbol_STANDARDVARCOUNTER, align 4
4530 %inc.i.i = add nsw i32 %26, 1
4531 store i32 %inc.i.i, i32* @symbol_STANDARDVARCOUNTER, align 4
4532 %symbol27.i = getelementptr inbounds i8* %call.i52.i, i32 4
4533 %27 = bitcast i8* %symbol27.i to i32*
4534 store i32 %inc.i.i, i32* %27, align 4
4535 %28 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
4536 %.idx.i = getelementptr %struct.LIST_HELP* %28, i32 0, i32 1
4537 %.idx.val.i = load i8** %.idx.i, align 4
4538 %29 = bitcast i8* %.idx.val.i to %struct.LIST_HELP*
4539 %call.i.i = tail call i8* @memory_Malloc(i32 8) #1
4540 %car.i51.i = getelementptr inbounds i8* %call.i.i, i32 4
4541 %30 = bitcast i8* %car.i51.i to i8**
4542 store i8* %call.i52.i, i8** %30, align 4
4543 %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
4544 store %struct.LIST_HELP* %29, %struct.LIST_HELP** %cdr.i.i, align 4
4545 store i8* %call.i.i, i8** %.idx.i, align 4
4546 br label %dfg_VarLookup.exit
4547
4548if.else31.i: ; preds = %if.else.i33
4549 %31 = load %struct._IO_FILE** @stdout, align 4
4550 %call32.i = tail call i32 @fflush(%struct._IO_FILE* %31) #1
4551 %32 = load i32* @dfg_LINENUMBER, align 4
4552 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([30 x i8]* @.str46, i32 0, i32 0), i32 %32, i8* %Name) #1
4553 tail call fastcc void @misc_Error() #1
4554 unreachable
4555
4556dfg_VarLookup.exit: ; preds = %if.then.i32, %if.then24.i
4557 %call.i52.pn.i = phi i8* [ %call.i52.i, %if.then24.i ], [ %scan2.0.idx.val.i, %if.then.i32 ]
4558 %symbol.0.in.in.i = getelementptr i8* %call.i52.pn.i, i32 4
4559 %symbol.0.in.i = bitcast i8* %symbol.0.in.in.i to i32*
4560 %symbol.0.i = load i32* %symbol.0.in.i, align 4
4561 br label %if.end14
4562
4563if.end14: ; preds = %while.end.i, %if.else.i, %if.then3.i, %dfg_VarLookup.exit
4564 %symbol.0 = phi i32 [ %symbol.0.i, %dfg_VarLookup.exit ], [ %call236, %if.then3.i ], [ %call236, %if.else.i ], [ %call236, %while.end.i ]
4565 ret i32 %symbol.0
4566}
4567
4568declare %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP*) #2
4569
4570declare %struct.term* @term_Create(i32, %struct.LIST_HELP*) #2
4571
4572declare i8* @string_IntToString(i32) #2
4573
4574declare i8* @string_StringCopy(i8*) #2
4575
4576; Function Attrs: nounwind
4577declare i32 @fflush(%struct._IO_FILE* nocapture) #0
4578
4579declare void @misc_UserErrorReport(i8*, ...) #2
4580
4581; Function Attrs: inlinehint noreturn nounwind
4582define internal fastcc void @misc_Error() #3 {
4583entry:
4584 %0 = load %struct._IO_FILE** @stderr, align 4
4585 %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
4586 %1 = load %struct._IO_FILE** @stdout, align 4
4587 %call1 = tail call i32 @fflush(%struct._IO_FILE* %1) #1
4588 %2 = load %struct._IO_FILE** @stderr, align 4
4589 %call2 = tail call i32 @fflush(%struct._IO_FILE* %2) #1
4590 tail call void @exit(i32 1) #7
4591 unreachable
4592}
4593
4594declare i32 @clause_GetOriginFromString(i8*) #2
4595
4596declare void @term_Delete(%struct.term*) #2
4597
4598declare i32 @string_StringToInt(i8*, i32, i32*) #2
4599
4600declare i32 @symbol_Lookup(i8*) #2
4601
4602declare i32 @flag_Id(i8*) #2
4603
4604; Function Attrs: nounwind readonly
4605declare i32 @strlen(i8* nocapture) #4
4606
4607; Function Attrs: nounwind
4608declare i8* @stpcpy(i8*, i8* nocapture) #0
4609
4610; Function Attrs: noreturn nounwind
4611define void @dfg_error(i8* %s) #5 {
4612entry:
4613 %0 = load %struct._IO_FILE** @stdout, align 4
4614 %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
4615 %1 = load i32* @dfg_LINENUMBER, align 4
4616 tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([15 x i8]* @.str22, i32 0, i32 0), i32 %1, i8* %s) #1
4617 tail call fastcc void @misc_Error()
4618 unreachable
4619}
4620
4621; Function Attrs: nounwind
4622declare void @llvm.lifetime.end(i64, i8* nocapture) #1
4623
4624; Function Attrs: nounwind
4625define void @dfg_Free() #0 {
4626entry:
4627 %0 = load i8** @dfg_DESC.0, align 4
4628 %cmp = icmp eq i8* %0, null
4629 br i1 %cmp, label %if.end, label %if.then
4630
4631if.then: ; preds = %entry
4632 tail call void @string_StringFree(i8* %0) #1
4633 br label %if.end
4634
4635if.end: ; preds = %entry, %if.then
4636 %1 = load i8** @dfg_DESC.1, align 4
4637 %cmp1 = icmp eq i8* %1, null
4638 br i1 %cmp1, label %if.end3, label %if.then2
4639
4640if.then2: ; preds = %if.end
4641 tail call void @string_StringFree(i8* %1) #1
4642 br label %if.end3
4643
4644if.end3: ; preds = %if.end, %if.then2
4645 %2 = load i8** @dfg_DESC.2, align 4
4646 %cmp4 = icmp eq i8* %2, null
4647 br i1 %cmp4, label %if.end6, label %if.then5
4648
4649if.then5: ; preds = %if.end3
4650 tail call void @string_StringFree(i8* %2) #1
4651 br label %if.end6
4652
4653if.end6: ; preds = %if.end3, %if.then5
4654 %3 = load i8** @dfg_DESC.3, align 4
4655 %cmp7 = icmp eq i8* %3, null
4656 br i1 %cmp7, label %if.end9, label %if.then8
4657
4658if.then8: ; preds = %if.end6
4659 tail call void @string_StringFree(i8* %3) #1
4660 br label %if.end9
4661
4662if.end9: ; preds = %if.end6, %if.then8
4663 %4 = load i8** @dfg_DESC.5, align 4
4664 %cmp10 = icmp eq i8* %4, null
4665 br i1 %cmp10, label %if.end12, label %if.then11
4666
4667if.then11: ; preds = %if.end9
4668 tail call void @string_StringFree(i8* %4) #1
4669 br label %if.end12
4670
4671if.end12: ; preds = %if.end9, %if.then11
4672 %5 = load i8** @dfg_DESC.6, align 4
4673 %cmp13 = icmp eq i8* %5, null
4674 br i1 %cmp13, label %if.end15, label %if.then14
4675
4676if.then14: ; preds = %if.end12
4677 tail call void @string_StringFree(i8* %5) #1
4678 br label %if.end15
4679
4680if.end15: ; preds = %if.end12, %if.then14
4681 ret void
4682}
4683
4684; Function Attrs: nounwind readonly
4685define i8* @dfg_ProblemName() #4 {
4686entry:
4687 %0 = load i8** @dfg_DESC.0, align 4
4688 ret i8* %0
4689}
4690
4691; Function Attrs: nounwind readonly
4692define i8* @dfg_ProblemAuthor() #4 {
4693entry:
4694 %0 = load i8** @dfg_DESC.1, align 4
4695 ret i8* %0
4696}
4697
4698; Function Attrs: nounwind readonly
4699define i8* @dfg_ProblemVersion() #4 {
4700entry:
4701 %0 = load i8** @dfg_DESC.2, align 4
4702 ret i8* %0
4703}
4704
4705; Function Attrs: nounwind readonly
4706define i8* @dfg_ProblemLogic() #4 {
4707entry:
4708 %0 = load i8** @dfg_DESC.3, align 4
4709 ret i8* %0
4710}
4711
4712; Function Attrs: nounwind readonly
4713define i32 @dfg_ProblemStatus() #4 {
4714entry:
4715 %0 = load i32* @dfg_DESC.4, align 4
4716 ret i32 %0
4717}
4718
4719; Function Attrs: nounwind
4720define i8* @dfg_ProblemStatusString() #0 {
4721entry:
4722 %0 = load i32* @dfg_DESC.4, align 4
4723 switch i32 %0, label %sw.default [
4724 i32 0, label %sw.epilog
4725 i32 1, label %sw.bb1
4726 i32 2, label %sw.bb2
4727 ]
4728
4729sw.bb1: ; preds = %entry
4730 br label %sw.epilog
4731
4732sw.bb2: ; preds = %entry
4733 br label %sw.epilog
4734
4735sw.default: ; preds = %entry
4736 %1 = load %struct._IO_FILE** @stdout, align 4
4737 %call = tail call i32 @fflush(%struct._IO_FILE* %1) #1
4738 %2 = load %struct._IO_FILE** @stderr, align 4
4739 %call3 = tail call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %2, i8* getelementptr inbounds ([31 x i8]* @.str27, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str28, i32 0, i32 0), i32 1025) #1
4740 tail call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([47 x i8]* @.str29, i32 0, i32 0)) #1
4741 %3 = load %struct._IO_FILE** @stderr, align 4
4742 %4 = tail call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %3)
4743 tail call fastcc void @misc_DumpCore()
4744 unreachable
4745
4746sw.epilog: ; preds = %entry, %sw.bb2, %sw.bb1
4747 %result.0 = phi i8* [ getelementptr inbounds ([8 x i8]* @.str26, i32 0, i32 0), %sw.bb2 ], [ getelementptr inbounds ([14 x i8]* @.str25, i32 0, i32 0), %sw.bb1 ], [ getelementptr inbounds ([12 x i8]* @.str24, i32 0, i32 0), %entry ]
4748 ret i8* %result.0
4749}
4750
4751; Function Attrs: nounwind
4752declare i32 @fprintf(%struct._IO_FILE* nocapture, i8* nocapture, ...) #0
4753
4754declare void @misc_ErrorReport(i8*, ...) #2
4755
4756; Function Attrs: nounwind
4757declare i32 @fputs(i8* nocapture, %struct._IO_FILE* nocapture) #0
4758
4759; Function Attrs: inlinehint noreturn nounwind
4760define internal fastcc void @misc_DumpCore() #3 {
4761entry:
4762 %0 = load %struct._IO_FILE** @stderr, align 4
4763 %1 = tail call i32 @fwrite(i8* getelementptr inbounds ([3 x i8]* @.str59, i32 0, i32 0), i32 2, i32 1, %struct._IO_FILE* %0)
4764 %2 = load %struct._IO_FILE** @stderr, align 4
4765 %call1 = tail call i32 @fflush(%struct._IO_FILE* %2) #1
4766 %3 = load %struct._IO_FILE** @stdout, align 4
4767 %call2 = tail call i32 @fflush(%struct._IO_FILE* %3) #1
4768 %4 = load %struct._IO_FILE** @stderr, align 4
4769 %call3 = tail call i32 @fflush(%struct._IO_FILE* %4) #1
4770 tail call void @abort() #7
4771 unreachable
4772}
4773
4774; Function Attrs: nounwind readonly
4775define i8* @dfg_ProblemDescription() #4 {
4776entry:
4777 %0 = load i8** @dfg_DESC.5, align 4
4778 ret i8* %0
4779}
4780
4781; Function Attrs: nounwind readonly
4782define i8* @dfg_ProblemDate() #4 {
4783entry:
4784 %0 = load i8** @dfg_DESC.6, align 4
4785 ret i8* %0
4786}
4787
4788; Function Attrs: nounwind
4789define void @dfg_FPrintDescription(%struct._IO_FILE* %File) #0 {
4790entry:
4791 %0 = tail call i32 @fwrite(i8* getelementptr inbounds ([30 x i8]* @.str31, i32 0, i32 0), i32 29, i32 1, %struct._IO_FILE* %File)
4792 %1 = load i8** @dfg_DESC.0, align 4
4793 %cmp = icmp eq i8* %1, null
4794 br i1 %cmp, label %if.else, label %if.then
4795
4796if.then: ; preds = %entry
4797 %call1 = tail call i32 @fputs(i8* %1, %struct._IO_FILE* %File) #1
4798 br label %if.end
4799
4800if.else: ; preds = %entry
4801 %2 = tail call i32 @fwrite(i8* getelementptr inbounds ([6 x i8]* @.str32, i32 0, i32 0), i32 5, i32 1, %struct._IO_FILE* %File)
4802 br label %if.end
4803
4804if.end: ; preds = %if.else, %if.then
4805 %3 = tail call i32 @fwrite(i8* getelementptr inbounds ([13 x i8]* @.str33, i32 0, i32 0), i32 12, i32 1, %struct._IO_FILE* %File)
4806 %4 = load i8** @dfg_DESC.1, align 4
4807 %cmp4 = icmp eq i8* %4, null
4808 br i1 %cmp4, label %if.else7, label %if.then5
4809
4810if.then5: ; preds = %if.end
4811 %call6 = tail call i32 @fputs(i8* %4, %struct._IO_FILE* %File) #1
4812 br label %if.end9
4813
4814if.else7: ; preds = %if.end
4815 %5 = tail call i32 @fwrite(i8* getelementptr inbounds ([6 x i8]* @.str32, i32 0, i32 0), i32 5, i32 1, %struct._IO_FILE* %File)
4816 br label %if.end9
4817
4818if.end9: ; preds = %if.else7, %if.then5
4819 %6 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
4820 %7 = load i8** @dfg_DESC.2, align 4
4821 %cmp11 = icmp eq i8* %7, null
4822 br i1 %cmp11, label %if.end16, label %if.then12
4823
4824if.then12: ; preds = %if.end9
4825 %8 = tail call i32 @fwrite(i8* getelementptr inbounds ([11 x i8]* @.str35, i32 0, i32 0), i32 10, i32 1, %struct._IO_FILE* %File)
4826 %9 = load i8** @dfg_DESC.2, align 4
4827 %call14 = tail call i32 @fputs(i8* %9, %struct._IO_FILE* %File) #1
4828 %10 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
4829 br label %if.end16
4830
4831if.end16: ; preds = %if.end9, %if.then12
4832 %11 = load i8** @dfg_DESC.3, align 4
4833 %cmp17 = icmp eq i8* %11, null
4834 br i1 %cmp17, label %if.end22, label %if.then18
4835
4836if.then18: ; preds = %if.end16
4837 %12 = tail call i32 @fwrite(i8* getelementptr inbounds ([9 x i8]* @.str36, i32 0, i32 0), i32 8, i32 1, %struct._IO_FILE* %File)
4838 %13 = load i8** @dfg_DESC.3, align 4
4839 %call20 = tail call i32 @fputs(i8* %13, %struct._IO_FILE* %File) #1
4840 %14 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
4841 br label %if.end22
4842
4843if.end22: ; preds = %if.end16, %if.then18
4844 %15 = tail call i32 @fwrite(i8* getelementptr inbounds ([10 x i8]* @.str37, i32 0, i32 0), i32 9, i32 1, %struct._IO_FILE* %File)
4845 %16 = load i32* @dfg_DESC.4, align 4
4846 switch i32 %16, label %sw.default.i [
4847 i32 0, label %dfg_ProblemStatusString.exit
4848 i32 1, label %sw.bb1.i
4849 i32 2, label %sw.bb2.i
4850 ]
4851
4852sw.bb1.i: ; preds = %if.end22
4853 br label %dfg_ProblemStatusString.exit
4854
4855sw.bb2.i: ; preds = %if.end22
4856 br label %dfg_ProblemStatusString.exit
4857
4858sw.default.i: ; preds = %if.end22
4859 %17 = load %struct._IO_FILE** @stdout, align 4
4860 %call.i = tail call i32 @fflush(%struct._IO_FILE* %17) #1
4861 %18 = load %struct._IO_FILE** @stderr, align 4
4862 %call3.i = tail call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %18, i8* getelementptr inbounds ([31 x i8]* @.str27, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str28, i32 0, i32 0), i32 1025) #1
4863 tail call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([47 x i8]* @.str29, i32 0, i32 0)) #1
4864 %19 = load %struct._IO_FILE** @stderr, align 4
4865 %20 = tail call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %19) #1
4866 tail call fastcc void @misc_DumpCore() #1
4867 unreachable
4868
4869dfg_ProblemStatusString.exit: ; preds = %if.end22, %sw.bb1.i, %sw.bb2.i
4870 %result.0.i = phi i8* [ getelementptr inbounds ([8 x i8]* @.str26, i32 0, i32 0), %sw.bb2.i ], [ getelementptr inbounds ([14 x i8]* @.str25, i32 0, i32 0), %sw.bb1.i ], [ getelementptr inbounds ([12 x i8]* @.str24, i32 0, i32 0), %if.end22 ]
4871 %call25 = tail call i32 @fputs(i8* %result.0.i, %struct._IO_FILE* %File) #1
4872 %21 = tail call i32 @fwrite(i8* getelementptr inbounds ([18 x i8]* @.str38, i32 0, i32 0), i32 17, i32 1, %struct._IO_FILE* %File)
4873 %22 = load i8** @dfg_DESC.5, align 4
4874 %cmp27 = icmp eq i8* %22, null
4875 br i1 %cmp27, label %if.else30, label %if.then28
4876
4877if.then28: ; preds = %dfg_ProblemStatusString.exit
4878 %call29 = tail call i32 @fputs(i8* %22, %struct._IO_FILE* %File) #1
4879 br label %if.end32
4880
4881if.else30: ; preds = %dfg_ProblemStatusString.exit
4882 %23 = tail call i32 @fwrite(i8* getelementptr inbounds ([6 x i8]* @.str32, i32 0, i32 0), i32 5, i32 1, %struct._IO_FILE* %File)
4883 br label %if.end32
4884
4885if.end32: ; preds = %if.else30, %if.then28
4886 %24 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
4887 %25 = load i8** @dfg_DESC.6, align 4
4888 %cmp34 = icmp eq i8* %25, null
4889 br i1 %cmp34, label %if.end39, label %if.then35
4890
4891if.then35: ; preds = %if.end32
4892 %26 = tail call i32 @fwrite(i8* getelementptr inbounds ([8 x i8]* @.str39, i32 0, i32 0), i32 7, i32 1, %struct._IO_FILE* %File)
4893 %27 = load i8** @dfg_DESC.6, align 4
4894 %call37 = tail call i32 @fputs(i8* %27, %struct._IO_FILE* %File) #1
4895 %28 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
4896 br label %if.end39
4897
4898if.end39: ; preds = %if.end32, %if.then35
4899 %29 = tail call i32 @fwrite(i8* getelementptr inbounds ([13 x i8]* @.str40, i32 0, i32 0), i32 12, i32 1, %struct._IO_FILE* %File)
4900 ret void
4901}
4902
4903; Function Attrs: nounwind
4904define %struct.LIST_HELP* @dfg_DFGParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence, %struct.LIST_HELP** nocapture %Axioms, %struct.LIST_HELP** nocapture %Conjectures, %struct.LIST_HELP** nocapture %SortDecl, %struct.LIST_HELP** nocapture %UserDefinedPrecedence) #0 {
4905entry:
4906 store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
4907 store i32 1, i32* @dfg_LINENUMBER, align 4
4908 store i32 1, i32* @dfg_IGNORETEXT, align 4
4909 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
4910 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
4911 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
4912 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
4913 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
4914 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
4915 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
4916 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
4917 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4918 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
4919 store i1 false, i1* @dfg_VARDECL, align 1
4920 store i32 0, i32* @dfg_IGNORE, align 4
4921 store i32* %Flags, i32** @dfg_FLAGS, align 4
4922 store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
4923 store i8* null, i8** @dfg_DESC.0, align 4
4924 store i8* null, i8** @dfg_DESC.1, align 4
4925 store i8* null, i8** @dfg_DESC.2, align 4
4926 store i8* null, i8** @dfg_DESC.3, align 4
4927 store i32 2, i32* @dfg_DESC.4, align 4
4928 store i8* null, i8** @dfg_DESC.5, align 4
4929 store i8* null, i8** @dfg_DESC.6, align 4
4930 %call1 = tail call i32 @dfg_parse()
4931 %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4932 %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
4933 br i1 %cmp.i13.i, label %for.cond.preheader, label %while.body.lr.ph.i
4934
4935while.body.lr.ph.i: ; preds = %entry
4936 %1 = load i32* @symbol_TYPESTATBITS, align 4
4937 br label %while.body.i
4938
4939while.body.i: ; preds = %if.end.i109, %while.body.lr.ph.i
4940 %2 = phi %struct.LIST_HELP* [ %0, %while.body.lr.ph.i ], [ %L.idx.val.i.i, %if.end.i109 ]
4941 %.idx.i = getelementptr %struct.LIST_HELP* %2, i32 0, i32 1
4942 %.idx.val.i = load i8** %.idx.i, align 4
4943 %symbol.i = bitcast i8* %.idx.val.i to i32*
4944 %3 = load i32* %symbol.i, align 4
4945 %arity.i = getelementptr inbounds i8* %.idx.val.i, i32 8
4946 %4 = bitcast i8* %arity.i to i32*
4947 %5 = load i32* %4, align 4
4948 %sub.i.i9.i = sub nsw i32 0, %3
4949 %shr.i.i10.i = ashr i32 %sub.i.i9.i, %1
4950 %6 = load %struct.signature*** @symbol_SIGNATURE, align 4
4951 %arrayidx.i.i11.i = getelementptr inbounds %struct.signature** %6, i32 %shr.i.i10.i
4952 %7 = load %struct.signature** %arrayidx.i.i11.i, align 4
4953 %arity.i12.i = getelementptr inbounds %struct.signature* %7, i32 0, i32 3
4954 %8 = load i32* %arity.i12.i, align 4
4955 %cmp.i = icmp eq i32 %5, %8
4956 br i1 %cmp.i, label %if.end.i109, label %if.then.i
4957
4958if.then.i: ; preds = %while.body.i
4959 store i32 %5, i32* %arity.i12.i, align 4
4960 br label %if.end.i109
4961
4962if.end.i109: ; preds = %if.then.i, %while.body.i
4963 %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
4964 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 4
4965 %10 = load i32* %total_size.i.i.i, align 4
4966 %11 = load i32* @memory_FREEDBYTES, align 4
4967 %add24.i.i.i = add i32 %11, %10
4968 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
4969 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
4970 %12 = load i8** %free.i.i.i, align 4
4971 %.c.i.i = ptrtoint i8* %12 to i32
4972 store i32 %.c.i.i, i32* %symbol.i, align 4
4973 %13 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
4974 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %13, i32 0, i32 0
4975 store i8* %.idx.val.i, i8** %free27.i.i.i, align 4
4976 %14 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4977 %L.idx.i.i = getelementptr %struct.LIST_HELP* %14, i32 0, i32 0
4978 %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
4979 %15 = bitcast %struct.LIST_HELP* %14 to i8*
4980 %16 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
4981 %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 4
4982 %17 = load i32* %total_size.i.i.i.i, align 4
4983 %18 = load i32* @memory_FREEDBYTES, align 4
4984 %add24.i.i.i.i = add i32 %18, %17
4985 store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
4986 %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 0
4987 %19 = load i8** %free.i.i.i.i, align 4
4988 %.c.i.i.i = bitcast i8* %19 to %struct.LIST_HELP*
4989 store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
4990 %20 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
4991 %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %20, i32 0, i32 0
4992 store i8* %15, i8** %free27.i.i.i.i, align 4
4993 store %struct.LIST_HELP* %L.idx.val.i.i, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4994 %cmp.i.i108 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
4995 br i1 %cmp.i.i108, label %for.cond.preheader, label %while.body.i
4996
4997for.cond.preheader: ; preds = %if.end.i109, %entry
4998 %scan.0127 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
4999 %cmp.i115128 = icmp eq %struct.LIST_HELP* %scan.0127, null
5000 br i1 %cmp.i115128, label %for.end, label %for.body
5001
5002for.body: ; preds = %for.cond.preheader, %if.end
5003 %scan.0129 = phi %struct.LIST_HELP* [ %scan.0, %if.end ], [ %scan.0127, %for.cond.preheader ]
5004 %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.0129, i32 0, i32 1
5005 %scan.0.idx.val = load i8** %scan.0.idx, align 4
5006 %.idx59 = bitcast i8* %scan.0.idx.val to %struct.LIST_HELP**
5007 %.idx59.val = load %struct.LIST_HELP** %.idx59, align 4
5008 %21 = bitcast %struct.LIST_HELP* %.idx59.val to %struct.term*
5009 %call5 = tail call %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %21, i32 1, i32* %Flags, i32* %Precedence)
5010 %22 = bitcast %struct.CLAUSE_HELP* %call5 to i8*
5011 store i8* %22, i8** %scan.0.idx, align 4
5012 %.idx63 = getelementptr i8* %scan.0.idx.val, i32 4
5013 %23 = bitcast i8* %.idx63 to i8**
5014 %.idx63.val = load i8** %23, align 4
5015 %cmp = icmp eq i8* %.idx63.val, null
5016 br i1 %cmp, label %if.end, label %if.then
5017
5018if.then: ; preds = %for.body
5019 tail call void @string_StringFree(i8* %.idx63.val) #1
5020 br label %if.end
5021
5022if.end: ; preds = %for.body, %if.then
5023 %24 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5024 %total_size.i.i.i118 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 4
5025 %25 = load i32* %total_size.i.i.i118, align 4
5026 %26 = load i32* @memory_FREEDBYTES, align 4
5027 %add24.i.i.i119 = add i32 %26, %25
5028 store i32 %add24.i.i.i119, i32* @memory_FREEDBYTES, align 4
5029 %free.i.i.i120 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 0
5030 %27 = load i8** %free.i.i.i120, align 4
5031 %.c.i.i121 = bitcast i8* %27 to %struct.LIST_HELP*
5032 store %struct.LIST_HELP* %.c.i.i121, %struct.LIST_HELP** %.idx59, align 4
5033 %28 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5034 %free27.i.i.i122 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %28, i32 0, i32 0
5035 store i8* %scan.0.idx.val, i8** %free27.i.i.i122, align 4
5036 %scan.0.idx58 = getelementptr %struct.LIST_HELP* %scan.0129, i32 0, i32 0
5037 %scan.0 = load %struct.LIST_HELP** %scan.0.idx58, align 4
5038 %cmp.i115 = icmp eq %struct.LIST_HELP* %scan.0, null
5039 br i1 %cmp.i115, label %for.cond.for.end_crit_edge, label %for.body
5040
5041for.cond.for.end_crit_edge: ; preds = %if.end
5042 %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5043 br label %for.end
5044
5045for.end: ; preds = %for.cond.for.end_crit_edge, %for.cond.preheader
5046 %29 = phi %struct.LIST_HELP* [ %.pre, %for.cond.for.end_crit_edge ], [ null, %for.cond.preheader ]
5047 %call9 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %29, i8* null) #1
5048 store %struct.LIST_HELP* %call9, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5049 %scan.1124 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5050 %cmp.i116125 = icmp eq %struct.LIST_HELP* %scan.1124, null
5051 br i1 %cmp.i116125, label %for.end25, label %for.body14
5052
5053for.body14: ; preds = %for.end, %if.end22
5054 %scan.1126 = phi %struct.LIST_HELP* [ %scan.1, %if.end22 ], [ %scan.1124, %for.end ]
5055 %scan.1.idx = getelementptr %struct.LIST_HELP* %scan.1126, i32 0, i32 1
5056 %scan.1.idx.val = load i8** %scan.1.idx, align 4
5057 %.idx = bitcast i8* %scan.1.idx.val to %struct.LIST_HELP**
5058 %.idx.val = load %struct.LIST_HELP** %.idx, align 4
5059 %30 = bitcast %struct.LIST_HELP* %.idx.val to %struct.term*
5060 %call17 = tail call %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %30, i32 0, i32* %Flags, i32* %Precedence)
5061 %31 = bitcast %struct.CLAUSE_HELP* %call17 to i8*
5062 store i8* %31, i8** %scan.1.idx, align 4
5063 %.idx61 = getelementptr i8* %scan.1.idx.val, i32 4
5064 %32 = bitcast i8* %.idx61 to i8**
5065 %.idx61.val = load i8** %32, align 4
5066 %cmp19 = icmp eq i8* %.idx61.val, null
5067 br i1 %cmp19, label %if.end22, label %if.then20
5068
5069if.then20: ; preds = %for.body14
5070 tail call void @string_StringFree(i8* %.idx61.val) #1
5071 br label %if.end22
5072
5073if.end22: ; preds = %for.body14, %if.then20
5074 %33 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5075 %total_size.i.i.i110 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %33, i32 0, i32 4
5076 %34 = load i32* %total_size.i.i.i110, align 4
5077 %35 = load i32* @memory_FREEDBYTES, align 4
5078 %add24.i.i.i111 = add i32 %35, %34
5079 store i32 %add24.i.i.i111, i32* @memory_FREEDBYTES, align 4
5080 %free.i.i.i112 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %33, i32 0, i32 0
5081 %36 = load i8** %free.i.i.i112, align 4
5082 %.c.i.i113 = bitcast i8* %36 to %struct.LIST_HELP*
5083 store %struct.LIST_HELP* %.c.i.i113, %struct.LIST_HELP** %.idx, align 4
5084 %37 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5085 %free27.i.i.i114 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %37, i32 0, i32 0
5086 store i8* %scan.1.idx.val, i8** %free27.i.i.i114, align 4
5087 %scan.1.idx57 = getelementptr %struct.LIST_HELP* %scan.1126, i32 0, i32 0
5088 %scan.1 = load %struct.LIST_HELP** %scan.1.idx57, align 4
5089 %cmp.i116 = icmp eq %struct.LIST_HELP* %scan.1, null
5090 br i1 %cmp.i116, label %for.cond10.for.end25_crit_edge, label %for.body14
5091
5092for.cond10.for.end25_crit_edge: ; preds = %if.end22
5093 %.pre130 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5094 br label %for.end25
5095
5096for.end25: ; preds = %for.cond10.for.end25_crit_edge, %for.end
5097 %38 = phi %struct.LIST_HELP* [ %.pre130, %for.cond10.for.end25_crit_edge ], [ null, %for.end ]
5098 %call26 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %38, i8* null) #1
5099 store %struct.LIST_HELP* %call26, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5100 %39 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
5101 tail call void @dfg_DeleteProofList(%struct.LIST_HELP* %39)
5102 %40 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
5103 tail call void @list_DeleteWithElement(%struct.LIST_HELP* %40, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
5104 %41 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5105 %42 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5106 %cmp.i.i97 = icmp eq %struct.LIST_HELP* %41, null
5107 br i1 %cmp.i.i97, label %list_Nconc.exit107, label %if.end.i99
5108
5109if.end.i99: ; preds = %for.end25
5110 %cmp.i18.i98 = icmp eq %struct.LIST_HELP* %42, null
5111 br i1 %cmp.i18.i98, label %list_Nconc.exit107, label %for.cond.i104
5112
5113for.cond.i104: ; preds = %if.end.i99, %for.cond.i104
5114 %List1.addr.0.i100 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i102, %for.cond.i104 ], [ %41, %if.end.i99 ]
5115 %List1.addr.0.idx15.i101 = getelementptr %struct.LIST_HELP* %List1.addr.0.i100, i32 0, i32 0
5116 %List1.addr.0.idx15.val.i102 = load %struct.LIST_HELP** %List1.addr.0.idx15.i101, align 4
5117 %cmp.i16.i103 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i102, null
5118 br i1 %cmp.i16.i103, label %for.end.i105, label %for.cond.i104
5119
5120for.end.i105: ; preds = %for.cond.i104
5121 store %struct.LIST_HELP* %42, %struct.LIST_HELP** %List1.addr.0.idx15.i101, align 4
5122 br label %list_Nconc.exit107
5123
5124list_Nconc.exit107: ; preds = %for.end25, %if.end.i99, %for.end.i105
5125 %retval.0.i106 = phi %struct.LIST_HELP* [ %41, %for.end.i105 ], [ %42, %for.end25 ], [ %41, %if.end.i99 ]
5126 %43 = load %struct.LIST_HELP** %Axioms, align 4
5127 %44 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
5128 %cmp.i.i86 = icmp eq %struct.LIST_HELP* %43, null
5129 br i1 %cmp.i.i86, label %list_Nconc.exit96, label %if.end.i88
5130
5131if.end.i88: ; preds = %list_Nconc.exit107
5132 %cmp.i18.i87 = icmp eq %struct.LIST_HELP* %44, null
5133 br i1 %cmp.i18.i87, label %list_Nconc.exit96, label %for.cond.i93
5134
5135for.cond.i93: ; preds = %if.end.i88, %for.cond.i93
5136 %List1.addr.0.i89 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i91, %for.cond.i93 ], [ %43, %if.end.i88 ]
5137 %List1.addr.0.idx15.i90 = getelementptr %struct.LIST_HELP* %List1.addr.0.i89, i32 0, i32 0
5138 %List1.addr.0.idx15.val.i91 = load %struct.LIST_HELP** %List1.addr.0.idx15.i90, align 4
5139 %cmp.i16.i92 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i91, null
5140 br i1 %cmp.i16.i92, label %for.end.i94, label %for.cond.i93
5141
5142for.end.i94: ; preds = %for.cond.i93
5143 store %struct.LIST_HELP* %44, %struct.LIST_HELP** %List1.addr.0.idx15.i90, align 4
5144 br label %list_Nconc.exit96
5145
5146list_Nconc.exit96: ; preds = %list_Nconc.exit107, %if.end.i88, %for.end.i94
5147 %retval.0.i95 = phi %struct.LIST_HELP* [ %43, %for.end.i94 ], [ %44, %list_Nconc.exit107 ], [ %43, %if.end.i88 ]
5148 store %struct.LIST_HELP* %retval.0.i95, %struct.LIST_HELP** %Axioms, align 4
5149 %45 = load %struct.LIST_HELP** %Conjectures, align 4
5150 %46 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
5151 %cmp.i.i75 = icmp eq %struct.LIST_HELP* %45, null
5152 br i1 %cmp.i.i75, label %list_Nconc.exit85, label %if.end.i77
5153
5154if.end.i77: ; preds = %list_Nconc.exit96
5155 %cmp.i18.i76 = icmp eq %struct.LIST_HELP* %46, null
5156 br i1 %cmp.i18.i76, label %list_Nconc.exit85, label %for.cond.i82
5157
5158for.cond.i82: ; preds = %if.end.i77, %for.cond.i82
5159 %List1.addr.0.i78 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i80, %for.cond.i82 ], [ %45, %if.end.i77 ]
5160 %List1.addr.0.idx15.i79 = getelementptr %struct.LIST_HELP* %List1.addr.0.i78, i32 0, i32 0
5161 %List1.addr.0.idx15.val.i80 = load %struct.LIST_HELP** %List1.addr.0.idx15.i79, align 4
5162 %cmp.i16.i81 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i80, null
5163 br i1 %cmp.i16.i81, label %for.end.i83, label %for.cond.i82
5164
5165for.end.i83: ; preds = %for.cond.i82
5166 store %struct.LIST_HELP* %46, %struct.LIST_HELP** %List1.addr.0.idx15.i79, align 4
5167 br label %list_Nconc.exit85
5168
5169list_Nconc.exit85: ; preds = %list_Nconc.exit96, %if.end.i77, %for.end.i83
5170 %retval.0.i84 = phi %struct.LIST_HELP* [ %45, %for.end.i83 ], [ %46, %list_Nconc.exit96 ], [ %45, %if.end.i77 ]
5171 store %struct.LIST_HELP* %retval.0.i84, %struct.LIST_HELP** %Conjectures, align 4
5172 %47 = load %struct.LIST_HELP** %SortDecl, align 4
5173 %48 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
5174 %cmp.i.i64 = icmp eq %struct.LIST_HELP* %47, null
5175 br i1 %cmp.i.i64, label %list_Nconc.exit74, label %if.end.i66
5176
5177if.end.i66: ; preds = %list_Nconc.exit85
5178 %cmp.i18.i65 = icmp eq %struct.LIST_HELP* %48, null
5179 br i1 %cmp.i18.i65, label %list_Nconc.exit74, label %for.cond.i71
5180
5181for.cond.i71: ; preds = %if.end.i66, %for.cond.i71
5182 %List1.addr.0.i67 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i69, %for.cond.i71 ], [ %47, %if.end.i66 ]
5183 %List1.addr.0.idx15.i68 = getelementptr %struct.LIST_HELP* %List1.addr.0.i67, i32 0, i32 0
5184 %List1.addr.0.idx15.val.i69 = load %struct.LIST_HELP** %List1.addr.0.idx15.i68, align 4
5185 %cmp.i16.i70 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i69, null
5186 br i1 %cmp.i16.i70, label %for.end.i72, label %for.cond.i71
5187
5188for.end.i72: ; preds = %for.cond.i71
5189 store %struct.LIST_HELP* %48, %struct.LIST_HELP** %List1.addr.0.idx15.i68, align 4
5190 br label %list_Nconc.exit74
5191
5192list_Nconc.exit74: ; preds = %list_Nconc.exit85, %if.end.i66, %for.end.i72
5193 %retval.0.i73 = phi %struct.LIST_HELP* [ %47, %for.end.i72 ], [ %48, %list_Nconc.exit85 ], [ %47, %if.end.i66 ]
5194 store %struct.LIST_HELP* %retval.0.i73, %struct.LIST_HELP** %SortDecl, align 4
5195 %49 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
5196 %call31 = tail call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %49) #1
5197 %50 = load %struct.LIST_HELP** %UserDefinedPrecedence, align 4
5198 %51 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
5199 %cmp.i.i = icmp eq %struct.LIST_HELP* %50, null
5200 br i1 %cmp.i.i, label %list_Nconc.exit, label %if.end.i
5201
5202if.end.i: ; preds = %list_Nconc.exit74
5203 %cmp.i18.i = icmp eq %struct.LIST_HELP* %51, null
5204 br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
5205
5206for.cond.i: ; preds = %if.end.i, %for.cond.i
5207 %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %50, %if.end.i ]
5208 %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
5209 %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
5210 %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
5211 br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
5212
5213for.end.i: ; preds = %for.cond.i
5214 store %struct.LIST_HELP* %51, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
5215 br label %list_Nconc.exit
5216
5217list_Nconc.exit: ; preds = %list_Nconc.exit74, %if.end.i, %for.end.i
5218 %retval.0.i = phi %struct.LIST_HELP* [ %50, %for.end.i ], [ %51, %list_Nconc.exit74 ], [ %50, %if.end.i ]
5219 store %struct.LIST_HELP* %retval.0.i, %struct.LIST_HELP** %UserDefinedPrecedence, align 4
5220 ret %struct.LIST_HELP* %retval.0.i106
5221}
5222
5223; Function Attrs: nounwind
5224define %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %Clause, i32 %IsAxiom, i32* %Flags, i32* %Precedence) #0 {
5225entry:
5226 %Clause.idx = getelementptr %struct.term* %Clause, i32 0, i32 0
5227 %Clause.idx.val = load i32* %Clause.idx, align 4
5228 %0 = load i32* @fol_ALL, align 4
5229 %cmp = icmp eq i32 %Clause.idx.val, %0
5230 %Clause.idx66 = getelementptr %struct.term* %Clause, i32 0, i32 2
5231 %Clause.idx66.val = load %struct.LIST_HELP** %Clause.idx66, align 4
5232 br i1 %cmp, label %if.then, label %if.else
5233
5234if.then: ; preds = %entry
5235 %Clause.idx66.val.idx = getelementptr %struct.LIST_HELP* %Clause.idx66.val, i32 0, i32 0
5236 %Clause.idx66.val.idx.val = load %struct.LIST_HELP** %Clause.idx66.val.idx, align 4
5237 %Clause.idx66.val.idx.val.idx = getelementptr %struct.LIST_HELP* %Clause.idx66.val.idx.val, i32 0, i32 1
5238 %Clause.idx66.val.idx.val.idx.val = load i8** %Clause.idx66.val.idx.val.idx, align 4
5239 %call2.idx = getelementptr i8* %Clause.idx66.val.idx.val.idx.val, i32 8
5240 %1 = bitcast i8* %call2.idx to %struct.LIST_HELP**
5241 %call2.idx.val = load %struct.LIST_HELP** %1, align 4
5242 store %struct.LIST_HELP* null, %struct.LIST_HELP** %1, align 4
5243 br label %if.end
5244
5245if.else: ; preds = %entry
5246 store %struct.LIST_HELP* null, %struct.LIST_HELP** %Clause.idx66, align 4
5247 br label %if.end
5248
5249if.end: ; preds = %if.else, %if.then
5250 %literals.0 = phi %struct.LIST_HELP* [ %call2.idx.val, %if.then ], [ %Clause.idx66.val, %if.else ]
5251 tail call void @term_Delete(%struct.term* %Clause) #1
5252 %cmp.i7880 = icmp eq %struct.LIST_HELP* %literals.0, null
5253 br i1 %cmp.i7880, label %for.end, label %for.body.lr.ph
5254
5255for.body.lr.ph: ; preds = %if.end
5256 %car.i = getelementptr inbounds %struct.LIST_HELP* %literals.0, i32 0, i32 1
5257 %2 = load i32* @symbol_TYPEMASK, align 4
5258 br label %for.body
5259
5260for.body: ; preds = %for.body.lr.ph, %for.inc
5261 %scan.081 = phi %struct.LIST_HELP* [ %literals.0, %for.body.lr.ph ], [ %scan.0.idx62.val, %for.inc ]
5262 %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.081, i32 0, i32 1
5263 %scan.0.idx.val = load i8** %scan.0.idx, align 4
5264 %3 = bitcast i8* %scan.0.idx.val to %struct.term*
5265 %.idx = bitcast i8* %scan.0.idx.val to i32*
5266 %.idx.val = load i32* %.idx, align 4
5267 %tobool.i = icmp sgt i32 %.idx.val, -1
5268 br i1 %tobool.i, label %if.else24, label %land.rhs.i
5269
5270land.rhs.i: ; preds = %for.body
5271 %sub.i.i = sub nsw i32 0, %.idx.val
5272 %and.i.i = and i32 %2, %sub.i.i
5273 %cmp.i = icmp eq i32 %and.i.i, 2
5274 br i1 %cmp.i, label %if.then13, label %if.else24
5275
5276if.then13: ; preds = %land.rhs.i
5277 %4 = load i32* @fol_TRUE, align 4
5278 %cmp.i.i76 = icmp eq i32 %4, %.idx.val
5279 br i1 %cmp.i.i76, label %if.then16, label %if.else18
5280
5281if.then16: ; preds = %if.then13
5282 %call17 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %literals.0, i8* null) #1
5283 tail call void @list_DeleteWithElement(%struct.LIST_HELP* %literals.0, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
5284 br label %return
5285
5286if.else18: ; preds = %if.then13
5287 %5 = load i32* @fol_FALSE, align 4
5288 %cmp.i.i74 = icmp eq i32 %5, %.idx.val
5289 br i1 %cmp.i.i74, label %if.then21, label %for.inc
5290
5291if.then21: ; preds = %if.else18
5292 tail call void @term_Delete(%struct.term* %3) #1
5293 store i8* null, i8** %scan.0.idx, align 4
5294 br label %for.inc
5295
5296if.else24: ; preds = %for.body, %land.rhs.i
5297 %.idx63 = getelementptr i8* %scan.0.idx.val, i32 8
5298 %6 = bitcast i8* %.idx63 to %struct.LIST_HELP**
5299 %.idx63.val = load %struct.LIST_HELP** %6, align 4
5300 %.idx63.val.idx = getelementptr %struct.LIST_HELP* %.idx63.val, i32 0, i32 1
5301 %.idx63.val.idx.val = load i8** %.idx63.val.idx, align 4
5302 %call25.idx68 = bitcast i8* %.idx63.val.idx.val to i32*
5303 %call25.idx68.val = load i32* %call25.idx68, align 4
5304 %7 = load i32* @fol_FALSE, align 4
5305 %cmp.i.i71 = icmp eq i32 %7, %call25.idx68.val
5306 br i1 %cmp.i.i71, label %if.then28, label %if.else30
5307
5308if.then28: ; preds = %if.else24
5309 %call29 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %literals.0, i8* null) #1
5310 tail call void @list_DeleteWithElement(%struct.LIST_HELP* %literals.0, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
5311 br label %return
5312
5313if.else30: ; preds = %if.else24
5314 %8 = load i32* @fol_TRUE, align 4
5315 %cmp.i.i70 = icmp eq i32 %8, %call25.idx68.val
5316 br i1 %cmp.i.i70, label %if.then33, label %for.inc
5317
5318if.then33: ; preds = %if.else30
5319 tail call void @term_Delete(%struct.term* %3) #1
5320 store i8* null, i8** %car.i, align 4
5321 br label %for.inc
5322
5323for.inc: ; preds = %if.else30, %if.else18, %if.then21, %if.then33
5324 %scan.0.idx62 = getelementptr %struct.LIST_HELP* %scan.081, i32 0, i32 0
5325 %scan.0.idx62.val = load %struct.LIST_HELP** %scan.0.idx62, align 4
5326 %cmp.i78 = icmp eq %struct.LIST_HELP* %scan.0.idx62.val, null
5327 br i1 %cmp.i78, label %for.end, label %for.body
5328
5329for.end: ; preds = %for.inc, %if.end
5330 %call38 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %literals.0, i8* null) #1
5331 %lnot40 = icmp eq i32 %IsAxiom, 0
5332 %lnot.ext = zext i1 %lnot40 to i32
5333 %call41 = tail call %struct.CLAUSE_HELP* @clause_CreateFromLiterals(%struct.LIST_HELP* %call38, i32 0, i32 %lnot.ext, i32 0, i32* %Flags, i32* %Precedence) #1
5334 %cmp.i5.i = icmp eq %struct.LIST_HELP* %call38, null
5335 br i1 %cmp.i5.i, label %return, label %while.body.i
5336
5337while.body.i: ; preds = %for.end, %while.body.i
5338 %L.addr.06.i = phi %struct.LIST_HELP* [ %L.addr.0.idx.val.i, %while.body.i ], [ %call38, %for.end ]
5339 %L.addr.0.idx.i = getelementptr %struct.LIST_HELP* %L.addr.06.i, i32 0, i32 0
5340 %L.addr.0.idx.val.i = load %struct.LIST_HELP** %L.addr.0.idx.i, align 4
5341 %9 = bitcast %struct.LIST_HELP* %L.addr.06.i to i8*
5342 %10 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5343 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %10, i32 0, i32 4
5344 %11 = load i32* %total_size.i.i.i, align 4
5345 %12 = load i32* @memory_FREEDBYTES, align 4
5346 %add24.i.i.i = add i32 %12, %11
5347 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
5348 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %10, i32 0, i32 0
5349 %13 = load i8** %free.i.i.i, align 4
5350 %.c.i.i = bitcast i8* %13 to %struct.LIST_HELP*
5351 store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.addr.0.idx.i, align 4
5352 %14 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5353 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %14, i32 0, i32 0
5354 store i8* %9, i8** %free27.i.i.i, align 4
5355 %cmp.i.i = icmp eq %struct.LIST_HELP* %L.addr.0.idx.val.i, null
5356 br i1 %cmp.i.i, label %return, label %while.body.i
5357
5358return: ; preds = %while.body.i, %for.end, %if.then28, %if.then16
5359 %retval.0 = phi %struct.CLAUSE_HELP* [ null, %if.then16 ], [ null, %if.then28 ], [ %call41, %for.end ], [ %call41, %while.body.i ]
5360 ret %struct.CLAUSE_HELP* %retval.0
5361}
5362
5363declare %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP*, i8*) #2
5364
5365; Function Attrs: nounwind
5366define void @dfg_DeleteProofList(%struct.LIST_HELP* %Proof) #0 {
5367entry:
5368 %cmp.i18 = icmp eq %struct.LIST_HELP* %Proof, null
5369 br i1 %cmp.i18, label %for.end, label %for.body
5370
5371for.body: ; preds = %entry, %list_Delete.exit
5372 %Proof.addr.019 = phi %struct.LIST_HELP* [ %L.idx.val.i, %list_Delete.exit ], [ %Proof, %entry ]
5373 %Proof.addr.0.idx = getelementptr %struct.LIST_HELP* %Proof.addr.019, i32 0, i32 1
5374 %Proof.addr.0.idx.val = load i8** %Proof.addr.0.idx, align 4
5375 %.idx = getelementptr i8* %Proof.addr.0.idx.val, i32 4
5376 %0 = bitcast i8* %.idx to i8**
5377 %.idx.val = load i8** %0, align 4
5378 tail call void @string_StringFree(i8* %.idx.val) #1
5379 %.idx11 = bitcast i8* %Proof.addr.0.idx.val to %struct.LIST_HELP**
5380 %.idx11.val = load %struct.LIST_HELP** %.idx11, align 4
5381 %.idx11.val.idx = getelementptr %struct.LIST_HELP* %.idx11.val, i32 0, i32 1
5382 %.idx11.val.idx.val = load i8** %.idx11.val.idx, align 4
5383 %1 = bitcast i8* %.idx11.val.idx.val to %struct.term*
5384 tail call void @term_Delete(%struct.term* %1) #1
5385 %.idx12.val = load %struct.LIST_HELP** %.idx11, align 4
5386 %.idx12.val.idx = getelementptr %struct.LIST_HELP* %.idx12.val, i32 0, i32 0
5387 %.idx12.val.idx.val = load %struct.LIST_HELP** %.idx12.val.idx, align 4
5388 %.idx12.val.idx.val.idx = getelementptr %struct.LIST_HELP* %.idx12.val.idx.val, i32 0, i32 1
5389 %.idx12.val.idx.val.idx.val = load i8** %.idx12.val.idx.val.idx, align 4
5390 %2 = bitcast i8* %.idx12.val.idx.val.idx.val to %struct.LIST_HELP*
5391 tail call void @list_DeleteWithElement(%struct.LIST_HELP* %2, void (i8*)* @string_StringFree) #1
5392 %cmp.i5.i = icmp eq i8* %Proof.addr.0.idx.val, null
5393 br i1 %cmp.i5.i, label %list_Delete.exit, label %while.body.i.preheader
5394
5395while.body.i.preheader: ; preds = %for.body
5396 %3 = bitcast i8* %Proof.addr.0.idx.val to %struct.LIST_HELP*
5397 br label %while.body.i
5398
5399while.body.i: ; preds = %while.body.i.preheader, %while.body.i
5400 %L.addr.06.i = phi %struct.LIST_HELP* [ %L.addr.0.idx.val.i, %while.body.i ], [ %3, %while.body.i.preheader ]
5401 %L.addr.0.idx.i = getelementptr %struct.LIST_HELP* %L.addr.06.i, i32 0, i32 0
5402 %L.addr.0.idx.val.i = load %struct.LIST_HELP** %L.addr.0.idx.i, align 4
5403 %4 = bitcast %struct.LIST_HELP* %L.addr.06.i to i8*
5404 %5 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5405 %total_size.i.i.i13 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %5, i32 0, i32 4
5406 %6 = load i32* %total_size.i.i.i13, align 4
5407 %7 = load i32* @memory_FREEDBYTES, align 4
5408 %add24.i.i.i14 = add i32 %7, %6
5409 store i32 %add24.i.i.i14, i32* @memory_FREEDBYTES, align 4
5410 %free.i.i.i15 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %5, i32 0, i32 0
5411 %8 = load i8** %free.i.i.i15, align 4
5412 %.c.i.i16 = bitcast i8* %8 to %struct.LIST_HELP*
5413 store %struct.LIST_HELP* %.c.i.i16, %struct.LIST_HELP** %L.addr.0.idx.i, align 4
5414 %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5415 %free27.i.i.i17 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
5416 store i8* %4, i8** %free27.i.i.i17, align 4
5417 %cmp.i.i = icmp eq %struct.LIST_HELP* %L.addr.0.idx.val.i, null
5418 br i1 %cmp.i.i, label %list_Delete.exit, label %while.body.i
5419
5420list_Delete.exit: ; preds = %while.body.i, %for.body
5421 %L.idx.i = getelementptr %struct.LIST_HELP* %Proof.addr.019, i32 0, i32 0
5422 %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
5423 %10 = bitcast %struct.LIST_HELP* %Proof.addr.019 to i8*
5424 %11 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5425 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 4
5426 %12 = load i32* %total_size.i.i.i, align 4
5427 %13 = load i32* @memory_FREEDBYTES, align 4
5428 %add24.i.i.i = add i32 %13, %12
5429 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
5430 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 0
5431 %14 = load i8** %free.i.i.i, align 4
5432 %.c.i.i = bitcast i8* %14 to %struct.LIST_HELP*
5433 store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
5434 %15 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5435 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %15, i32 0, i32 0
5436 store i8* %10, i8** %free27.i.i.i, align 4
5437 %cmp.i = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
5438 br i1 %cmp.i, label %for.end, label %for.body
5439
5440for.end: ; preds = %list_Delete.exit, %entry
5441 ret void
5442}
5443
5444; Function Attrs: nounwind
5445define %struct.LIST_HELP* @dfg_ProofParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
5446entry:
5447 store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
5448 store i32 1, i32* @dfg_LINENUMBER, align 4
5449 store i32 1, i32* @dfg_IGNORETEXT, align 4
5450 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
5451 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
5452 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
5453 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
5454 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5455 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5456 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
5457 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
5458 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5459 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
5460 store i1 false, i1* @dfg_VARDECL, align 1
5461 store i32 0, i32* @dfg_IGNORE, align 4
5462 store i32* %Flags, i32** @dfg_FLAGS, align 4
5463 store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
5464 store i8* null, i8** @dfg_DESC.0, align 4
5465 store i8* null, i8** @dfg_DESC.1, align 4
5466 store i8* null, i8** @dfg_DESC.2, align 4
5467 store i8* null, i8** @dfg_DESC.3, align 4
5468 store i32 2, i32* @dfg_DESC.4, align 4
5469 store i8* null, i8** @dfg_DESC.5, align 4
5470 store i8* null, i8** @dfg_DESC.6, align 4
5471 %call1 = tail call i32 @dfg_parse()
5472 %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5473 %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
5474 br i1 %cmp.i13.i, label %dfg_SymCleanUp.exit, label %while.body.lr.ph.i
5475
5476while.body.lr.ph.i: ; preds = %entry
5477 %1 = load i32* @symbol_TYPESTATBITS, align 4
5478 br label %while.body.i
5479
5480while.body.i: ; preds = %if.end.i42, %while.body.lr.ph.i
5481 %2 = phi %struct.LIST_HELP* [ %0, %while.body.lr.ph.i ], [ %L.idx.val.i.i35, %if.end.i42 ]
5482 %.idx.i30 = getelementptr %struct.LIST_HELP* %2, i32 0, i32 1
5483 %.idx.val.i31 = load i8** %.idx.i30, align 4
5484 %symbol.i = bitcast i8* %.idx.val.i31 to i32*
5485 %3 = load i32* %symbol.i, align 4
5486 %arity.i = getelementptr inbounds i8* %.idx.val.i31, i32 8
5487 %4 = bitcast i8* %arity.i to i32*
5488 %5 = load i32* %4, align 4
5489 %sub.i.i9.i = sub nsw i32 0, %3
5490 %shr.i.i10.i = ashr i32 %sub.i.i9.i, %1
5491 %6 = load %struct.signature*** @symbol_SIGNATURE, align 4
5492 %arrayidx.i.i11.i = getelementptr inbounds %struct.signature** %6, i32 %shr.i.i10.i
5493 %7 = load %struct.signature** %arrayidx.i.i11.i, align 4
5494 %arity.i12.i = getelementptr inbounds %struct.signature* %7, i32 0, i32 3
5495 %8 = load i32* %arity.i12.i, align 4
5496 %cmp.i32 = icmp eq i32 %5, %8
5497 br i1 %cmp.i32, label %if.end.i42, label %if.then.i33
5498
5499if.then.i33: ; preds = %while.body.i
5500 store i32 %5, i32* %arity.i12.i, align 4
5501 br label %if.end.i42
5502
5503if.end.i42: ; preds = %if.then.i33, %while.body.i
5504 %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
5505 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 4
5506 %10 = load i32* %total_size.i.i.i, align 4
5507 %11 = load i32* @memory_FREEDBYTES, align 4
5508 %add24.i.i.i = add i32 %11, %10
5509 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
5510 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
5511 %12 = load i8** %free.i.i.i, align 4
5512 %.c.i.i = ptrtoint i8* %12 to i32
5513 store i32 %.c.i.i, i32* %symbol.i, align 4
5514 %13 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
5515 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %13, i32 0, i32 0
5516 store i8* %.idx.val.i31, i8** %free27.i.i.i, align 4
5517 %14 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5518 %L.idx.i.i34 = getelementptr %struct.LIST_HELP* %14, i32 0, i32 0
5519 %L.idx.val.i.i35 = load %struct.LIST_HELP** %L.idx.i.i34, align 4
5520 %15 = bitcast %struct.LIST_HELP* %14 to i8*
5521 %16 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5522 %total_size.i.i.i.i36 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 4
5523 %17 = load i32* %total_size.i.i.i.i36, align 4
5524 %18 = load i32* @memory_FREEDBYTES, align 4
5525 %add24.i.i.i.i37 = add i32 %18, %17
5526 store i32 %add24.i.i.i.i37, i32* @memory_FREEDBYTES, align 4
5527 %free.i.i.i.i38 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 0
5528 %19 = load i8** %free.i.i.i.i38, align 4
5529 %.c.i.i.i39 = bitcast i8* %19 to %struct.LIST_HELP*
5530 store %struct.LIST_HELP* %.c.i.i.i39, %struct.LIST_HELP** %L.idx.i.i34, align 4
5531 %20 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5532 %free27.i.i.i.i40 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %20, i32 0, i32 0
5533 store i8* %15, i8** %free27.i.i.i.i40, align 4
5534 store %struct.LIST_HELP* %L.idx.val.i.i35, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5535 %cmp.i.i41 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i35, null
5536 br i1 %cmp.i.i41, label %dfg_SymCleanUp.exit, label %while.body.i
5537
5538dfg_SymCleanUp.exit: ; preds = %if.end.i42, %entry
5539 %21 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5540 %22 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5541 %cmp.i.i43 = icmp eq %struct.LIST_HELP* %21, null
5542 br i1 %cmp.i.i43, label %list_Nconc.exit53, label %if.end.i45
5543
5544if.end.i45: ; preds = %dfg_SymCleanUp.exit
5545 %cmp.i18.i44 = icmp eq %struct.LIST_HELP* %22, null
5546 br i1 %cmp.i18.i44, label %list_Nconc.exit53.thread, label %for.cond.i50
5547
5548list_Nconc.exit53.thread: ; preds = %if.end.i45
5549 store %struct.LIST_HELP* %21, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5550 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5551 br label %for.body
5552
5553for.cond.i50: ; preds = %if.end.i45, %for.cond.i50
5554 %List1.addr.0.i46 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i48, %for.cond.i50 ], [ %21, %if.end.i45 ]
5555 %List1.addr.0.idx15.i47 = getelementptr %struct.LIST_HELP* %List1.addr.0.i46, i32 0, i32 0
5556 %List1.addr.0.idx15.val.i48 = load %struct.LIST_HELP** %List1.addr.0.idx15.i47, align 4
5557 %cmp.i16.i49 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i48, null
5558 br i1 %cmp.i16.i49, label %for.end.i51, label %for.cond.i50
5559
5560for.end.i51: ; preds = %for.cond.i50
5561 store %struct.LIST_HELP* %22, %struct.LIST_HELP** %List1.addr.0.idx15.i47, align 4
5562 br label %list_Nconc.exit53
5563
5564list_Nconc.exit53: ; preds = %dfg_SymCleanUp.exit, %for.end.i51
5565 %retval.0.i52 = phi %struct.LIST_HELP* [ %21, %for.end.i51 ], [ %22, %dfg_SymCleanUp.exit ]
5566 store %struct.LIST_HELP* %retval.0.i52, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5567 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5568 %cmp.i81122 = icmp eq %struct.LIST_HELP* %retval.0.i52, null
5569 br i1 %cmp.i81122, label %for.end, label %for.body
5570
5571for.body: ; preds = %list_Nconc.exit53, %list_Nconc.exit53.thread, %for.inc
5572 %scan.0123 = phi %struct.LIST_HELP* [ %scan.0.idx24.val, %for.inc ], [ %21, %list_Nconc.exit53.thread ], [ %retval.0.i52, %list_Nconc.exit53 ]
5573 %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.0123, i32 0, i32 1
5574 %scan.0.idx.val = load i8** %scan.0.idx, align 4
5575 %.idx = bitcast i8* %scan.0.idx.val to %struct.LIST_HELP**
5576 %.idx.val = load %struct.LIST_HELP** %.idx, align 4
5577 %.idx25 = getelementptr i8* %scan.0.idx.val, i32 4
5578 %23 = bitcast i8* %.idx25 to i8**
5579 %.idx25.val = load i8** %23, align 4
5580 %cmp = icmp eq i8* %.idx25.val, null
5581 br i1 %cmp, label %if.then, label %if.else
5582
5583if.then: ; preds = %for.body
5584 %24 = bitcast %struct.LIST_HELP* %.idx.val to %struct.term*
5585 tail call void @term_Delete(%struct.term* %24) #1
5586 %25 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5587 %total_size.i.i.i113 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %25, i32 0, i32 4
5588 %26 = load i32* %total_size.i.i.i113, align 4
5589 %27 = load i32* @memory_FREEDBYTES, align 4
5590 %add24.i.i.i114 = add i32 %27, %26
5591 store i32 %add24.i.i.i114, i32* @memory_FREEDBYTES, align 4
5592 %free.i.i.i115 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %25, i32 0, i32 0
5593 %28 = load i8** %free.i.i.i115, align 4
5594 %.c.i.i116 = bitcast i8* %28 to %struct.LIST_HELP*
5595 store %struct.LIST_HELP* %.c.i.i116, %struct.LIST_HELP** %.idx, align 4
5596 %29 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5597 %free27.i.i.i117 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %29, i32 0, i32 0
5598 store i8* %scan.0.idx.val, i8** %free27.i.i.i117, align 4
5599 store i8* null, i8** %scan.0.idx, align 4
5600 br label %for.inc
5601
5602if.else: ; preds = %for.body
5603 %30 = bitcast %struct.LIST_HELP* %.idx.val to i8*
5604 %call.i.i = tail call i8* @memory_Malloc(i32 8) #1
5605 %31 = bitcast i8* %call.i.i to %struct.LIST_HELP*
5606 %car.i.i = getelementptr inbounds i8* %call.i.i, i32 4
5607 %32 = bitcast i8* %car.i.i to i8**
5608 store i8* inttoptr (i32 16 to i8*), i8** %32, align 4
5609 %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
5610 store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i, align 4
5611 %call.i118 = tail call i8* @memory_Malloc(i32 8) #1
5612 %33 = bitcast i8* %call.i118 to %struct.LIST_HELP*
5613 %car.i119 = getelementptr inbounds i8* %call.i118, i32 4
5614 %34 = bitcast i8* %car.i119 to i8**
5615 store i8* null, i8** %34, align 4
5616 %cdr.i120 = bitcast i8* %call.i118 to %struct.LIST_HELP**
5617 store %struct.LIST_HELP* %31, %struct.LIST_HELP** %cdr.i120, align 4
5618 %call.i110 = tail call i8* @memory_Malloc(i32 8) #1
5619 %35 = bitcast i8* %call.i110 to %struct.LIST_HELP*
5620 %car.i111 = getelementptr inbounds i8* %call.i110, i32 4
5621 %36 = bitcast i8* %car.i111 to i8**
5622 store i8* null, i8** %36, align 4
5623 %cdr.i112 = bitcast i8* %call.i110 to %struct.LIST_HELP**
5624 store %struct.LIST_HELP* %33, %struct.LIST_HELP** %cdr.i112, align 4
5625 %call.i = tail call i8* @memory_Malloc(i32 8) #1
5626 %37 = bitcast i8* %call.i to %struct.LIST_HELP*
5627 %car.i = getelementptr inbounds i8* %call.i, i32 4
5628 %38 = bitcast i8* %car.i to i8**
5629 store i8* %30, i8** %38, align 4
5630 %cdr.i109 = bitcast i8* %call.i to %struct.LIST_HELP**
5631 store %struct.LIST_HELP* %35, %struct.LIST_HELP** %cdr.i109, align 4
5632 store %struct.LIST_HELP* %37, %struct.LIST_HELP** %.idx, align 4
5633 br label %for.inc
5634
5635for.inc: ; preds = %if.then, %if.else
5636 %scan.0.idx24 = getelementptr %struct.LIST_HELP* %scan.0123, i32 0, i32 0
5637 %scan.0.idx24.val = load %struct.LIST_HELP** %scan.0.idx24, align 4
5638 %cmp.i81 = icmp eq %struct.LIST_HELP* %scan.0.idx24.val, null
5639 br i1 %cmp.i81, label %for.cond.for.end_crit_edge, label %for.body
5640
5641for.cond.for.end_crit_edge: ; preds = %for.inc
5642 %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5643 br label %for.end
5644
5645for.end: ; preds = %for.cond.for.end_crit_edge, %list_Nconc.exit53
5646 %39 = phi %struct.LIST_HELP* [ %.pre, %for.cond.for.end_crit_edge ], [ null, %list_Nconc.exit53 ]
5647 %call14 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %39, i8* null) #1
5648 store %struct.LIST_HELP* %call14, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5649 %40 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
5650 %cmp.i18.i82 = icmp eq %struct.LIST_HELP* %40, null
5651 br i1 %cmp.i18.i82, label %dfg_DeleteFormulaPairList.exit108, label %for.body.i91
5652
5653for.body.i91: ; preds = %for.end, %if.end.i106
5654 %FormulaPairs.addr.019.i83 = phi %struct.LIST_HELP* [ %L.idx.val.i.i99, %if.end.i106 ], [ %40, %for.end ]
5655 %FormulaPairs.addr.0.idx.i84 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i83, i32 0, i32 1
5656 %FormulaPairs.addr.0.idx.val.i85 = load i8** %FormulaPairs.addr.0.idx.i84, align 4
5657 %.idx.i86 = bitcast i8* %FormulaPairs.addr.0.idx.val.i85 to %struct.LIST_HELP**
5658 %.idx.val.i87 = load %struct.LIST_HELP** %.idx.i86, align 4
5659 %41 = bitcast %struct.LIST_HELP* %.idx.val.i87 to %struct.term*
5660 tail call void @term_Delete(%struct.term* %41) #1
5661 %.idx12.i88 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i85, i32 4
5662 %42 = bitcast i8* %.idx12.i88 to i8**
5663 %.idx12.val.i89 = load i8** %42, align 4
5664 %cmp.i90 = icmp eq i8* %.idx12.val.i89, null
5665 br i1 %cmp.i90, label %if.end.i106, label %if.then.i92
5666
5667if.then.i92: ; preds = %for.body.i91
5668 tail call void @string_StringFree(i8* %.idx12.val.i89) #1
5669 br label %if.end.i106
5670
5671if.end.i106: ; preds = %if.then.i92, %for.body.i91
5672 %43 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5673 %total_size.i.i.i13.i93 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %43, i32 0, i32 4
5674 %44 = load i32* %total_size.i.i.i13.i93, align 4
5675 %45 = load i32* @memory_FREEDBYTES, align 4
5676 %add24.i.i.i14.i94 = add i32 %45, %44
5677 store i32 %add24.i.i.i14.i94, i32* @memory_FREEDBYTES, align 4
5678 %free.i.i.i15.i95 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %43, i32 0, i32 0
5679 %46 = load i8** %free.i.i.i15.i95, align 4
5680 %.c.i.i16.i96 = bitcast i8* %46 to %struct.LIST_HELP*
5681 store %struct.LIST_HELP* %.c.i.i16.i96, %struct.LIST_HELP** %.idx.i86, align 4
5682 %47 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5683 %free27.i.i.i17.i97 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %47, i32 0, i32 0
5684 store i8* %FormulaPairs.addr.0.idx.val.i85, i8** %free27.i.i.i17.i97, align 4
5685 %L.idx.i.i98 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i83, i32 0, i32 0
5686 %L.idx.val.i.i99 = load %struct.LIST_HELP** %L.idx.i.i98, align 4
5687 %48 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i83 to i8*
5688 %49 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5689 %total_size.i.i.i.i100 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %49, i32 0, i32 4
5690 %50 = load i32* %total_size.i.i.i.i100, align 4
5691 %51 = load i32* @memory_FREEDBYTES, align 4
5692 %add24.i.i.i.i101 = add i32 %51, %50
5693 store i32 %add24.i.i.i.i101, i32* @memory_FREEDBYTES, align 4
5694 %free.i.i.i.i102 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %49, i32 0, i32 0
5695 %52 = load i8** %free.i.i.i.i102, align 4
5696 %.c.i.i.i103 = bitcast i8* %52 to %struct.LIST_HELP*
5697 store %struct.LIST_HELP* %.c.i.i.i103, %struct.LIST_HELP** %L.idx.i.i98, align 4
5698 %53 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5699 %free27.i.i.i.i104 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %53, i32 0, i32 0
5700 store i8* %48, i8** %free27.i.i.i.i104, align 4
5701 %cmp.i.i105 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i99, null
5702 br i1 %cmp.i.i105, label %dfg_DeleteFormulaPairList.exit108, label %for.body.i91
5703
5704dfg_DeleteFormulaPairList.exit108: ; preds = %if.end.i106, %for.end
5705 %54 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
5706 %cmp.i18.i54 = icmp eq %struct.LIST_HELP* %54, null
5707 br i1 %cmp.i18.i54, label %dfg_DeleteFormulaPairList.exit80, label %for.body.i63
5708
5709for.body.i63: ; preds = %dfg_DeleteFormulaPairList.exit108, %if.end.i78
5710 %FormulaPairs.addr.019.i55 = phi %struct.LIST_HELP* [ %L.idx.val.i.i71, %if.end.i78 ], [ %54, %dfg_DeleteFormulaPairList.exit108 ]
5711 %FormulaPairs.addr.0.idx.i56 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i55, i32 0, i32 1
5712 %FormulaPairs.addr.0.idx.val.i57 = load i8** %FormulaPairs.addr.0.idx.i56, align 4
5713 %.idx.i58 = bitcast i8* %FormulaPairs.addr.0.idx.val.i57 to %struct.LIST_HELP**
5714 %.idx.val.i59 = load %struct.LIST_HELP** %.idx.i58, align 4
5715 %55 = bitcast %struct.LIST_HELP* %.idx.val.i59 to %struct.term*
5716 tail call void @term_Delete(%struct.term* %55) #1
5717 %.idx12.i60 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i57, i32 4
5718 %56 = bitcast i8* %.idx12.i60 to i8**
5719 %.idx12.val.i61 = load i8** %56, align 4
5720 %cmp.i62 = icmp eq i8* %.idx12.val.i61, null
5721 br i1 %cmp.i62, label %if.end.i78, label %if.then.i64
5722
5723if.then.i64: ; preds = %for.body.i63
5724 tail call void @string_StringFree(i8* %.idx12.val.i61) #1
5725 br label %if.end.i78
5726
5727if.end.i78: ; preds = %if.then.i64, %for.body.i63
5728 %57 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5729 %total_size.i.i.i13.i65 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %57, i32 0, i32 4
5730 %58 = load i32* %total_size.i.i.i13.i65, align 4
5731 %59 = load i32* @memory_FREEDBYTES, align 4
5732 %add24.i.i.i14.i66 = add i32 %59, %58
5733 store i32 %add24.i.i.i14.i66, i32* @memory_FREEDBYTES, align 4
5734 %free.i.i.i15.i67 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %57, i32 0, i32 0
5735 %60 = load i8** %free.i.i.i15.i67, align 4
5736 %.c.i.i16.i68 = bitcast i8* %60 to %struct.LIST_HELP*
5737 store %struct.LIST_HELP* %.c.i.i16.i68, %struct.LIST_HELP** %.idx.i58, align 4
5738 %61 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5739 %free27.i.i.i17.i69 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %61, i32 0, i32 0
5740 store i8* %FormulaPairs.addr.0.idx.val.i57, i8** %free27.i.i.i17.i69, align 4
5741 %L.idx.i.i70 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i55, i32 0, i32 0
5742 %L.idx.val.i.i71 = load %struct.LIST_HELP** %L.idx.i.i70, align 4
5743 %62 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i55 to i8*
5744 %63 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5745 %total_size.i.i.i.i72 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %63, i32 0, i32 4
5746 %64 = load i32* %total_size.i.i.i.i72, align 4
5747 %65 = load i32* @memory_FREEDBYTES, align 4
5748 %add24.i.i.i.i73 = add i32 %65, %64
5749 store i32 %add24.i.i.i.i73, i32* @memory_FREEDBYTES, align 4
5750 %free.i.i.i.i74 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %63, i32 0, i32 0
5751 %66 = load i8** %free.i.i.i.i74, align 4
5752 %.c.i.i.i75 = bitcast i8* %66 to %struct.LIST_HELP*
5753 store %struct.LIST_HELP* %.c.i.i.i75, %struct.LIST_HELP** %L.idx.i.i70, align 4
5754 %67 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5755 %free27.i.i.i.i76 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %67, i32 0, i32 0
5756 store i8* %62, i8** %free27.i.i.i.i76, align 4
5757 %cmp.i.i77 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i71, null
5758 br i1 %cmp.i.i77, label %dfg_DeleteFormulaPairList.exit80, label %for.body.i63
5759
5760dfg_DeleteFormulaPairList.exit80: ; preds = %if.end.i78, %dfg_DeleteFormulaPairList.exit108
5761 %68 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
5762 %cmp.i18.i26 = icmp eq %struct.LIST_HELP* %68, null
5763 br i1 %cmp.i18.i26, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
5764
5765for.body.i: ; preds = %dfg_DeleteFormulaPairList.exit80, %if.end.i28
5766 %FormulaPairs.addr.019.i = phi %struct.LIST_HELP* [ %L.idx.val.i.i, %if.end.i28 ], [ %68, %dfg_DeleteFormulaPairList.exit80 ]
5767 %FormulaPairs.addr.0.idx.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 1
5768 %FormulaPairs.addr.0.idx.val.i = load i8** %FormulaPairs.addr.0.idx.i, align 4
5769 %.idx.i = bitcast i8* %FormulaPairs.addr.0.idx.val.i to %struct.LIST_HELP**
5770 %.idx.val.i = load %struct.LIST_HELP** %.idx.i, align 4
5771 %69 = bitcast %struct.LIST_HELP* %.idx.val.i to %struct.term*
5772 tail call void @term_Delete(%struct.term* %69) #1
5773 %.idx12.i = getelementptr i8* %FormulaPairs.addr.0.idx.val.i, i32 4
5774 %70 = bitcast i8* %.idx12.i to i8**
5775 %.idx12.val.i = load i8** %70, align 4
5776 %cmp.i = icmp eq i8* %.idx12.val.i, null
5777 br i1 %cmp.i, label %if.end.i28, label %if.then.i
5778
5779if.then.i: ; preds = %for.body.i
5780 tail call void @string_StringFree(i8* %.idx12.val.i) #1
5781 br label %if.end.i28
5782
5783if.end.i28: ; preds = %if.then.i, %for.body.i
5784 %71 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5785 %total_size.i.i.i13.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %71, i32 0, i32 4
5786 %72 = load i32* %total_size.i.i.i13.i, align 4
5787 %73 = load i32* @memory_FREEDBYTES, align 4
5788 %add24.i.i.i14.i = add i32 %73, %72
5789 store i32 %add24.i.i.i14.i, i32* @memory_FREEDBYTES, align 4
5790 %free.i.i.i15.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %71, i32 0, i32 0
5791 %74 = load i8** %free.i.i.i15.i, align 4
5792 %.c.i.i16.i = bitcast i8* %74 to %struct.LIST_HELP*
5793 store %struct.LIST_HELP* %.c.i.i16.i, %struct.LIST_HELP** %.idx.i, align 4
5794 %75 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5795 %free27.i.i.i17.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %75, i32 0, i32 0
5796 store i8* %FormulaPairs.addr.0.idx.val.i, i8** %free27.i.i.i17.i, align 4
5797 %L.idx.i.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 0
5798 %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
5799 %76 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i to i8*
5800 %77 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5801 %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %77, i32 0, i32 4
5802 %78 = load i32* %total_size.i.i.i.i, align 4
5803 %79 = load i32* @memory_FREEDBYTES, align 4
5804 %add24.i.i.i.i = add i32 %79, %78
5805 store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
5806 %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %77, i32 0, i32 0
5807 %80 = load i8** %free.i.i.i.i, align 4
5808 %.c.i.i.i = bitcast i8* %80 to %struct.LIST_HELP*
5809 store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
5810 %81 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5811 %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %81, i32 0, i32 0
5812 store i8* %76, i8** %free27.i.i.i.i, align 4
5813 %cmp.i.i27 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
5814 br i1 %cmp.i.i27, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
5815
5816dfg_DeleteFormulaPairList.exit: ; preds = %if.end.i28, %dfg_DeleteFormulaPairList.exit80
5817 %82 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
5818 tail call void @list_DeleteWithElement(%struct.LIST_HELP* %82, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
5819 %83 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
5820 %call15 = tail call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %83) #1
5821 store %struct.LIST_HELP* %call15, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
5822 %84 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5823 %cmp.i.i = icmp eq %struct.LIST_HELP* %84, null
5824 br i1 %cmp.i.i, label %list_Nconc.exit, label %if.end.i
5825
5826if.end.i: ; preds = %dfg_DeleteFormulaPairList.exit
5827 %cmp.i18.i = icmp eq %struct.LIST_HELP* %call15, null
5828 br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
5829
5830for.cond.i: ; preds = %if.end.i, %for.cond.i
5831 %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %84, %if.end.i ]
5832 %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
5833 %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
5834 %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
5835 br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
5836
5837for.end.i: ; preds = %for.cond.i
5838 store %struct.LIST_HELP* %call15, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
5839 br label %list_Nconc.exit
5840
5841list_Nconc.exit: ; preds = %dfg_DeleteFormulaPairList.exit, %if.end.i, %for.end.i
5842 %retval.0.i = phi %struct.LIST_HELP* [ %84, %for.end.i ], [ %call15, %dfg_DeleteFormulaPairList.exit ], [ %84, %if.end.i ]
5843 store %struct.LIST_HELP* %retval.0.i, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5844 ret %struct.LIST_HELP* %retval.0.i
5845}
5846
5847; Function Attrs: nounwind
5848define void @dfg_DeleteFormulaPairList(%struct.LIST_HELP* %FormulaPairs) #0 {
5849entry:
5850 %cmp.i18 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
5851 br i1 %cmp.i18, label %for.end, label %for.body
5852
5853for.body: ; preds = %entry, %if.end
5854 %FormulaPairs.addr.019 = phi %struct.LIST_HELP* [ %L.idx.val.i, %if.end ], [ %FormulaPairs, %entry ]
5855 %FormulaPairs.addr.0.idx = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019, i32 0, i32 1
5856 %FormulaPairs.addr.0.idx.val = load i8** %FormulaPairs.addr.0.idx, align 4
5857 %.idx = bitcast i8* %FormulaPairs.addr.0.idx.val to %struct.LIST_HELP**
5858 %.idx.val = load %struct.LIST_HELP** %.idx, align 4
5859 %0 = bitcast %struct.LIST_HELP* %.idx.val to %struct.term*
5860 tail call void @term_Delete(%struct.term* %0) #1
5861 %.idx12 = getelementptr i8* %FormulaPairs.addr.0.idx.val, i32 4
5862 %1 = bitcast i8* %.idx12 to i8**
5863 %.idx12.val = load i8** %1, align 4
5864 %cmp = icmp eq i8* %.idx12.val, null
5865 br i1 %cmp, label %if.end, label %if.then
5866
5867if.then: ; preds = %for.body
5868 tail call void @string_StringFree(i8* %.idx12.val) #1
5869 br label %if.end
5870
5871if.end: ; preds = %for.body, %if.then
5872 %2 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5873 %total_size.i.i.i13 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 4
5874 %3 = load i32* %total_size.i.i.i13, align 4
5875 %4 = load i32* @memory_FREEDBYTES, align 4
5876 %add24.i.i.i14 = add i32 %4, %3
5877 store i32 %add24.i.i.i14, i32* @memory_FREEDBYTES, align 4
5878 %free.i.i.i15 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 0
5879 %5 = load i8** %free.i.i.i15, align 4
5880 %.c.i.i16 = bitcast i8* %5 to %struct.LIST_HELP*
5881 store %struct.LIST_HELP* %.c.i.i16, %struct.LIST_HELP** %.idx, align 4
5882 %6 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5883 %free27.i.i.i17 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %6, i32 0, i32 0
5884 store i8* %FormulaPairs.addr.0.idx.val, i8** %free27.i.i.i17, align 4
5885 %L.idx.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019, i32 0, i32 0
5886 %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
5887 %7 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019 to i8*
5888 %8 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5889 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %8, i32 0, i32 4
5890 %9 = load i32* %total_size.i.i.i, align 4
5891 %10 = load i32* @memory_FREEDBYTES, align 4
5892 %add24.i.i.i = add i32 %10, %9
5893 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
5894 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %8, i32 0, i32 0
5895 %11 = load i8** %free.i.i.i, align 4
5896 %.c.i.i = bitcast i8* %11 to %struct.LIST_HELP*
5897 store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
5898 %12 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5899 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %12, i32 0, i32 0
5900 store i8* %7, i8** %free27.i.i.i, align 4
5901 %cmp.i = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
5902 br i1 %cmp.i, label %for.end, label %for.body
5903
5904for.end: ; preds = %if.end, %entry
5905 ret void
5906}
5907
5908; Function Attrs: nounwind
5909define %struct.LIST_HELP* @dfg_TermParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
5910entry:
5911 store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
5912 store i32 1, i32* @dfg_LINENUMBER, align 4
5913 store i32 1, i32* @dfg_IGNORETEXT, align 4
5914 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
5915 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
5916 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
5917 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
5918 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5919 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5920 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
5921 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
5922 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5923 store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
5924 store i1 false, i1* @dfg_VARDECL, align 1
5925 store i32 0, i32* @dfg_IGNORE, align 4
5926 store i32* %Flags, i32** @dfg_FLAGS, align 4
5927 store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
5928 store i8* null, i8** @dfg_DESC.0, align 4
5929 store i8* null, i8** @dfg_DESC.1, align 4
5930 store i8* null, i8** @dfg_DESC.2, align 4
5931 store i8* null, i8** @dfg_DESC.3, align 4
5932 store i32 2, i32* @dfg_DESC.4, align 4
5933 store i8* null, i8** @dfg_DESC.5, align 4
5934 store i8* null, i8** @dfg_DESC.6, align 4
5935 %call1 = tail call i32 @dfg_parse()
5936 %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5937 %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
5938 br i1 %cmp.i13.i, label %dfg_SymCleanUp.exit, label %while.body.lr.ph.i
5939
5940while.body.lr.ph.i: ; preds = %entry
5941 %1 = load i32* @symbol_TYPESTATBITS, align 4
5942 br label %while.body.i
5943
5944while.body.i: ; preds = %if.end.i14, %while.body.lr.ph.i
5945 %2 = phi %struct.LIST_HELP* [ %0, %while.body.lr.ph.i ], [ %L.idx.val.i.i7, %if.end.i14 ]
5946 %.idx.i2 = getelementptr %struct.LIST_HELP* %2, i32 0, i32 1
5947 %.idx.val.i3 = load i8** %.idx.i2, align 4
5948 %symbol.i = bitcast i8* %.idx.val.i3 to i32*
5949 %3 = load i32* %symbol.i, align 4
5950 %arity.i = getelementptr inbounds i8* %.idx.val.i3, i32 8
5951 %4 = bitcast i8* %arity.i to i32*
5952 %5 = load i32* %4, align 4
5953 %sub.i.i9.i = sub nsw i32 0, %3
5954 %shr.i.i10.i = ashr i32 %sub.i.i9.i, %1
5955 %6 = load %struct.signature*** @symbol_SIGNATURE, align 4
5956 %arrayidx.i.i11.i = getelementptr inbounds %struct.signature** %6, i32 %shr.i.i10.i
5957 %7 = load %struct.signature** %arrayidx.i.i11.i, align 4
5958 %arity.i12.i = getelementptr inbounds %struct.signature* %7, i32 0, i32 3
5959 %8 = load i32* %arity.i12.i, align 4
5960 %cmp.i4 = icmp eq i32 %5, %8
5961 br i1 %cmp.i4, label %if.end.i14, label %if.then.i5
5962
5963if.then.i5: ; preds = %while.body.i
5964 store i32 %5, i32* %arity.i12.i, align 4
5965 br label %if.end.i14
5966
5967if.end.i14: ; preds = %if.then.i5, %while.body.i
5968 %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
5969 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 4
5970 %10 = load i32* %total_size.i.i.i, align 4
5971 %11 = load i32* @memory_FREEDBYTES, align 4
5972 %add24.i.i.i = add i32 %11, %10
5973 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
5974 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
5975 %12 = load i8** %free.i.i.i, align 4
5976 %.c.i.i = ptrtoint i8* %12 to i32
5977 store i32 %.c.i.i, i32* %symbol.i, align 4
5978 %13 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
5979 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %13, i32 0, i32 0
5980 store i8* %.idx.val.i3, i8** %free27.i.i.i, align 4
5981 %14 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5982 %L.idx.i.i6 = getelementptr %struct.LIST_HELP* %14, i32 0, i32 0
5983 %L.idx.val.i.i7 = load %struct.LIST_HELP** %L.idx.i.i6, align 4
5984 %15 = bitcast %struct.LIST_HELP* %14 to i8*
5985 %16 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5986 %total_size.i.i.i.i8 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 4
5987 %17 = load i32* %total_size.i.i.i.i8, align 4
5988 %18 = load i32* @memory_FREEDBYTES, align 4
5989 %add24.i.i.i.i9 = add i32 %18, %17
5990 store i32 %add24.i.i.i.i9, i32* @memory_FREEDBYTES, align 4
5991 %free.i.i.i.i10 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 0
5992 %19 = load i8** %free.i.i.i.i10, align 4
5993 %.c.i.i.i11 = bitcast i8* %19 to %struct.LIST_HELP*
5994 store %struct.LIST_HELP* %.c.i.i.i11, %struct.LIST_HELP** %L.idx.i.i6, align 4
5995 %20 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
5996 %free27.i.i.i.i12 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %20, i32 0, i32 0
5997 store i8* %15, i8** %free27.i.i.i.i12, align 4
5998 store %struct.LIST_HELP* %L.idx.val.i.i7, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5999 %cmp.i.i13 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i7, null
6000 br i1 %cmp.i.i13, label %dfg_SymCleanUp.exit, label %while.body.i
6001
6002dfg_SymCleanUp.exit: ; preds = %if.end.i14, %entry
6003 %21 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
6004 %cmp.i18.i15 = icmp eq %struct.LIST_HELP* %21, null
6005 br i1 %cmp.i18.i15, label %dfg_DeleteFormulaPairList.exit40, label %for.body.i24
6006
6007for.body.i24: ; preds = %dfg_SymCleanUp.exit, %if.end.i39
6008 %FormulaPairs.addr.019.i16 = phi %struct.LIST_HELP* [ %L.idx.val.i.i32, %if.end.i39 ], [ %21, %dfg_SymCleanUp.exit ]
6009 %FormulaPairs.addr.0.idx.i17 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i16, i32 0, i32 1
6010 %FormulaPairs.addr.0.idx.val.i18 = load i8** %FormulaPairs.addr.0.idx.i17, align 4
6011 %.idx.i19 = bitcast i8* %FormulaPairs.addr.0.idx.val.i18 to %struct.LIST_HELP**
6012 %.idx.val.i20 = load %struct.LIST_HELP** %.idx.i19, align 4
6013 %22 = bitcast %struct.LIST_HELP* %.idx.val.i20 to %struct.term*
6014 tail call void @term_Delete(%struct.term* %22) #1
6015 %.idx12.i21 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i18, i32 4
6016 %23 = bitcast i8* %.idx12.i21 to i8**
6017 %.idx12.val.i22 = load i8** %23, align 4
6018 %cmp.i23 = icmp eq i8* %.idx12.val.i22, null
6019 br i1 %cmp.i23, label %if.end.i39, label %if.then.i25
6020
6021if.then.i25: ; preds = %for.body.i24
6022 tail call void @string_StringFree(i8* %.idx12.val.i22) #1
6023 br label %if.end.i39
6024
6025if.end.i39: ; preds = %if.then.i25, %for.body.i24
6026 %24 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6027 %total_size.i.i.i13.i26 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 4
6028 %25 = load i32* %total_size.i.i.i13.i26, align 4
6029 %26 = load i32* @memory_FREEDBYTES, align 4
6030 %add24.i.i.i14.i27 = add i32 %26, %25
6031 store i32 %add24.i.i.i14.i27, i32* @memory_FREEDBYTES, align 4
6032 %free.i.i.i15.i28 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 0
6033 %27 = load i8** %free.i.i.i15.i28, align 4
6034 %.c.i.i16.i29 = bitcast i8* %27 to %struct.LIST_HELP*
6035 store %struct.LIST_HELP* %.c.i.i16.i29, %struct.LIST_HELP** %.idx.i19, align 4
6036 %28 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6037 %free27.i.i.i17.i30 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %28, i32 0, i32 0
6038 store i8* %FormulaPairs.addr.0.idx.val.i18, i8** %free27.i.i.i17.i30, align 4
6039 %L.idx.i.i31 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i16, i32 0, i32 0
6040 %L.idx.val.i.i32 = load %struct.LIST_HELP** %L.idx.i.i31, align 4
6041 %29 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i16 to i8*
6042 %30 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6043 %total_size.i.i.i.i33 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %30, i32 0, i32 4
6044 %31 = load i32* %total_size.i.i.i.i33, align 4
6045 %32 = load i32* @memory_FREEDBYTES, align 4
6046 %add24.i.i.i.i34 = add i32 %32, %31
6047 store i32 %add24.i.i.i.i34, i32* @memory_FREEDBYTES, align 4
6048 %free.i.i.i.i35 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %30, i32 0, i32 0
6049 %33 = load i8** %free.i.i.i.i35, align 4
6050 %.c.i.i.i36 = bitcast i8* %33 to %struct.LIST_HELP*
6051 store %struct.LIST_HELP* %.c.i.i.i36, %struct.LIST_HELP** %L.idx.i.i31, align 4
6052 %34 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6053 %free27.i.i.i.i37 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %34, i32 0, i32 0
6054 store i8* %29, i8** %free27.i.i.i.i37, align 4
6055 %cmp.i.i38 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i32, null
6056 br i1 %cmp.i.i38, label %dfg_DeleteFormulaPairList.exit40, label %for.body.i24
6057
6058dfg_DeleteFormulaPairList.exit40: ; preds = %if.end.i39, %dfg_SymCleanUp.exit
6059 %35 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
6060 %cmp.i18.i41 = icmp eq %struct.LIST_HELP* %35, null
6061 br i1 %cmp.i18.i41, label %dfg_DeleteFormulaPairList.exit66, label %for.body.i50
6062
6063for.body.i50: ; preds = %dfg_DeleteFormulaPairList.exit40, %if.end.i65
6064 %FormulaPairs.addr.019.i42 = phi %struct.LIST_HELP* [ %L.idx.val.i.i58, %if.end.i65 ], [ %35, %dfg_DeleteFormulaPairList.exit40 ]
6065 %FormulaPairs.addr.0.idx.i43 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i42, i32 0, i32 1
6066 %FormulaPairs.addr.0.idx.val.i44 = load i8** %FormulaPairs.addr.0.idx.i43, align 4
6067 %.idx.i45 = bitcast i8* %FormulaPairs.addr.0.idx.val.i44 to %struct.LIST_HELP**
6068 %.idx.val.i46 = load %struct.LIST_HELP** %.idx.i45, align 4
6069 %36 = bitcast %struct.LIST_HELP* %.idx.val.i46 to %struct.term*
6070 tail call void @term_Delete(%struct.term* %36) #1
6071 %.idx12.i47 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i44, i32 4
6072 %37 = bitcast i8* %.idx12.i47 to i8**
6073 %.idx12.val.i48 = load i8** %37, align 4
6074 %cmp.i49 = icmp eq i8* %.idx12.val.i48, null
6075 br i1 %cmp.i49, label %if.end.i65, label %if.then.i51
6076
6077if.then.i51: ; preds = %for.body.i50
6078 tail call void @string_StringFree(i8* %.idx12.val.i48) #1
6079 br label %if.end.i65
6080
6081if.end.i65: ; preds = %if.then.i51, %for.body.i50
6082 %38 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6083 %total_size.i.i.i13.i52 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %38, i32 0, i32 4
6084 %39 = load i32* %total_size.i.i.i13.i52, align 4
6085 %40 = load i32* @memory_FREEDBYTES, align 4
6086 %add24.i.i.i14.i53 = add i32 %40, %39
6087 store i32 %add24.i.i.i14.i53, i32* @memory_FREEDBYTES, align 4
6088 %free.i.i.i15.i54 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %38, i32 0, i32 0
6089 %41 = load i8** %free.i.i.i15.i54, align 4
6090 %.c.i.i16.i55 = bitcast i8* %41 to %struct.LIST_HELP*
6091 store %struct.LIST_HELP* %.c.i.i16.i55, %struct.LIST_HELP** %.idx.i45, align 4
6092 %42 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6093 %free27.i.i.i17.i56 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %42, i32 0, i32 0
6094 store i8* %FormulaPairs.addr.0.idx.val.i44, i8** %free27.i.i.i17.i56, align 4
6095 %L.idx.i.i57 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i42, i32 0, i32 0
6096 %L.idx.val.i.i58 = load %struct.LIST_HELP** %L.idx.i.i57, align 4
6097 %43 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i42 to i8*
6098 %44 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6099 %total_size.i.i.i.i59 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %44, i32 0, i32 4
6100 %45 = load i32* %total_size.i.i.i.i59, align 4
6101 %46 = load i32* @memory_FREEDBYTES, align 4
6102 %add24.i.i.i.i60 = add i32 %46, %45
6103 store i32 %add24.i.i.i.i60, i32* @memory_FREEDBYTES, align 4
6104 %free.i.i.i.i61 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %44, i32 0, i32 0
6105 %47 = load i8** %free.i.i.i.i61, align 4
6106 %.c.i.i.i62 = bitcast i8* %47 to %struct.LIST_HELP*
6107 store %struct.LIST_HELP* %.c.i.i.i62, %struct.LIST_HELP** %L.idx.i.i57, align 4
6108 %48 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6109 %free27.i.i.i.i63 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %48, i32 0, i32 0
6110 store i8* %43, i8** %free27.i.i.i.i63, align 4
6111 %cmp.i.i64 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i58, null
6112 br i1 %cmp.i.i64, label %dfg_DeleteFormulaPairList.exit66, label %for.body.i50
6113
6114dfg_DeleteFormulaPairList.exit66: ; preds = %if.end.i65, %dfg_DeleteFormulaPairList.exit40
6115 %49 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
6116 %cmp.i18.i67 = icmp eq %struct.LIST_HELP* %49, null
6117 br i1 %cmp.i18.i67, label %dfg_DeleteFormulaPairList.exit92, label %for.body.i76
6118
6119for.body.i76: ; preds = %dfg_DeleteFormulaPairList.exit66, %if.end.i91
6120 %FormulaPairs.addr.019.i68 = phi %struct.LIST_HELP* [ %L.idx.val.i.i84, %if.end.i91 ], [ %49, %dfg_DeleteFormulaPairList.exit66 ]
6121 %FormulaPairs.addr.0.idx.i69 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i68, i32 0, i32 1
6122 %FormulaPairs.addr.0.idx.val.i70 = load i8** %FormulaPairs.addr.0.idx.i69, align 4
6123 %.idx.i71 = bitcast i8* %FormulaPairs.addr.0.idx.val.i70 to %struct.LIST_HELP**
6124 %.idx.val.i72 = load %struct.LIST_HELP** %.idx.i71, align 4
6125 %50 = bitcast %struct.LIST_HELP* %.idx.val.i72 to %struct.term*
6126 tail call void @term_Delete(%struct.term* %50) #1
6127 %.idx12.i73 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i70, i32 4
6128 %51 = bitcast i8* %.idx12.i73 to i8**
6129 %.idx12.val.i74 = load i8** %51, align 4
6130 %cmp.i75 = icmp eq i8* %.idx12.val.i74, null
6131 br i1 %cmp.i75, label %if.end.i91, label %if.then.i77
6132
6133if.then.i77: ; preds = %for.body.i76
6134 tail call void @string_StringFree(i8* %.idx12.val.i74) #1
6135 br label %if.end.i91
6136
6137if.end.i91: ; preds = %if.then.i77, %for.body.i76
6138 %52 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6139 %total_size.i.i.i13.i78 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %52, i32 0, i32 4
6140 %53 = load i32* %total_size.i.i.i13.i78, align 4
6141 %54 = load i32* @memory_FREEDBYTES, align 4
6142 %add24.i.i.i14.i79 = add i32 %54, %53
6143 store i32 %add24.i.i.i14.i79, i32* @memory_FREEDBYTES, align 4
6144 %free.i.i.i15.i80 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %52, i32 0, i32 0
6145 %55 = load i8** %free.i.i.i15.i80, align 4
6146 %.c.i.i16.i81 = bitcast i8* %55 to %struct.LIST_HELP*
6147 store %struct.LIST_HELP* %.c.i.i16.i81, %struct.LIST_HELP** %.idx.i71, align 4
6148 %56 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6149 %free27.i.i.i17.i82 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %56, i32 0, i32 0
6150 store i8* %FormulaPairs.addr.0.idx.val.i70, i8** %free27.i.i.i17.i82, align 4
6151 %L.idx.i.i83 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i68, i32 0, i32 0
6152 %L.idx.val.i.i84 = load %struct.LIST_HELP** %L.idx.i.i83, align 4
6153 %57 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i68 to i8*
6154 %58 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6155 %total_size.i.i.i.i85 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %58, i32 0, i32 4
6156 %59 = load i32* %total_size.i.i.i.i85, align 4
6157 %60 = load i32* @memory_FREEDBYTES, align 4
6158 %add24.i.i.i.i86 = add i32 %60, %59
6159 store i32 %add24.i.i.i.i86, i32* @memory_FREEDBYTES, align 4
6160 %free.i.i.i.i87 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %58, i32 0, i32 0
6161 %61 = load i8** %free.i.i.i.i87, align 4
6162 %.c.i.i.i88 = bitcast i8* %61 to %struct.LIST_HELP*
6163 store %struct.LIST_HELP* %.c.i.i.i88, %struct.LIST_HELP** %L.idx.i.i83, align 4
6164 %62 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6165 %free27.i.i.i.i89 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %62, i32 0, i32 0
6166 store i8* %57, i8** %free27.i.i.i.i89, align 4
6167 %cmp.i.i90 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i84, null
6168 br i1 %cmp.i.i90, label %dfg_DeleteFormulaPairList.exit92, label %for.body.i76
6169
6170dfg_DeleteFormulaPairList.exit92: ; preds = %if.end.i91, %dfg_DeleteFormulaPairList.exit66
6171 %63 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
6172 %cmp.i18.i93 = icmp eq %struct.LIST_HELP* %63, null
6173 br i1 %cmp.i18.i93, label %dfg_DeleteFormulaPairList.exit118, label %for.body.i102
6174
6175for.body.i102: ; preds = %dfg_DeleteFormulaPairList.exit92, %if.end.i117
6176 %FormulaPairs.addr.019.i94 = phi %struct.LIST_HELP* [ %L.idx.val.i.i110, %if.end.i117 ], [ %63, %dfg_DeleteFormulaPairList.exit92 ]
6177 %FormulaPairs.addr.0.idx.i95 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i94, i32 0, i32 1
6178 %FormulaPairs.addr.0.idx.val.i96 = load i8** %FormulaPairs.addr.0.idx.i95, align 4
6179 %.idx.i97 = bitcast i8* %FormulaPairs.addr.0.idx.val.i96 to %struct.LIST_HELP**
6180 %.idx.val.i98 = load %struct.LIST_HELP** %.idx.i97, align 4
6181 %64 = bitcast %struct.LIST_HELP* %.idx.val.i98 to %struct.term*
6182 tail call void @term_Delete(%struct.term* %64) #1
6183 %.idx12.i99 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i96, i32 4
6184 %65 = bitcast i8* %.idx12.i99 to i8**
6185 %.idx12.val.i100 = load i8** %65, align 4
6186 %cmp.i101 = icmp eq i8* %.idx12.val.i100, null
6187 br i1 %cmp.i101, label %if.end.i117, label %if.then.i103
6188
6189if.then.i103: ; preds = %for.body.i102
6190 tail call void @string_StringFree(i8* %.idx12.val.i100) #1
6191 br label %if.end.i117
6192
6193if.end.i117: ; preds = %if.then.i103, %for.body.i102
6194 %66 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6195 %total_size.i.i.i13.i104 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %66, i32 0, i32 4
6196 %67 = load i32* %total_size.i.i.i13.i104, align 4
6197 %68 = load i32* @memory_FREEDBYTES, align 4
6198 %add24.i.i.i14.i105 = add i32 %68, %67
6199 store i32 %add24.i.i.i14.i105, i32* @memory_FREEDBYTES, align 4
6200 %free.i.i.i15.i106 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %66, i32 0, i32 0
6201 %69 = load i8** %free.i.i.i15.i106, align 4
6202 %.c.i.i16.i107 = bitcast i8* %69 to %struct.LIST_HELP*
6203 store %struct.LIST_HELP* %.c.i.i16.i107, %struct.LIST_HELP** %.idx.i97, align 4
6204 %70 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6205 %free27.i.i.i17.i108 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %70, i32 0, i32 0
6206 store i8* %FormulaPairs.addr.0.idx.val.i96, i8** %free27.i.i.i17.i108, align 4
6207 %L.idx.i.i109 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i94, i32 0, i32 0
6208 %L.idx.val.i.i110 = load %struct.LIST_HELP** %L.idx.i.i109, align 4
6209 %71 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i94 to i8*
6210 %72 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6211 %total_size.i.i.i.i111 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %72, i32 0, i32 4
6212 %73 = load i32* %total_size.i.i.i.i111, align 4
6213 %74 = load i32* @memory_FREEDBYTES, align 4
6214 %add24.i.i.i.i112 = add i32 %74, %73
6215 store i32 %add24.i.i.i.i112, i32* @memory_FREEDBYTES, align 4
6216 %free.i.i.i.i113 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %72, i32 0, i32 0
6217 %75 = load i8** %free.i.i.i.i113, align 4
6218 %.c.i.i.i114 = bitcast i8* %75 to %struct.LIST_HELP*
6219 store %struct.LIST_HELP* %.c.i.i.i114, %struct.LIST_HELP** %L.idx.i.i109, align 4
6220 %76 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6221 %free27.i.i.i.i115 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %76, i32 0, i32 0
6222 store i8* %71, i8** %free27.i.i.i.i115, align 4
6223 %cmp.i.i116 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i110, null
6224 br i1 %cmp.i.i116, label %dfg_DeleteFormulaPairList.exit118, label %for.body.i102
6225
6226dfg_DeleteFormulaPairList.exit118: ; preds = %if.end.i117, %dfg_DeleteFormulaPairList.exit92
6227 %77 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
6228 tail call void @dfg_DeleteProofList(%struct.LIST_HELP* %77)
6229 %78 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
6230 %cmp.i18.i = icmp eq %struct.LIST_HELP* %78, null
6231 br i1 %cmp.i18.i, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
6232
6233for.body.i: ; preds = %dfg_DeleteFormulaPairList.exit118, %if.end.i
6234 %FormulaPairs.addr.019.i = phi %struct.LIST_HELP* [ %L.idx.val.i.i, %if.end.i ], [ %78, %dfg_DeleteFormulaPairList.exit118 ]
6235 %FormulaPairs.addr.0.idx.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 1
6236 %FormulaPairs.addr.0.idx.val.i = load i8** %FormulaPairs.addr.0.idx.i, align 4
6237 %.idx.i = bitcast i8* %FormulaPairs.addr.0.idx.val.i to %struct.LIST_HELP**
6238 %.idx.val.i = load %struct.LIST_HELP** %.idx.i, align 4
6239 %79 = bitcast %struct.LIST_HELP* %.idx.val.i to %struct.term*
6240 tail call void @term_Delete(%struct.term* %79) #1
6241 %.idx12.i = getelementptr i8* %FormulaPairs.addr.0.idx.val.i, i32 4
6242 %80 = bitcast i8* %.idx12.i to i8**
6243 %.idx12.val.i = load i8** %80, align 4
6244 %cmp.i = icmp eq i8* %.idx12.val.i, null
6245 br i1 %cmp.i, label %if.end.i, label %if.then.i
6246
6247if.then.i: ; preds = %for.body.i
6248 tail call void @string_StringFree(i8* %.idx12.val.i) #1
6249 br label %if.end.i
6250
6251if.end.i: ; preds = %if.then.i, %for.body.i
6252 %81 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6253 %total_size.i.i.i13.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %81, i32 0, i32 4
6254 %82 = load i32* %total_size.i.i.i13.i, align 4
6255 %83 = load i32* @memory_FREEDBYTES, align 4
6256 %add24.i.i.i14.i = add i32 %83, %82
6257 store i32 %add24.i.i.i14.i, i32* @memory_FREEDBYTES, align 4
6258 %free.i.i.i15.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %81, i32 0, i32 0
6259 %84 = load i8** %free.i.i.i15.i, align 4
6260 %.c.i.i16.i = bitcast i8* %84 to %struct.LIST_HELP*
6261 store %struct.LIST_HELP* %.c.i.i16.i, %struct.LIST_HELP** %.idx.i, align 4
6262 %85 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6263 %free27.i.i.i17.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %85, i32 0, i32 0
6264 store i8* %FormulaPairs.addr.0.idx.val.i, i8** %free27.i.i.i17.i, align 4
6265 %L.idx.i.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 0
6266 %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
6267 %86 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i to i8*
6268 %87 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6269 %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %87, i32 0, i32 4
6270 %88 = load i32* %total_size.i.i.i.i, align 4
6271 %89 = load i32* @memory_FREEDBYTES, align 4
6272 %add24.i.i.i.i = add i32 %89, %88
6273 store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
6274 %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %87, i32 0, i32 0
6275 %90 = load i8** %free.i.i.i.i, align 4
6276 %.c.i.i.i = bitcast i8* %90 to %struct.LIST_HELP*
6277 store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
6278 %91 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6279 %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %91, i32 0, i32 0
6280 store i8* %86, i8** %free27.i.i.i.i, align 4
6281 %cmp.i.i = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
6282 br i1 %cmp.i.i, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
6283
6284dfg_DeleteFormulaPairList.exit: ; preds = %if.end.i, %dfg_DeleteFormulaPairList.exit118
6285 %92 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
6286 ret %struct.LIST_HELP* %92
6287}
6288
6289; Function Attrs: nounwind
6290define void @dfg_StripLabelsFromList(%struct.LIST_HELP* %FormulaPairs) #0 {
6291entry:
6292 %cmp.i15 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
6293 br i1 %cmp.i15, label %for.end, label %for.body
6294
6295for.body: ; preds = %entry, %if.end
6296 %scan.016 = phi %struct.LIST_HELP* [ %scan.0.idx12.val, %if.end ], [ %FormulaPairs, %entry ]
6297 %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.016, i32 0, i32 1
6298 %scan.0.idx.val = load i8** %scan.0.idx, align 4
6299 %.idx = bitcast i8* %scan.0.idx.val to %struct.LIST_HELP**
6300 %.idx.val = load %struct.LIST_HELP** %.idx, align 4
6301 %0 = bitcast %struct.LIST_HELP* %.idx.val to i8*
6302 store i8* %0, i8** %scan.0.idx, align 4
6303 %.idx14 = getelementptr i8* %scan.0.idx.val, i32 4
6304 %1 = bitcast i8* %.idx14 to i8**
6305 %.idx14.val = load i8** %1, align 4
6306 %cmp = icmp eq i8* %.idx14.val, null
6307 br i1 %cmp, label %if.end, label %if.then
6308
6309if.then: ; preds = %for.body
6310 tail call void @string_StringFree(i8* %.idx14.val) #1
6311 br label %if.end
6312
6313if.end: ; preds = %for.body, %if.then
6314 %2 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6315 %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 4
6316 %3 = load i32* %total_size.i.i.i, align 4
6317 %4 = load i32* @memory_FREEDBYTES, align 4
6318 %add24.i.i.i = add i32 %4, %3
6319 store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
6320 %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 0
6321 %5 = load i8** %free.i.i.i, align 4
6322 %.c.i.i = bitcast i8* %5 to %struct.LIST_HELP*
6323 store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %.idx, align 4
6324 %6 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6325 %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %6, i32 0, i32 0
6326 store i8* %scan.0.idx.val, i8** %free27.i.i.i, align 4
6327 %scan.0.idx12 = getelementptr %struct.LIST_HELP* %scan.016, i32 0, i32 0
6328 %scan.0.idx12.val = load %struct.LIST_HELP** %scan.0.idx12, align 4
6329 %cmp.i = icmp eq %struct.LIST_HELP* %scan.0.idx12.val, null
6330 br i1 %cmp.i, label %for.end, label %for.body
6331
6332for.end: ; preds = %if.end, %entry
6333 ret void
6334}
6335
6336declare %struct.LIST_HELP* @list_PointerDeleteDuplicates(%struct.LIST_HELP*) #2
6337
6338declare %struct.term* @fol_CreateQuantifier(i32, %struct.LIST_HELP*, %struct.LIST_HELP*) #2
6339
6340declare %struct.CLAUSE_HELP* @clause_CreateFromLiterals(%struct.LIST_HELP*, i32, i32, i32, i32*, i32*) #2
6341
6342declare void @list_DeleteWithElement(%struct.LIST_HELP*, void (i8*)*) #2
6343
6344; Function Attrs: nounwind
6345define internal void @dfg_VarFree(%struct.DFG_VARENTRY* %Entry) #0 {
6346entry:
6347 %name = getelementptr inbounds %struct.DFG_VARENTRY* %Entry, i32 0, i32 0
6348 %0 = load i8** %name, align 4
6349 tail call void @string_StringFree(i8* %0) #1
6350 %1 = bitcast %struct.DFG_VARENTRY* %Entry to i8*
6351 %2 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6352 %total_size.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 4
6353 %3 = load i32* %total_size.i, align 4
6354 %4 = load i32* @memory_FREEDBYTES, align 4
6355 %add24.i = add i32 %4, %3
6356 store i32 %add24.i, i32* @memory_FREEDBYTES, align 4
6357 %free.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 0
6358 %5 = load i8** %free.i, align 4
6359 store i8* %5, i8** %name, align 4
6360 %6 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6361 %free27.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %6, i32 0, i32 0
6362 store i8* %1, i8** %free27.i, align 4
6363 ret void
6364}
6365
6366declare %struct.term* @term_Copy(%struct.term*) #2
6367
6368declare i8* @memory_Malloc(i32) #2
6369
6370declare i32 @symbol_CreateFunction(i8*, i32, i32, i32*) #2
6371
6372declare i32 @symbol_CreatePredicate(i8*, i32, i32, i32*) #2
6373
6374declare i32 @symbol_CreateJunctor(i8*, i32, i32, i32*) #2
6375
6376; Function Attrs: noreturn nounwind
6377declare void @abort() #5
6378
6379declare i32 @symbol_GetIncreasedOrderingCounter() #2
6380
6381declare i32 @flag_Minimum(i32) #2
6382
6383declare i8* @flag_Name(i32) #2
6384
6385declare i32 @flag_Maximum(i32) #2
6386
6387; Function Attrs: nounwind readonly
6388declare i32 @strcmp(i8* nocapture, i8* nocapture) #4
6389
6390declare i32 @list_Length(%struct.LIST_HELP*) #2
6391
6392; Function Attrs: noreturn nounwind
6393declare void @exit(i32) #5
6394
6395; Function Attrs: nounwind
6396declare i32 @fwrite(i8* nocapture, i32, i32, %struct._IO_FILE* nocapture) #1
6397
6398attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="true" }
6399attributes #1 = { nounwind }
6400attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="true" }
6401attributes #3 = { inlinehint noreturn nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="true" }
6402attributes #4 = { nounwind readonly "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="true" }
6403attributes #5 = { noreturn nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="true" }
6404attributes #6 = { nounwind readonly }
6405attributes #7 = { noreturn nounwind }
6406