1 ; RUN: llc -march=mipsel -mcpu=mips16 -relocation-model=pic < %s | FileCheck %s -check-prefix=cmp16
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 }
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
307 ; Function Attrs: nounwind
308 define i32 @dfg_parse() #0 {
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
326 yynewstate: ; 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
333 yysetstate: ; 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
347 if.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
356 if.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
381 yybackup: ; 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
393 if.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
398 if.then58: ; preds = %if.end55
399 %call = call i32 @dfg_lex() #1
400 store i32 %call, i32* @dfg_char, align 4
403 if.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
408 if.then62: ; preds = %if.end59
409 store i32 0, i32* @dfg_char, align 4
412 if.else: ; preds = %if.end59
413 %cmp63 = icmp ult i32 %13, 319
414 br i1 %cmp63, label %cond.true, label %if.end67
416 cond.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
422 if.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
429 lor.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
436 if.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
443 if.end92: ; preds = %if.end79
444 %cmp93 = icmp eq i32 %add68, 35
445 br i1 %cmp93, label %yyreturn, label %if.end96
447 if.end96: ; preds = %if.end92
448 %cmp97 = icmp eq i32 %15, 0
449 br i1 %cmp97, label %if.end100, label %if.then99
451 if.then99: ; preds = %if.end96
452 store i32 -2, i32* @dfg_char, align 4
455 if.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
462 yydefault: ; 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
469 yyreduce: ; 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 [
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
617 for.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
624 for.body.lr.ph: ; preds = %for.cond.preheader
625 %26 = getelementptr inbounds %union.yystype* %arrayidx1052, i32 0, i32 0
628 sw.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
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
642 sw.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
649 sw.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
655 sw.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
662 sw.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
669 sw.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
676 sw.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
683 sw.bb136: ; preds = %yyreduce
684 store i32 0, i32* %2, align 4
685 br label %sw.epilog1200
687 sw.bb138: ; preds = %yyreduce
688 store i32 1, i32* %2, align 4
689 br label %sw.epilog1200
691 sw.bb140: ; preds = %yyreduce
692 store i32 2, i32* %2, align 4
693 br label %sw.epilog1200
695 sw.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
701 sw.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
710 sw.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
716 sw.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
725 sw.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
731 sw.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
737 sw.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
743 sw.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
752 sw.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
758 sw.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
767 sw.bb179: ; preds = %yyreduce
768 store i32 -1, i32* %2, align 4
769 br label %sw.epilog1200
771 sw.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
777 sw.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
789 land.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
795 if.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
803 if.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
807 land.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
813 if.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
821 if.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
901 if.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
905 for.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
912 for.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
916 dfg_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
921 sw.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
943 if.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
947 for.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
954 for.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
958 list_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
963 sw.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
970 sw.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
983 sw.bb199: ; preds = %yyreduce
984 store i1 false, i1* @dfg_VARDECL, align 1
985 br label %sw.epilog1200
987 sw.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
1014 if.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
1025 dfg_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
1053 if.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
1057 for.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
1064 for.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
1068 list_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
1073 sw.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
1086 land.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
1092 if.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
1100 if.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
1111 if.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
1121 symbol_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
1128 if.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
1137 symbol_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
1144 while.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
1165 list_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
1171 list_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
1180 if.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
1190 for.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
1194 for.body.lr.ph.i: ; preds = %for.cond.preheader.i
1195 br i1 %tobool3.i, label %for.body.us.i, label %for.body.i
1197 for.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
1205 if.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
1209 land.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
1215 for.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
1240 for.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
1248 if.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
1258 if.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
1262 land.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
1268 if.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
1276 for.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
1294 dfg_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
1302 sw.bb217: ; preds = %yyreduce
1303 store i32 0, i32* %2, align 4
1304 br label %sw.epilog1200
1306 sw.bb219: ; preds = %yyreduce
1307 store i32 1, i32* %2, align 4
1308 br label %sw.epilog1200
1310 sw.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
1323 sw.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
1339 sw.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
1345 sw.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
1351 sw.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
1361 if.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
1367 if.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
1371 for.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
1378 for.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
1382 list_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
1387 if.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
1393 if.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
1397 for.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
1404 for.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
1408 list_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
1413 sw.bb255: ; preds = %yyreduce
1414 store i32 1, i32* %2, align 4
1415 br label %sw.epilog1200
1417 sw.bb257: ; preds = %yyreduce
1418 store i32 0, i32* %2, align 4
1419 br label %sw.epilog1200
1421 sw.bb259: ; preds = %yyreduce
1422 store i32 0, i32* %2, align 4
1423 br label %sw.epilog1200
1425 sw.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
1435 if.then267: ; preds = %sw.bb262
1436 %cmp270 = icmp eq i8* %169, null
1437 br i1 %cmp270, label %if.end275, label %if.then272
1439 if.then272: ; preds = %if.then267
1440 call void @string_StringFree(i8* %169) #1
1443 if.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
1450 if.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
1470 if.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
1477 if.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
1488 dfg_VarCheck.exit1847: ; preds = %if.end289
1489 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
1490 br label %sw.epilog1200
1492 sw.bb290: ; preds = %yyreduce
1493 store i32 0, i32* %2, align 4
1494 br label %sw.epilog1200
1496 sw.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
1503 sw.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
1510 sw.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
1515 cond.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
1532 cond.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
1537 sw.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
1542 cond.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
1571 cond.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
1576 sw.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
1581 cond.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
1591 cond.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
1596 sw.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
1609 sw.bb340: ; preds = %yyreduce
1610 store i1 false, i1* @dfg_VARDECL, align 1
1611 br label %sw.epilog1200
1613 sw.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
1641 cond.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
1654 cond.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
1659 sw.bb355: ; preds = %yyreduce
1660 store i32 0, i32* %2, align 4
1661 br label %sw.epilog1200
1663 sw.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
1670 sw.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
1675 cond.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
1688 cond.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
1693 sw.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
1701 cond.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
1715 if.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
1719 for.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
1726 for.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
1730 cond.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
1736 sw.bb387: ; preds = %yyreduce
1737 %228 = load i32* @fol_EQUIV, align 4
1738 store i32 %228, i32* %2, align 4
1739 br label %sw.epilog1200
1741 sw.bb390: ; preds = %yyreduce
1742 %229 = load i32* @fol_IMPLIED, align 4
1743 store i32 %229, i32* %2, align 4
1744 br label %sw.epilog1200
1746 sw.bb393: ; preds = %yyreduce
1747 %230 = load i32* @fol_IMPLIES, align 4
1748 store i32 %230, i32* %2, align 4
1749 br label %sw.epilog1200
1751 sw.bb396: ; preds = %yyreduce
1752 %231 = load i32* @fol_AND, align 4
1753 store i32 %231, i32* %2, align 4
1754 br label %sw.epilog1200
1756 sw.bb399: ; preds = %yyreduce
1757 %232 = load i32* @fol_OR, align 4
1758 store i32 %232, i32* %2, align 4
1759 br label %sw.epilog1200
1761 sw.bb402: ; preds = %yyreduce
1762 %233 = load i32* @fol_EXIST, align 4
1763 store i32 %233, i32* %2, align 4
1764 br label %sw.epilog1200
1766 sw.bb405: ; preds = %yyreduce
1767 %234 = load i32* @fol_ALL, align 4
1768 store i32 %234, i32* %2, align 4
1769 br label %sw.epilog1200
1771 sw.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
1778 if.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
1783 if.else414: ; preds = %sw.bb408
1784 %.c1746 = ptrtoint i8* %236 to i32
1785 store i32 %.c1746, i32* %2, align 4
1786 br label %sw.epilog1200
1788 sw.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
1793 cond.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
1800 cond.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
1805 sw.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
1810 cond.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
1815 cond.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
1820 sw.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
1825 cond.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
1830 cond.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
1835 sw.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
1840 cond.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
1845 cond.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
1850 sw.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
1855 cond.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
1868 cond.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
1873 sw.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
1881 cond.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
1895 if.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
1899 for.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
1906 for.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
1910 cond.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
1916 sw.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
1921 if.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
1928 if.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()
1936 if.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
1942 sw.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
1947 if.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
1955 land.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
1961 if.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()
1969 if.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
1977 if.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()
1985 if.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
2000 sw.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
2010 if.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
2016 if.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
2020 for.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
2027 for.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
2031 list_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
2036 if.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
2042 if.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
2046 for.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
2053 for.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
2057 list_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
2062 sw.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
2073 sw.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
2083 sw.bb538: ; preds = %yyreduce
2084 store i32 0, i32* %2, align 4
2085 br label %sw.epilog1200
2087 sw.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
2097 if.then547: ; preds = %sw.bb541
2098 %cmp550 = icmp eq i8* %279, null
2099 br i1 %cmp550, label %if.end555, label %if.then552
2101 if.then552: ; preds = %if.then547
2102 call void @string_StringFree(i8* %279) #1
2105 if.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
2112 if.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
2132 if.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
2139 if.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
2150 dfg_VarCheck.exit1946: ; preds = %if.end569
2151 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
2152 br label %sw.epilog1200
2154 sw.bb570: ; preds = %yyreduce
2155 store i32 0, i32* %2, align 4
2156 br label %sw.epilog1200
2158 sw.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
2165 sw.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
2172 sw.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
2185 sw.bb581: ; preds = %yyreduce
2186 store i1 false, i1* @dfg_VARDECL, align 1
2187 br label %sw.epilog1200
2189 sw.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
2217 cond.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
2229 cond.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
2234 sw.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
2239 cond.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
2248 cond.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
2253 sw.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
2258 cond.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
2271 cond.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
2276 sw.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
2284 cond.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
2298 if.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
2302 for.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
2309 for.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
2313 cond.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
2319 sw.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
2326 sw.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
2331 cond.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
2337 cond.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
2353 cond.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
2359 sw.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
2373 sw.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
2390 if.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
2394 for.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
2401 for.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
2405 list_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
2411 sw.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
2416 cond.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
2424 land.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
2430 if.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
2438 dfg_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
2443 cond.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
2448 sw.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
2453 cond.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
2459 cond.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
2464 sw.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
2469 cond.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
2475 cond.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
2480 sw.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
2485 cond.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
2513 cond.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
2518 sw.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
2523 cond.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
2535 land.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
2541 if.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
2549 dfg_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
2554 cond.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
2559 sw.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
2564 cond.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
2572 land.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
2576 land.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
2582 if.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
2590 dfg_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
2595 cond.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
2600 sw.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
2605 cond.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
2617 land.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
2621 land.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
2627 if.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
2635 dfg_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
2640 cond.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
2645 sw.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
2650 cond.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
2663 cond.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
2668 sw.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
2676 cond.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
2690 if.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
2694 for.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
2701 for.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
2705 cond.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
2711 sw.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
2719 if.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
2730 sw.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
2738 if.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
2749 if.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
2754 sw.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
2762 land.lhs.true: ; preds = %sw.bb787
2763 %cmp791 = icmp eq i8* %391, null
2764 br i1 %cmp791, label %if.end831, label %land.lhs.true793
2766 land.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
2773 land.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
2780 if.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
2841 if.else823: ; preds = %sw.bb787, %land.lhs.true798
2842 %cmp826 = icmp eq i8* %391, null
2843 br i1 %cmp826, label %if.end831, label %if.then828
2845 if.then828: ; preds = %land.lhs.true793, %if.else823
2846 call void @string_StringFree(i8* %391) #1
2849 if.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
2856 if.then836: ; preds = %if.end831
2857 call void @term_Delete(%struct.term* %416) #1
2860 if.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
2867 if.then844: ; preds = %if.end839
2868 call void @string_StringFree(i8* %417) #1
2871 if.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
2878 if.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
2883 if.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
2894 dfg_VarCheck.exit2098: ; preds = %if.end850
2895 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
2896 br label %sw.epilog1200
2898 sw.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
2903 lor.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
2909 cond.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
2919 cond.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
2924 sw.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
2929 lor.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
2935 cond.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
2941 cond.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
2955 if.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
2959 for.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
2966 for.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
2970 cond.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
2976 sw.bb887: ; preds = %yyreduce
2977 store i32 0, i32* %2, align 4
2978 br label %sw.epilog1200
2980 sw.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
2986 sw.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
2993 land.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
2998 land.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
3004 land.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
3009 if.then910: ; preds = %land.lhs.true905
3010 %call914 = call i32 @string_StringToInt(i8* %436, i32 1, i32* %2) #1
3013 if.else915: ; preds = %sw.bb893, %land.lhs.true905, %land.lhs.true900, %land.lhs.true895
3014 store i32 0, i32* %2, align 4
3017 if.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
3022 if.then922: ; preds = %if.end917
3023 call void @string_StringFree(i8* %437) #1
3026 if.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
3032 if.then930: ; preds = %if.end925
3033 call void @string_StringFree(i8* %438) #1
3034 br label %sw.epilog1200
3036 sw.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
3043 land.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
3048 land.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
3054 land.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
3059 if.then951: ; preds = %land.lhs.true946
3060 %call955 = call i32 @string_StringToInt(i8* %441, i32 1, i32* %2) #1
3063 if.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
3069 if.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
3074 if.then965: ; preds = %if.end960
3075 call void @string_StringFree(i8* %443) #1
3078 if.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
3084 if.then973: ; preds = %if.end968
3085 call void @string_StringFree(i8* %444) #1
3086 br label %sw.epilog1200
3088 sw.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
3099 sw.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
3115 if.then983: ; preds = %sw.bb978
3116 %cmp986 = icmp eq i8* %452, null
3117 br i1 %cmp986, label %if.end991, label %if.then988
3119 if.then988: ; preds = %if.then983
3120 call void @string_StringFree(i8* %452) #1
3123 if.end991: ; preds = %if.then983, %if.then988
3124 store i32 0, i32* %2, align 4
3125 br label %sw.epilog1200
3127 if.else993: ; preds = %sw.bb978
3128 %.c1725 = ptrtoint i8* %452 to i32
3129 store i32 %.c1725, i32* %2, align 4
3130 br label %sw.epilog1200
3132 sw.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
3139 sw.bb1002: ; preds = %yyreduce
3140 store i32 0, i32* %2, align 4
3141 br label %sw.epilog1200
3143 sw.bb1004: ; preds = %yyreduce
3144 store i32 0, i32* %2, align 4
3145 br label %sw.epilog1200
3147 sw.bb1006: ; preds = %yyreduce
3148 store i32 0, i32* %2, align 4
3149 br label %sw.epilog1200
3151 sw.bb1008: ; preds = %yyreduce
3152 store i32 0, i32* %2, align 4
3153 br label %sw.epilog1200
3155 sw.bb1010: ; preds = %yyreduce
3156 store i32 0, i32* %2, align 4
3157 br label %sw.epilog1200
3159 sw.bb1012: ; preds = %yyreduce
3160 store i32 0, i32* %2, align 4
3161 br label %sw.epilog1200
3163 sw.bb1014: ; preds = %yyreduce
3164 store i32 0, i32* %2, align 4
3165 br label %sw.epilog1200
3167 sw.bb1016: ; preds = %yyreduce
3168 store i32 0, i32* %2, align 4
3169 br label %sw.epilog1200
3171 sw.bb1018: ; preds = %yyreduce
3172 store i32 0, i32* %2, align 4
3173 br label %sw.epilog1200
3175 sw.bb1020: ; preds = %yyreduce
3176 store i32 1, i32* %2, align 4
3177 br label %sw.epilog1200
3179 sw.bb1022: ; preds = %yyreduce
3180 store i32 1, i32* %2, align 4
3181 br label %sw.epilog1200
3183 sw.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
3190 sw.bb1028: ; preds = %yyreduce
3191 store i32 0, i32* %2, align 4
3192 br label %sw.epilog1200
3194 sw.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
3207 sw.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
3235 if.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
3246 dfg_VarCheck.exit2143: ; preds = %sw.bb1031
3247 store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
3248 br label %sw.epilog1200
3250 sw.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
3266 if.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
3270 for.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
3277 for.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
3281 list_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
3286 sw.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
3293 if.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
3298 if.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
3303 sw.bb1046: ; preds = %yyreduce
3304 store i32 1, i32* @dfg_IGNORETEXT, align 4
3305 br label %sw.epilog1200
3307 sw.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
3313 for.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
3321 if.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()
3332 if.end1067: ; preds = %for.body
3333 %tobool.i2163 = icmp sgt i32 %call1059, -1
3334 br i1 %tobool.i2163, label %if.then1070, label %land.rhs.i2167
3336 land.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
3342 if.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()
3353 if.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
3388 sw.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
3396 if.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()
3404 if.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
3414 if.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
3422 if.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
3427 if.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
3435 flag_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
3440 sw.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
3447 if.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()
3456 if.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
3477 sw.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
3485 if.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()
3494 if.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
3525 if.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
3535 sw.bb1138: ; preds = %yyreduce
3536 store i32 0, i32* %2, align 4
3537 br label %sw.epilog1200
3539 sw.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
3547 lor.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
3555 if.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()
3564 if.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
3571 sw.bb1177: ; preds = %if.end1172
3572 store i32 16, i32* %2, align 4
3575 sw.bb1179: ; preds = %if.end1172
3576 store i32 8, i32* %2, align 4
3579 sw.default: ; preds = %if.end1172
3580 store i32 0, i32* %2, align 4
3583 sw.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
3588 sw.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
3595 sw.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
3608 sw.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
3624 if.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
3628 for.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
3635 for.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
3639 list_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
3645 sw.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
3665 land.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
3671 if.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
3677 if.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
3683 if.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
3690 if.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
3695 cond.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
3701 cond.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
3709 for.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
3722 if.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
3731 for.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
3738 for.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
3755 for.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
3768 if.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
3778 for.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
3785 if.end1323: ; preds = %for.end1278, %for.inc1320
3786 call void @dfg_error(i8* %556)
3789 if.else1329: ; preds = %if.then1232
3790 call void @dfg_error(i8* getelementptr inbounds ([12 x i8]* @.str20, i32 0, i32 0))
3793 yyoverflowlab: ; preds = %if.then
3794 call void @dfg_error(i8* getelementptr inbounds ([22 x i8]* @.str21, i32 0, i32 0))
3797 yyreturn: ; 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
3804 ; Function Attrs: nounwind
3805 declare void @llvm.lifetime.start(i64, i8* nocapture) #1
3807 ; Function Attrs: nounwind
3808 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) #1
3810 declare i32 @dfg_lex() #2
3812 declare void @string_StringFree(i8*) #2
3814 ; cmp16: .ent dfg_parse
3815 ; cmp16: .end dfg_parse
3817 ; Function Attrs: nounwind
3818 define internal fastcc void @dfg_SymbolDecl(i32 %SymbolType, i8* %Name, i32 %Arity) #0 {
3820 switch i32 %Arity, label %sw.default [
3821 i32 -2, label %sw.epilog
3822 i32 -1, label %sw.bb1
3825 sw.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()
3833 sw.default: ; preds = %entry
3836 sw.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
3842 if.then: ; preds = %sw.epilog
3843 %arrayidx = getelementptr inbounds i8* %Name, i32 63
3844 store i8 0, i8* %arrayidx, align 1
3847 if.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
3852 if.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
3860 land.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
3864 land.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
3871 land.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
3875 land.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
3882 lor.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
3888 land.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
3892 land.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
3899 if.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
3914 sw.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
3918 sw.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
3922 sw.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
3926 sw.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
3930 sw.epilog26: ; preds = %sw.default25, %sw.bb24, %sw.bb23, %sw.bb22
3931 tail call fastcc void @misc_Error()
3934 if.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
3938 land.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
3950 if.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()
3963 if.else: ; preds = %if.end
3964 switch i32 %SymbolType, label %sw.default40 [
3965 i32 284, label %sw.bb36
3966 i32 298, label %sw.bb38
3969 sw.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
3974 sw.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
3979 sw.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
3984 sw.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
3989 if.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
4010 if.end46: ; preds = %land.lhs.true29, %if.end27, %sw.epilog42, %if.then44
4011 br i1 %cmp, label %if.then48, label %if.end50
4013 if.then48: ; preds = %if.end46
4014 %arrayidx49 = getelementptr inbounds i8* %Name, i32 63
4015 store i8 32, i8* %arrayidx49, align 1
4018 if.end50: ; preds = %if.then48, %if.end46
4019 tail call void @string_StringFree(i8* %Name) #1
4023 ; Function Attrs: nounwind
4024 define %struct.term* @dfg_CreateQuantifier(i32 %Symbol, %struct.LIST_HELP* %VarTermList, %struct.term* %Term) #0 {
4026 %cmp.i240 = icmp eq %struct.LIST_HELP* %VarTermList, null
4027 br i1 %cmp.i240, label %for.end, label %for.body
4029 for.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
4041 if.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
4053 if.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
4057 for.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
4064 for.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
4068 list_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
4073 if.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
4092 if.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
4096 for.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
4103 for.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
4107 list_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
4119 if.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
4123 for.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
4130 for.end.i216: ; preds = %for.cond.i215
4131 store %struct.LIST_HELP* %8, %struct.LIST_HELP** %List1.addr.0.idx15.i212, align 4
4134 for.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
4156 for.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
4163 for.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
4176 for.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
4180 if.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
4185 if.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
4192 for.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
4212 if.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
4218 for.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
4225 for.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
4229 list_Nconc.exit192: ; preds = %if.end.i184, %for.end.i190
4230 store %struct.LIST_HELP* %sortlist.0.lcssa, %struct.LIST_HELP** %Term.idx138, align 4
4233 if.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
4239 if.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
4253 if.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
4276 if.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
4281 if.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
4288 if.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
4294 for.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
4301 for.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
4305 list_Nconc.exit152: ; preds = %if.end.i144, %for.end.i150
4306 store %struct.LIST_HELP* %sortlist.0.lcssa, %struct.LIST_HELP** %Term.idx137, align 4
4309 if.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
4321 for.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
4328 for.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
4332 list_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
4337 if.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
4351 ; Function Attrs: nounwind
4352 define internal fastcc i32 @dfg_Symbol(i8* %Name, i32 %Arity) #0 {
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
4358 if.end: ; preds = %entry
4359 %call2 = tail call i32 @symbol_Lookup(i8* %Name) #1
4362 if.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
4370 if.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
4375 if.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
4381 while.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
4387 while.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
4396 if.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
4405 if.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
4410 if.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
4430 if.else.i: ; preds = %if.then.i
4431 store i32 %Arity, i32* %4, align 4
4432 store i32 1, i32* %2, align 4
4435 while.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
4447 if.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
4462 if.else: ; preds = %if.end6
4463 %cmp9 = icmp eq i32 %Arity, 0
4464 br i1 %cmp9, label %if.end12, label %if.then10
4466 if.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()
4474 if.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
4479 while.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
4487 land.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
4497 while.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
4503 while.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
4512 while.end18.i: ; preds = %while.end.i31
4513 br i1 %cmp.i53.i, label %if.else.i33, label %if.then.i32
4515 if.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
4521 if.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
4525 if.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
4548 if.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
4556 dfg_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
4563 if.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 ]
4568 declare %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP*) #2
4570 declare %struct.term* @term_Create(i32, %struct.LIST_HELP*) #2
4572 declare i8* @string_IntToString(i32) #2
4574 declare i8* @string_StringCopy(i8*) #2
4576 ; Function Attrs: nounwind
4577 declare i32 @fflush(%struct._IO_FILE* nocapture) #0
4579 declare void @misc_UserErrorReport(i8*, ...) #2
4581 ; Function Attrs: inlinehint noreturn nounwind
4582 define internal fastcc void @misc_Error() #3 {
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
4594 declare i32 @clause_GetOriginFromString(i8*) #2
4596 declare void @term_Delete(%struct.term*) #2
4598 declare i32 @string_StringToInt(i8*, i32, i32*) #2
4600 declare i32 @symbol_Lookup(i8*) #2
4602 declare i32 @flag_Id(i8*) #2
4604 ; Function Attrs: nounwind readonly
4605 declare i32 @strlen(i8* nocapture) #4
4607 ; Function Attrs: nounwind
4608 declare i8* @stpcpy(i8*, i8* nocapture) #0
4610 ; Function Attrs: noreturn nounwind
4611 define void @dfg_error(i8* %s) #5 {
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()
4621 ; Function Attrs: nounwind
4622 declare void @llvm.lifetime.end(i64, i8* nocapture) #1
4624 ; Function Attrs: nounwind
4625 define void @dfg_Free() #0 {
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
4631 if.then: ; preds = %entry
4632 tail call void @string_StringFree(i8* %0) #1
4635 if.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
4640 if.then2: ; preds = %if.end
4641 tail call void @string_StringFree(i8* %1) #1
4644 if.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
4649 if.then5: ; preds = %if.end3
4650 tail call void @string_StringFree(i8* %2) #1
4653 if.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
4658 if.then8: ; preds = %if.end6
4659 tail call void @string_StringFree(i8* %3) #1
4662 if.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
4667 if.then11: ; preds = %if.end9
4668 tail call void @string_StringFree(i8* %4) #1
4671 if.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
4676 if.then14: ; preds = %if.end12
4677 tail call void @string_StringFree(i8* %5) #1
4680 if.end15: ; preds = %if.end12, %if.then14
4684 ; Function Attrs: nounwind readonly
4685 define i8* @dfg_ProblemName() #4 {
4687 %0 = load i8** @dfg_DESC.0, align 4
4691 ; Function Attrs: nounwind readonly
4692 define i8* @dfg_ProblemAuthor() #4 {
4694 %0 = load i8** @dfg_DESC.1, align 4
4698 ; Function Attrs: nounwind readonly
4699 define i8* @dfg_ProblemVersion() #4 {
4701 %0 = load i8** @dfg_DESC.2, align 4
4705 ; Function Attrs: nounwind readonly
4706 define i8* @dfg_ProblemLogic() #4 {
4708 %0 = load i8** @dfg_DESC.3, align 4
4712 ; Function Attrs: nounwind readonly
4713 define i32 @dfg_ProblemStatus() #4 {
4715 %0 = load i32* @dfg_DESC.4, align 4
4719 ; Function Attrs: nounwind
4720 define i8* @dfg_ProblemStatusString() #0 {
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
4729 sw.bb1: ; preds = %entry
4732 sw.bb2: ; preds = %entry
4735 sw.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()
4746 sw.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 ]
4751 ; Function Attrs: nounwind
4752 declare i32 @fprintf(%struct._IO_FILE* nocapture, i8* nocapture, ...) #0
4754 declare void @misc_ErrorReport(i8*, ...) #2
4756 ; Function Attrs: nounwind
4757 declare i32 @fputs(i8* nocapture, %struct._IO_FILE* nocapture) #0
4759 ; Function Attrs: inlinehint noreturn nounwind
4760 define internal fastcc void @misc_DumpCore() #3 {
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
4774 ; Function Attrs: nounwind readonly
4775 define i8* @dfg_ProblemDescription() #4 {
4777 %0 = load i8** @dfg_DESC.5, align 4
4781 ; Function Attrs: nounwind readonly
4782 define i8* @dfg_ProblemDate() #4 {
4784 %0 = load i8** @dfg_DESC.6, align 4
4788 ; Function Attrs: nounwind
4789 define void @dfg_FPrintDescription(%struct._IO_FILE* %File) #0 {
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
4796 if.then: ; preds = %entry
4797 %call1 = tail call i32 @fputs(i8* %1, %struct._IO_FILE* %File) #1
4800 if.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)
4804 if.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
4810 if.then5: ; preds = %if.end
4811 %call6 = tail call i32 @fputs(i8* %4, %struct._IO_FILE* %File) #1
4814 if.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)
4818 if.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
4824 if.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)
4831 if.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
4836 if.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)
4843 if.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
4852 sw.bb1.i: ; preds = %if.end22
4853 br label %dfg_ProblemStatusString.exit
4855 sw.bb2.i: ; preds = %if.end22
4856 br label %dfg_ProblemStatusString.exit
4858 sw.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
4869 dfg_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
4877 if.then28: ; preds = %dfg_ProblemStatusString.exit
4878 %call29 = tail call i32 @fputs(i8* %22, %struct._IO_FILE* %File) #1
4881 if.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)
4885 if.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
4891 if.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)
4898 if.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)
4903 ; Function Attrs: nounwind
4904 define %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 {
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
4935 while.body.lr.ph.i: ; preds = %entry
4936 %1 = load i32* @symbol_TYPESTATBITS, align 4
4937 br label %while.body.i
4939 while.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
4958 if.then.i: ; preds = %while.body.i
4959 store i32 %5, i32* %arity.i12.i, align 4
4960 br label %if.end.i109
4962 if.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
4997 for.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
5002 for.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
5018 if.then: ; preds = %for.body
5019 tail call void @string_StringFree(i8* %.idx63.val) #1
5022 if.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
5041 for.cond.for.end_crit_edge: ; preds = %if.end
5042 %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5045 for.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
5053 for.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
5069 if.then20: ; preds = %for.body14
5070 tail call void @string_StringFree(i8* %.idx61.val) #1
5073 if.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
5092 for.cond10.for.end25_crit_edge: ; preds = %if.end22
5093 %.pre130 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5096 for.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
5109 if.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
5113 for.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
5120 for.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
5124 list_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
5131 if.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
5135 for.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
5142 for.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
5146 list_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
5154 if.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
5158 for.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
5165 for.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
5169 list_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
5177 if.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
5181 for.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
5188 for.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
5192 list_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
5202 if.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
5206 for.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
5213 for.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
5217 list_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
5223 ; Function Attrs: nounwind
5224 define %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %Clause, i32 %IsAxiom, i32* %Flags, i32* %Precedence) #0 {
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
5234 if.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
5245 if.else: ; preds = %entry
5246 store %struct.LIST_HELP* null, %struct.LIST_HELP** %Clause.idx66, align 4
5249 if.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
5255 for.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
5260 for.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
5270 land.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
5276 if.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
5281 if.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
5286 if.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
5291 if.then21: ; preds = %if.else18
5292 tail call void @term_Delete(%struct.term* %3) #1
5293 store i8* null, i8** %scan.0.idx, align 4
5296 if.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
5308 if.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
5313 if.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
5318 if.then33: ; preds = %if.else30
5319 tail call void @term_Delete(%struct.term* %3) #1
5320 store i8* null, i8** %car.i, align 4
5323 for.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
5329 for.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
5337 while.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
5358 return: ; 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
5363 declare %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP*, i8*) #2
5365 ; Function Attrs: nounwind
5366 define void @dfg_DeleteProofList(%struct.LIST_HELP* %Proof) #0 {
5368 %cmp.i18 = icmp eq %struct.LIST_HELP* %Proof, null
5369 br i1 %cmp.i18, label %for.end, label %for.body
5371 for.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
5395 while.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
5399 while.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
5420 list_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
5440 for.end: ; preds = %list_Delete.exit, %entry
5444 ; Function Attrs: nounwind
5445 define %struct.LIST_HELP* @dfg_ProofParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
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
5476 while.body.lr.ph.i: ; preds = %entry
5477 %1 = load i32* @symbol_TYPESTATBITS, align 4
5478 br label %while.body.i
5480 while.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
5499 if.then.i33: ; preds = %while.body.i
5500 store i32 %5, i32* %arity.i12.i, align 4
5501 br label %if.end.i42
5503 if.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
5538 dfg_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
5544 if.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
5548 list_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
5553 for.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
5560 for.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
5564 list_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
5571 for.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
5583 if.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
5602 if.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
5635 for.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
5641 for.cond.for.end_crit_edge: ; preds = %for.inc
5642 %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5645 for.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
5653 for.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
5667 if.then.i92: ; preds = %for.body.i91
5668 tail call void @string_StringFree(i8* %.idx12.val.i89) #1
5669 br label %if.end.i106
5671 if.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
5704 dfg_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
5709 for.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
5723 if.then.i64: ; preds = %for.body.i63
5724 tail call void @string_StringFree(i8* %.idx12.val.i61) #1
5725 br label %if.end.i78
5727 if.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
5760 dfg_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
5765 for.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
5779 if.then.i: ; preds = %for.body.i
5780 tail call void @string_StringFree(i8* %.idx12.val.i) #1
5781 br label %if.end.i28
5783 if.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
5816 dfg_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
5826 if.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
5830 for.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
5837 for.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
5841 list_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
5847 ; Function Attrs: nounwind
5848 define void @dfg_DeleteFormulaPairList(%struct.LIST_HELP* %FormulaPairs) #0 {
5850 %cmp.i18 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
5851 br i1 %cmp.i18, label %for.end, label %for.body
5853 for.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
5867 if.then: ; preds = %for.body
5868 tail call void @string_StringFree(i8* %.idx12.val) #1
5871 if.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
5904 for.end: ; preds = %if.end, %entry
5908 ; Function Attrs: nounwind
5909 define %struct.LIST_HELP* @dfg_TermParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
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
5940 while.body.lr.ph.i: ; preds = %entry
5941 %1 = load i32* @symbol_TYPESTATBITS, align 4
5942 br label %while.body.i
5944 while.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
5963 if.then.i5: ; preds = %while.body.i
5964 store i32 %5, i32* %arity.i12.i, align 4
5965 br label %if.end.i14
5967 if.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
6002 dfg_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
6007 for.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
6021 if.then.i25: ; preds = %for.body.i24
6022 tail call void @string_StringFree(i8* %.idx12.val.i22) #1
6023 br label %if.end.i39
6025 if.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
6058 dfg_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
6063 for.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
6077 if.then.i51: ; preds = %for.body.i50
6078 tail call void @string_StringFree(i8* %.idx12.val.i48) #1
6079 br label %if.end.i65
6081 if.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
6114 dfg_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
6119 for.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
6133 if.then.i77: ; preds = %for.body.i76
6134 tail call void @string_StringFree(i8* %.idx12.val.i74) #1
6135 br label %if.end.i91
6137 if.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
6170 dfg_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
6175 for.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
6189 if.then.i103: ; preds = %for.body.i102
6190 tail call void @string_StringFree(i8* %.idx12.val.i100) #1
6191 br label %if.end.i117
6193 if.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
6226 dfg_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
6233 for.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
6247 if.then.i: ; preds = %for.body.i
6248 tail call void @string_StringFree(i8* %.idx12.val.i) #1
6251 if.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
6284 dfg_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
6289 ; Function Attrs: nounwind
6290 define void @dfg_StripLabelsFromList(%struct.LIST_HELP* %FormulaPairs) #0 {
6292 %cmp.i15 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
6293 br i1 %cmp.i15, label %for.end, label %for.body
6295 for.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
6309 if.then: ; preds = %for.body
6310 tail call void @string_StringFree(i8* %.idx14.val) #1
6313 if.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
6332 for.end: ; preds = %if.end, %entry
6336 declare %struct.LIST_HELP* @list_PointerDeleteDuplicates(%struct.LIST_HELP*) #2
6338 declare %struct.term* @fol_CreateQuantifier(i32, %struct.LIST_HELP*, %struct.LIST_HELP*) #2
6340 declare %struct.CLAUSE_HELP* @clause_CreateFromLiterals(%struct.LIST_HELP*, i32, i32, i32, i32*, i32*) #2
6342 declare void @list_DeleteWithElement(%struct.LIST_HELP*, void (i8*)*) #2
6344 ; Function Attrs: nounwind
6345 define internal void @dfg_VarFree(%struct.DFG_VARENTRY* %Entry) #0 {
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
6366 declare %struct.term* @term_Copy(%struct.term*) #2
6368 declare i8* @memory_Malloc(i32) #2
6370 declare i32 @symbol_CreateFunction(i8*, i32, i32, i32*) #2
6372 declare i32 @symbol_CreatePredicate(i8*, i32, i32, i32*) #2
6374 declare i32 @symbol_CreateJunctor(i8*, i32, i32, i32*) #2
6376 ; Function Attrs: noreturn nounwind
6377 declare void @abort() #5
6379 declare i32 @symbol_GetIncreasedOrderingCounter() #2
6381 declare i32 @flag_Minimum(i32) #2
6383 declare i8* @flag_Name(i32) #2
6385 declare i32 @flag_Maximum(i32) #2
6387 ; Function Attrs: nounwind readonly
6388 declare i32 @strcmp(i8* nocapture, i8* nocapture) #4
6390 declare i32 @list_Length(%struct.LIST_HELP*) #2
6392 ; Function Attrs: noreturn nounwind
6393 declare void @exit(i32) #5
6395 ; Function Attrs: nounwind
6396 declare i32 @fwrite(i8* nocapture, i32, i32, %struct._IO_FILE* nocapture) #1
6398 attributes #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" }
6399 attributes #1 = { nounwind }
6400 attributes #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" }
6401 attributes #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" }
6402 attributes #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" }
6403 attributes #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" }
6404 attributes #6 = { nounwind readonly }
6405 attributes #7 = { noreturn nounwind }