Fix a regression I introduced when I expanded the complex pseudos in
[oota-llvm.git] / test / CodeGen / Mips / cmplarge.ll
1 ; RUN: llc -march=mipsel -mcpu=mips16 -relocation-model=pic < %s | FileCheck %s -check-prefix=cmp16
2
3 %union.yystype = type { i32 }
4 %struct.LIST_HELP = type { %struct.LIST_HELP*, i8* }
5 %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
6 %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
7 %struct.MEMORY_RESOURCEHELP = type { i8*, i8*, i8*, i8*, i32, i32, i32 }
8 %struct.signature = type { i8*, i32, i32, i32, i32, i32, %struct.LIST_HELP* }
9 %union.yyalloc = type { %union.yystype }
10 %struct.term = type { i32, %union.anon, %struct.LIST_HELP*, i32, i32 }
11 %union.anon = type { %struct.LIST_HELP* }
12 %struct.CLAUSE_HELP = type { i32, i32, i32, i32, i32*, i32, %struct.LIST_HELP*, %struct.LIST_HELP*, i32, i32, %struct.LITERAL_HELP**, i32, i32, i32, i32 }
13 %struct.LITERAL_HELP = type { i32, i32, i32, %struct.CLAUSE_HELP*, %struct.term* }
14 %struct.DFG_VARENTRY = type { i8*, i32 }
15
16 @dfg_nerrs = common global i32 0, align 4
17 @dfg_char = common global i32 0, align 4
18 @yypact = internal unnamed_addr constant [477 x i16] [i16 9, i16 -32, i16 35, i16 232, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -6, i16 13, i16 67, i16 20, i16 45, i16 53, i16 30, i16 -356, i16 110, i16 46, i16 118, i16 121, i16 -12, i16 73, i16 -356, i16 91, i16 84, i16 113, i16 112, i16 141, i16 123, i16 128, i16 132, i16 -356, i16 -356, i16 175, i16 152, i16 161, i16 155, i16 191, i16 2, i16 162, i16 180, i16 -356, i16 204, i16 232, i16 214, i16 173, i16 -356, i16 252, i16 176, i16 206, i16 209, i16 213, i16 226, i16 232, i16 47, i16 -356, i16 -356, i16 80, i16 218, i16 254, i16 224, i16 -14, i16 -356, i16 -356, i16 230, i16 233, i16 -356, i16 234, i16 241, i16 232, i16 242, i16 -356, i16 -356, i16 -356, i16 243, i16 237, i16 21, i16 244, i16 -356, i16 260, i16 -356, i16 246, i16 245, i16 250, i16 251, i16 294, i16 247, i16 248, i16 2, i16 232, i16 93, i16 -356, i16 -356, i16 232, i16 255, i16 272, i16 232, i16 253, i16 -356, i16 256, i16 -356, i16 232, i16 257, i16 232, i16 290, i16 232, i16 232, i16 -356, i16 -356, i16 -356, i16 258, i16 21, i16 261, i16 -356, i16 271, i16 -356, i16 262, i16 264, i16 14, i16 263, i16 317, i16 108, i16 -356, i16 -356, i16 265, i16 266, i16 80, i16 119, i16 -356, i16 85, i16 268, i16 312, i16 -356, i16 124, i16 -356, i16 270, i16 273, i16 269, i16 -356, i16 274, i16 -356, i16 309, i16 275, i16 -356, i16 -52, i16 276, i16 277, i16 232, i16 279, i16 -356, i16 -356, i16 281, i16 -356, i16 -356, i16 -356, i16 284, i16 287, i16 288, i16 321, i16 -356, i16 -356, i16 286, i16 108, i16 -356, i16 -356, i16 289, i16 232, i16 232, i16 138, i16 -356, i16 -356, i16 156, i16 291, i16 293, i16 232, i16 -17, i16 232, i16 232, i16 232, i16 232, i16 346, i16 232, i16 -356, i16 232, i16 -356, i16 40, i16 296, i16 -356, i16 -356, i16 297, i16 299, i16 302, i16 300, i16 -356, i16 303, i16 -356, i16 -356, i16 285, i16 301, i16 85, i16 232, i16 143, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 337, i16 16, i16 304, i16 298, i16 306, i16 -356, i16 32, i16 -356, i16 311, i16 305, i16 -356, i16 56, i16 308, i16 314, i16 310, i16 -356, i16 -356, i16 315, i16 318, i16 -356, i16 -356, i16 108, i16 -356, i16 -356, i16 313, i16 319, i16 156, i16 -2, i16 320, i16 -356, i16 -356, i16 232, i16 232, i16 316, i16 322, i16 232, i16 232, i16 323, i16 324, i16 307, i16 325, i16 326, i16 -356, i16 240, i16 -356, i16 327, i16 329, i16 108, i16 -356, i16 -356, i16 -356, i16 331, i16 332, i16 334, i16 333, i16 -356, i16 335, i16 -356, i16 336, i16 -356, i16 -356, i16 145, i16 -356, i16 -356, i16 -356, i16 96, i16 -356, i16 -356, i16 -356, i16 338, i16 340, i16 -356, i16 -356, i16 342, i16 232, i16 163, i16 339, i16 -356, i16 -356, i16 239, i16 343, i16 232, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 344, i16 -356, i16 -356, i16 341, i16 347, i16 348, i16 350, i16 -356, i16 3, i16 -356, i16 -15, i16 -356, i16 -356, i16 -356, i16 42, i16 232, i16 -356, i16 43, i16 -356, i16 349, i16 351, i16 -356, i16 -356, i16 96, i16 232, i16 352, i16 96, i16 96, i16 353, i16 355, i16 357, i16 57, i16 358, i16 361, i16 -356, i16 359, i16 -356, i16 163, i16 108, i16 360, i16 362, i16 -356, i16 363, i16 364, i16 -356, i16 44, i16 -356, i16 -13, i16 -356, i16 366, i16 365, i16 -356, i16 168, i16 372, i16 -356, i16 369, i16 -356, i16 -356, i16 -356, i16 96, i16 -356, i16 96, i16 232, i16 371, i16 373, i16 341, i16 -356, i16 -356, i16 0, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 367, i16 -356, i16 370, i16 -356, i16 375, i16 -356, i16 306, i16 374, i16 228, i16 377, i16 379, i16 380, i16 341, i16 -356, i16 -356, i16 50, i16 381, i16 376, i16 382, i16 -356, i16 383, i16 -356, i16 384, i16 66, i16 -356, i16 -356, i16 386, i16 228, i16 387, i16 385, i16 -356, i16 -356, i16 388, i16 7, i16 -356, i16 -356, i16 -356, i16 389, i16 232, i16 239, i16 -356, i16 228, i16 -356, i16 69, i16 239, i16 393, i16 232, i16 232, i16 90, i16 96, i16 306, i16 390, i16 -356, i16 -356, i16 153, i16 -356, i16 -356, i16 391, i16 179, i16 -356, i16 396, i16 395, i16 -356, i16 397, i16 239, i16 398, i16 401, i16 -356, i16 402, i16 399, i16 -356, i16 168, i16 96, i16 409, i16 408, i16 185, i16 -356, i16 410, i16 411, i16 -356, i16 405, i16 168, i16 -356, i16 -356, i16 400, i16 412, i16 -356, i16 168, i16 413, i16 198, i16 345, i16 -356, i16 -356, i16 168, i16 168, i16 394, i16 -356, i16 168, i16 -356], align 2
19 @yytranslate = internal unnamed_addr constant [319 x i8] c"\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02@A\02\02E\02B\02\02\02\02\02\02\02\02\02\02\02F\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02C\02D\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F !\22#$%&'()*+,-./0123456789:;<=>?", align 1
20 @yycheck = internal unnamed_addr constant [507 x i16] [i16 3, i16 46, i16 103, i16 3, i16 19, i16 19, i16 361, i16 9, i16 20, i16 276, i16 3, i16 8, i16 164, i16 65, i16 27, i16 6, i16 18, i16 69, i16 32, i16 31, i16 18, i16 38, i16 19, i16 23, i16 364, i16 18, i16 5, i16 40, i16 21, i16 22, i16 23, i16 24, i16 64, i16 12, i16 27, i16 0, i16 48, i16 40, i16 53, i16 41, i16 33, i16 34, i16 45, i16 41, i16 37, i16 47, i16 63, i16 40, i16 41, i16 47, i16 390, i16 11, i16 55, i16 3, i16 47, i16 322, i16 59, i16 17, i16 325, i16 65, i16 46, i16 416, i16 60, i16 56, i16 62, i16 8, i16 64, i16 60, i16 71, i16 62, i16 425, i16 57, i16 58, i16 23, i16 67, i16 19, i16 19, i16 27, i16 179, i16 66, i16 232, i16 65, i16 26, i16 16, i16 185, i16 69, i16 66, i16 90, i16 91, i16 36, i16 40, i16 358, i16 95, i16 360, i16 49, i16 98, i16 66, i16 65, i16 18, i16 3, i16 103, i16 69, i16 105, i16 18, i16 107, i16 108, i16 258, i16 65, i16 65, i16 65, i16 64, i16 69, i16 69, i16 69, i16 18, i16 68, i16 69, i16 21, i16 22, i16 23, i16 24, i16 41, i16 4, i16 27, i16 14, i16 128, i16 41, i16 47, i16 131, i16 33, i16 34, i16 65, i16 47, i16 37, i16 65, i16 69, i16 40, i16 41, i16 69, i16 66, i16 60, i16 449, i16 62, i16 47, i16 64, i16 60, i16 149, i16 62, i16 64, i16 64, i16 29, i16 459, i16 56, i16 254, i16 63, i16 65, i16 60, i16 465, i16 62, i16 69, i16 427, i16 68, i16 69, i16 471, i16 472, i16 168, i16 169, i16 475, i16 60, i16 61, i16 173, i16 3, i16 59, i16 176, i16 18, i16 178, i16 179, i16 180, i16 181, i16 67, i16 183, i16 18, i16 185, i16 450, i16 43, i16 337, i16 18, i16 68, i16 69, i16 66, i16 22, i16 23, i16 68, i16 69, i16 66, i16 27, i16 64, i16 41, i16 201, i16 202, i16 25, i16 33, i16 34, i16 47, i16 41, i16 37, i16 68, i16 69, i16 40, i16 41, i16 47, i16 68, i16 69, i16 68, i16 69, i16 47, i16 60, i16 65, i16 62, i16 64, i16 64, i16 68, i16 69, i16 60, i16 63, i16 62, i16 35, i16 64, i16 60, i16 67, i16 62, i16 51, i16 18, i16 19, i16 237, i16 21, i16 32, i16 64, i16 24, i16 242, i16 243, i16 27, i16 66, i16 246, i16 247, i16 290, i16 18, i16 68, i16 69, i16 21, i16 18, i16 254, i16 24, i16 68, i16 69, i16 41, i16 42, i16 18, i16 18, i16 19, i16 21, i16 47, i16 10, i16 24, i16 50, i16 37, i16 68, i16 69, i16 54, i16 41, i16 56, i16 65, i16 63, i16 41, i16 60, i16 47, i16 62, i16 64, i16 52, i16 47, i16 41, i16 41, i16 285, i16 286, i16 56, i16 67, i16 47, i16 47, i16 60, i16 292, i16 62, i16 67, i16 60, i16 39, i16 62, i16 56, i16 66, i16 64, i16 64, i16 60, i16 60, i16 62, i16 62, i16 66, i16 44, i16 64, i16 64, i16 64, i16 64, i16 15, i16 65, i16 314, i16 66, i16 63, i16 66, i16 64, i16 69, i16 45, i16 28, i16 66, i16 323, i16 65, i16 67, i16 65, i16 67, i16 64, i16 55, i16 64, i16 66, i16 65, i16 13, i16 19, i16 66, i16 336, i16 69, i16 67, i16 66, i16 64, i16 69, i16 30, i16 19, i16 386, i16 66, i16 69, i16 69, i16 66, i16 69, i16 66, i16 351, i16 65, i16 63, i16 65, i16 64, i16 7, i16 69, i16 66, i16 19, i16 66, i16 361, i16 66, i16 405, i16 65, i16 64, i16 66, i16 65, i16 63, i16 66, i16 66, i16 65, i16 65, i16 65, i16 64, i16 417, i16 65, i16 419, i16 69, i16 66, i16 422, i16 67, i16 65, i16 113, i16 66, i16 69, i16 65, i16 68, i16 66, i16 66, i16 128, i16 66, i16 66, i16 66, i16 66, i16 66, i16 66, i16 65, i16 64, i16 64, i16 442, i16 64, i16 66, i16 65, i16 62, i16 3, i16 201, i16 66, i16 69, i16 66, i16 65, i16 64, i16 66, i16 69, i16 64, i16 64, i16 416, i16 64, i16 70, i16 65, i16 65, i16 69, i16 64, i16 67, i16 424, i16 425, i16 66, i16 66, i16 64, i16 66, i16 65, i16 69, i16 66, i16 64, i16 66, i16 60, i16 69, i16 65, i16 64, i16 69, i16 64, i16 62, i16 69, i16 65, i16 67, i16 65, i16 64, i16 64, i16 64, i16 449, i16 65, i16 64, i16 40, i16 65, i16 68, i16 66, i16 237, i16 67, i16 65, i16 459, i16 69, i16 69, i16 66, i16 69, i16 65, i16 465, i16 68, i16 70, i16 67, i16 69, i16 67, i16 471, i16 472, i16 69, i16 69, i16 475, i16 65, i16 69, i16 65, i16 65, i16 65, i16 243, i16 66, i16 393, i16 411, i16 90, i16 405, i16 451, i16 393, i16 447, i16 419, i16 63, i16 -1, i16 336, i16 -1, i16 285, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 178], align 2
21 @yytable = internal unnamed_addr constant [507 x i16] [i16 10, i16 77, i16 139, i16 388, i16 331, i16 99, i16 384, i16 261, i16 30, i16 301, i16 293, i16 328, i16 196, i16 184, i16 362, i16 1, i16 262, i16 185, i16 62, i16 31, i16 5, i16 209, i16 329, i16 389, i16 387, i16 5, i16 110, i16 363, i16 67, i16 294, i16 295, i16 68, i16 3, i16 111, i16 296, i16 4, i16 32, i16 58, i16 332, i16 263, i16 297, i16 298, i16 65, i16 6, i16 299, i16 264, i16 210, i16 300, i16 6, i16 7, i16 407, i16 223, i16 88, i16 388, i16 7, i16 339, i16 94, i16 224, i16 342, i16 11, i16 154, i16 428, i16 8, i16 73, i16 9, i16 348, i16 55, i16 8, i16 106, i16 9, i16 436, i16 155, i16 156, i16 389, i16 425, i16 249, i16 349, i16 362, i16 213, i16 12, i16 257, i16 240, i16 250, i16 13, i16 221, i16 185, i16 15, i16 58, i16 126, i16 19, i16 363, i16 382, i16 130, i16 383, i16 16, i16 134, i16 21, i16 245, i16 5, i16 293, i16 138, i16 246, i16 141, i16 5, i16 144, i16 138, i16 284, i16 333, i16 335, i16 359, i16 25, i16 176, i16 336, i16 360, i16 5, i16 89, i16 90, i16 67, i16 294, i16 295, i16 68, i16 6, i16 26, i16 296, i16 23, i16 94, i16 6, i16 7, i16 172, i16 297, i16 298, i16 418, i16 7, i16 299, i16 431, i16 419, i16 300, i16 6, i16 419, i16 34, i16 8, i16 454, i16 9, i16 7, i16 91, i16 8, i16 188, i16 9, i16 37, i16 169, i16 28, i16 464, i16 73, i16 281, i16 36, i16 437, i16 8, i16 468, i16 9, i16 360, i16 438, i16 127, i16 128, i16 473, i16 474, i16 198, i16 199, i16 476, i16 161, i16 162, i16 205, i16 369, i16 38, i16 208, i16 5, i16 138, i16 138, i16 214, i16 218, i16 40, i16 220, i16 5, i16 138, i16 455, i16 41, i16 354, i16 5, i16 167, i16 168, i16 43, i16 370, i16 371, i16 175, i16 176, i16 44, i16 372, i16 45, i16 6, i16 172, i16 235, i16 47, i16 373, i16 374, i16 7, i16 6, i16 375, i16 200, i16 201, i16 376, i16 6, i16 7, i16 236, i16 237, i16 291, i16 292, i16 7, i16 8, i16 50, i16 9, i16 52, i16 202, i16 441, i16 442, i16 8, i16 51, i16 9, i16 53, i16 314, i16 8, i16 59, i16 9, i16 60, i16 5, i16 66, i16 205, i16 67, i16 62, i16 78, i16 68, i16 267, i16 214, i16 69, i16 82, i16 271, i16 273, i16 319, i16 5, i16 444, i16 243, i16 67, i16 5, i16 138, i16 68, i16 458, i16 459, i16 6, i16 70, i16 5, i16 5, i16 280, i16 67, i16 7, i16 79, i16 68, i16 71, i16 400, i16 470, i16 471, i16 72, i16 6, i16 73, i16 83, i16 84, i16 6, i16 8, i16 7, i16 9, i16 85, i16 86, i16 7, i16 6, i16 6, i16 134, i16 315, i16 73, i16 95, i16 7, i16 7, i16 8, i16 321, i16 9, i16 98, i16 8, i16 96, i16 9, i16 73, i16 102, i16 103, i16 104, i16 8, i16 8, i16 9, i16 9, i16 109, i16 114, i16 105, i16 107, i16 108, i16 113, i16 121, i16 118, i16 334, i16 117, i16 119, i16 124, i16 120, i16 123, i16 132, i16 142, i16 136, i16 340, i16 137, i16 131, i16 147, i16 140, i16 149, i16 150, i16 158, i16 152, i16 153, i16 159, i16 174, i16 165, i16 315, i16 164, i16 173, i16 177, i16 178, i16 179, i16 182, i16 194, i16 403, i16 186, i16 181, i16 183, i16 189, i16 187, i16 190, i16 377, i16 191, i16 192, i16 195, i16 193, i16 219, i16 232, i16 197, i16 239, i16 206, i16 214, i16 207, i16 403, i16 225, i16 242, i16 227, i16 228, i16 229, i16 230, i16 233, i16 231, i16 241, i16 248, i16 276, i16 429, i16 251, i16 403, i16 243, i16 253, i16 433, i16 247, i16 252, i16 148, i16 255, i16 258, i16 256, i16 269, i16 259, i16 266, i16 166, i16 270, i16 274, i16 275, i16 277, i16 278, i16 282, i16 283, i16 285, i16 286, i16 448, i16 287, i16 288, i16 289, i16 318, i16 388, i16 234, i16 310, i16 290, i16 311, i16 312, i16 322, i16 320, i16 323, i16 325, i16 326, i16 214, i16 327, i16 472, i16 338, i16 341, i16 337, i16 346, i16 345, i16 435, i16 214, i16 347, i16 350, i16 351, i16 355, i16 356, i16 352, i16 357, i16 367, i16 368, i16 380, i16 358, i16 381, i16 385, i16 393, i16 386, i16 413, i16 395, i16 397, i16 399, i16 404, i16 405, i16 406, i16 411, i16 377, i16 414, i16 417, i16 363, i16 423, i16 415, i16 420, i16 260, i16 422, i16 440, i16 377, i16 424, i16 427, i16 434, i16 443, i16 445, i16 377, i16 446, i16 475, i16 449, i16 447, i16 465, i16 377, i16 377, i16 450, i16 451, i16 377, i16 457, i16 462, i16 460, i16 461, i16 466, i16 268, i16 469, i16 408, i16 426, i16 125, i16 421, i16 456, i16 409, i16 452, i16 430, i16 100, i16 0, i16 353, i16 0, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 212], align 2
22 @dfg_lval = common global %union.yystype zeroinitializer, align 4
23 @yydefact = internal unnamed_addr constant [477 x i8] c"\00\00\00\00\01bca`_\00\00\00\00\12\00\00\AE2\00\00\14\00\00G\00\00\08\00\1A\00\00\00\AF4h\00\00\00\0A\00\00 \02\00\00\00\00H\8C\00\00\00\00\00\00\00\16\18\00\00$\00\00\C0\B1\00\00~\00\00\00\00}56|\00\00\00i\A8\04\00\00\00\00\00\00\00\00\00\00\1C\1E\00\00*\00\00\C1\003\00\00\00>\00\008EF\00\00\00\8D\11\05\00\00\00\00\0C\00\15\17\00\00\00\00\22\00\00\00\C3\00\B0\00\88\00:\00?\00\00\8A\00\00\00\00\00\A9\09\00\0E\10\0F\00\00\00\0010\00\00\1B\1D\00\00\00\00&(\00\00\00\00\00\00\00\00\00\00\00\80\00I\00\00\AA\0B\00\00\00\00\19\00!#\00\00\00\00\00,.\13\C2\C4\B5\B3\00\00\00f;d\00B\00\00\8B\00\00\00\00\AC\06\00\00\03\1F\00%'\00\00\00\00\00\89\7F\00\00\00\00\00\00\00\00\00\00\00\8E\00\07\00\00\00+-\B4\00\00\00\00\B2\00e\009C\00@7DTmk\90\00\00\0D)\00\00\00\00\B6g\00\00\00[X]^YZ\00\5CUK\00\00\00M\00\81\00\AB\AD/\00\00\BC\00\BA\00\00=A\00\00\00\00\00\00\00\00\00\00\00\B8\00\B7\00\00\00\00L\00\00V\00Qoj\00\00\8F\00\00\BB\00<NJ\00P\00\00\00\00Kpq\83l\9F\9C\A2\A1\9D\9E\9B\A0\9A\00\98\BE\B9\00WR\00\00\00\00\00K\84\85\00\A3\00\00O\00r\00\00vx\00\00\00\00\A6\A7\00\00\99\BF\BD\00\00\00u\00n\00\00\00\00\00\00\00s\00w\87\00z\82\00\00\A4\00\00y\00\00\00\00S\00\00{\00\00\00\00\00\92\00\00\86\94\00\A5t\00\00\93\00\00\00\00\91\95\00\00\00\96\00\97", align 1
24 @yyr2 = internal unnamed_addr constant [197 x i8] c"\00\02\0A\0B\05\05\05\05\00\05\00\05\00\05\01\01\01\06\00\09\00\05\01\03\01\05\00\05\01\03\01\05\00\05\01\03\00\05\01\03\01\05\00\05\01\03\01\05\01\01\00\05\00\02\01\07\02\07\00\00\0B\09\00\01\01\03\01\03\08\01\01\00\02\00\07\00\02\01\04\06\04\00\00\0A\00\01\01\03\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\04\00\02\0A\00\0B\00\07\00\01\01\00\00\0A\04\01\03\01\04\01\03\01\01\01\06\04\00\07\00\01\01\08\04\01\04\01\03\00\02\00\09\00\0F\01\03\00\04\03\05\00\03\01\01\01\01\01\01\01\01\01\00\03\07\01\01\00\02\00\06\00\03\00\02\05\00\09\01\03\00\03\04\04\06\01\03\01\06\00\02\01\02\05\01\03", align 1
25 @dfg_DESC.0 = internal unnamed_addr global i8* null
26 @dfg_DESC.1 = internal unnamed_addr global i8* null
27 @dfg_DESC.2 = internal unnamed_addr global i8* null
28 @dfg_DESC.3 = internal unnamed_addr global i8* null
29 @dfg_DESC.4 = internal unnamed_addr global i32 0
30 @dfg_DESC.5 = internal unnamed_addr global i8* null
31 @dfg_DESC.6 = internal unnamed_addr global i8* null
32 @dfg_SORTDECLLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
33 @dfg_AXIOMLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
34 @dfg_CONJECLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
35 @dfg_IGNORE = internal unnamed_addr global i32 0, align 4
36 @.str = private unnamed_addr constant [9 x i8] c"set_flag\00", align 1
37 @.str1 = private unnamed_addr constant [12 x i8] c"set_DomPred\00", align 1
38 @.str2 = private unnamed_addr constant [15 x i8] c"set_precedence\00", align 1
39 @stdout = external global %struct._IO_FILE*
40 @.str3 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol is not a variable.\0A\00", align 1
41 @dfg_LINENUMBER = common global i32 0, align 4
42 @.str4 = private unnamed_addr constant [39 x i8] c"\0A Line %d: Symbol is not a predicate.\0A\00", align 1
43 @dfg_AXCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null, align 4
44 @dfg_CONCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null, align 4
45 @.str5 = private unnamed_addr constant [6 x i8] c"SPASS\00", align 1
46 @dfg_PROOFLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
47 @.str6 = private unnamed_addr constant [11 x i8] c"splitlevel\00", align 1
48 @dfg_TERMLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
49 @dfg_IGNORETEXT = common global i32 0, align 4
50 @.str7 = private unnamed_addr constant [22 x i8] c"\0A Undefined symbol %s\00", align 1
51 @.str8 = private unnamed_addr constant [19 x i8] c" in DomPred list.\0A\00", align 1
52 @.str9 = private unnamed_addr constant [30 x i8] c"\0A Symbol %s isn't a predicate\00", align 1
53 @.str10 = private unnamed_addr constant [24 x i8] c"\0A Found unknown flag %s\00", align 1
54 @dfg_FLAGS = internal unnamed_addr global i32* null, align 4
55 @.str11 = private unnamed_addr constant [23 x i8] c"\0A Undefined symbol %s \00", align 1
56 @.str12 = private unnamed_addr constant [22 x i8] c" in precedence list.\0A\00", align 1
57 @dfg_PRECEDENCE = internal unnamed_addr global i32* null, align 4
58 @dfg_USERPRECEDENCE = internal unnamed_addr global %struct.LIST_HELP* null, align 4
59 @.str13 = private unnamed_addr constant [21 x i8] c"in precedence list.\0A\00", align 1
60 @.str14 = private unnamed_addr constant [27 x i8] c"\0A Invalid symbol status %s\00", align 1
61 @.str15 = private unnamed_addr constant [21 x i8] c" in precedence list.\00", align 1
62 @yyr1 = internal unnamed_addr constant [197 x i8] c"\00GHIJKLMNNOOPPQQQRSSTTUUVVWWXXYYZZ[[\5C\5C]]^^__``aabbccddeeeefgehiijjkklmmnnooppqqqqrsqttuuvvvwwxxyyyyyzz{{||}~}\7F\7F\80\80\81\82\83\81\84\85\85\86\86\87\87\88\88\88\88\88\89\89\8A\8A\8B\8B\8C\8D\8D\8E\8E\8F\8F\91\90\92\92\93\93\94\94\95\95\97\96\98\98\98\98\98\98\98\98\98\99\99\99\9A\9A\9B\9B\9D\9C\9E\9E\9F\9F\A0\A1\A0\A2\A2\A3\A3\A4\A4\A4\A5\A5\A6\A6\A7\A7\A8\A8\A9\AA\AA", align 1
63 @yypgoto = internal unnamed_addr constant [100 x i16] [i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 392, i16 -356, i16 -356, i16 259, i16 -356, i16 -356, i16 -356, i16 -356, i16 202, i16 -356, i16 -356, i16 216, i16 -152, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 267, i16 -356, i16 -356, i16 -340, i16 -267, i16 -356, i16 -356, i16 -356, i16 70, i16 -356, i16 -356, i16 -356, i16 -3, i16 -355, i16 235, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 87, i16 -356, i16 -356, i16 33, i16 78, i16 68, i16 -356, i16 -45, i16 -356, i16 -356, i16 92, i16 39, i16 -101, i16 328, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -308, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 -356, i16 154, i16 -356, i16 -356, i16 425, i16 207], align 2
64 @yydefgoto = internal unnamed_addr constant [100 x i16] [i16 -1, i16 2, i16 14, i16 20, i16 27, i16 87, i16 122, i16 39, i16 54, i16 160, i16 157, i16 17, i16 18, i16 29, i16 56, i16 57, i16 42, i16 92, i16 93, i16 61, i16 129, i16 97, i16 170, i16 171, i16 133, i16 203, i16 204, i16 163, i16 24, i16 46, i16 74, i16 180, i16 244, i16 75, i16 143, i16 272, i16 217, i16 48, i16 112, i16 35, i16 222, i16 324, i16 343, i16 361, i16 398, i16 302, i16 344, i16 303, i16 304, i16 305, i16 76, i16 215, i16 216, i16 49, i16 80, i16 308, i16 307, i16 364, i16 365, i16 416, i16 439, i16 366, i16 401, i16 402, i16 432, i16 306, i16 330, i16 390, i16 391, i16 392, i16 145, i16 146, i16 81, i16 115, i16 279, i16 309, i16 453, i16 463, i16 467, i16 378, i16 394, i16 379, i16 412, i16 410, i16 116, i16 151, i16 226, i16 254, i16 22, i16 33, i16 101, i16 211, i16 238, i16 265, i16 316, i16 317, i16 396, i16 63, i16 64, i16 135], align 2
65 @yytname = internal unnamed_addr constant [172 x i8*] [i8* getelementptr inbounds ([5 x i8]* @.str60, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str61, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str62, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str63, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str64, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str65, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str66, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str67, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str68, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str69, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str70, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str71, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str72, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str73, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str74, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str75, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str76, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str77, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str78, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str79, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str80, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str81, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str82, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str83, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str84, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str85, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str86, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str87, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str88, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str89, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str90, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str91, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str92, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str93, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str94, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str95, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str96, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str97, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str98, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str99, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str100, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str101, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str102, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str103, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str104, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str105, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str106, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str107, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str108, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str109, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str110, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str111, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str112, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str113, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str114, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str115, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str116, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str117, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str118, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str119, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str120, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str121, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str122, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str123, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str124, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str125, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str126, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str127, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str128, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str129, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str130, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str131, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str132, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str133, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str134, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str135, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str136, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str137, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str138, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str139, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str140, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str141, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str142, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str143, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str144, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str145, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str146, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str147, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str148, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str149, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str150, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str151, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str152, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str153, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str154, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str155, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str156, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str157, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str158, i32 0, i32 0), i8* getelementptr inbounds ([19 x i8]* @.str159, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str160, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str161, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str162, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str163, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str164, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str165, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str166, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str167, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str168, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str169, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8]* @.str170, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str171, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str172, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str173, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str174, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str175, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str176, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str177, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str178, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str179, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str180, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str181, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str182, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str183, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str184, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str185, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str186, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str187, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str188, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str189, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str190, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str191, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str192, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str193, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str194, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str195, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str196, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str197, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str198, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str199, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str200, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str201, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str202, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str203, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str204, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str205, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str206, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str207, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str208, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str209, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str210, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str212, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str213, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str214, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @.str215, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str216, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str217, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str218, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8]* @.str219, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str220, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str221, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str222, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str223, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str224, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str225, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str226, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str227, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str228, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str229, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str230, i32 0, i32 0), i8* null], align 4
66 @.str16 = private unnamed_addr constant [25 x i8] c"parse error, unexpected \00", align 1
67 @.str17 = private unnamed_addr constant [13 x i8] c", expecting \00", align 1
68 @.str18 = private unnamed_addr constant [5 x i8] c" or \00", align 1
69 @.str20 = private unnamed_addr constant [12 x i8] c"parse error\00", align 1
70 @.str21 = private unnamed_addr constant [22 x i8] c"parser stack overflow\00", align 1
71 @.str22 = private unnamed_addr constant [15 x i8] c"\0A Line %i: %s\0A\00", align 1
72 @.str24 = private unnamed_addr constant [12 x i8] c"satisfiable\00", align 1
73 @.str25 = private unnamed_addr constant [14 x i8] c"unsatisfiable\00", align 1
74 @.str26 = private unnamed_addr constant [8 x i8] c"unknown\00", align 1
75 @stderr = external global %struct._IO_FILE*
76 @.str27 = private unnamed_addr constant [31 x i8] c"\0A\09Error in file %s at line %d\0A\00", align 1
77 @.str28 = private unnamed_addr constant [12 x i8] c"dfgparser.y\00", align 1
78 @.str29 = private unnamed_addr constant [47 x i8] c"\0A In dfg_ProblemStatusString: Invalid status.\0A\00", align 1
79 @.str30 = private unnamed_addr constant [133 x i8] c"\0A Please report this error via email to spass@mpi-sb.mpg.de including\0A the SPASS version, input problem, options, operating system.\0A\00", align 1
80 @.str31 = private unnamed_addr constant [30 x i8] c"list_of_descriptions.\0A  name(\00", align 1
81 @.str32 = private unnamed_addr constant [6 x i8] c"{* *}\00", align 1
82 @.str33 = private unnamed_addr constant [13 x i8] c").\0A  author(\00", align 1
83 @.str34 = private unnamed_addr constant [4 x i8] c").\0A\00", align 1
84 @.str35 = private unnamed_addr constant [11 x i8] c"  version(\00", align 1
85 @.str36 = private unnamed_addr constant [9 x i8] c"  logic(\00", align 1
86 @.str37 = private unnamed_addr constant [10 x i8] c"  status(\00", align 1
87 @.str38 = private unnamed_addr constant [18 x i8] c").\0A  description(\00", align 1
88 @.str39 = private unnamed_addr constant [8 x i8] c"  date(\00", align 1
89 @.str40 = private unnamed_addr constant [13 x i8] c"end_of_list.\00", align 1
90 @dfg_VARLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
91 @.str41 = private unnamed_addr constant [55 x i8] c"\0A In dfg_VarCheck: List of variables should be empty!\0A\00", align 1
92 @symbol_STANDARDVARCOUNTER = external global i32
93 @memory_FREEDBYTES = external global i32
94 @memory_ARRAY = external global [0 x %struct.MEMORY_RESOURCEHELP*]
95 @dfg_VARDECL = internal unnamed_addr global i1 false
96 @dfg_SYMBOLLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
97 @symbol_TYPESTATBITS = external constant i32
98 @symbol_SIGNATURE = external global %struct.signature**
99 @.str42 = private unnamed_addr constant [44 x i8] c"\0A Line %d: Symbol is not a sort predicate.\0A\00", align 1
100 @.str43 = private unnamed_addr constant [33 x i8] c"\0A Line %d: undefined symbol %s.\0A\00", align 1
101 @.str44 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol is not a function.\0A\00", align 1
102 @symbol_TYPEMASK = external constant i32
103 @fol_FALSE = external global i32
104 @fol_TRUE = external global i32
105 @.str45 = private unnamed_addr constant [33 x i8] c"\0A Line %d: Undefined symbol %s.\0A\00", align 1
106 @.str46 = private unnamed_addr constant [30 x i8] c"\0A Line %u: Free Variable %s.\0A\00", align 1
107 @.str47 = private unnamed_addr constant [11 x i8] c"\0A Line %u:\00", align 1
108 @.str48 = private unnamed_addr constant [21 x i8] c" The actual arity %u\00", align 1
109 @.str49 = private unnamed_addr constant [22 x i8] c" of symbol %s differs\00", align 1
110 @.str50 = private unnamed_addr constant [30 x i8] c" from the previous arity %u.\0A\00", align 1
111 @.str51 = private unnamed_addr constant [50 x i8] c"\0A Line %u: Symbol %s was declared with arity %u.\0A\00", align 1
112 @.str52 = private unnamed_addr constant [58 x i8] c"\0A Line %u: symbols with arbitrary arity are not allowed.\0A\00", align 1
113 @.str53 = private unnamed_addr constant [46 x i8] c"\0A Line %u: symbol %s was already declared as \00", align 1
114 @.str54 = private unnamed_addr constant [11 x i8] c"function.\0A\00", align 1
115 @.str55 = private unnamed_addr constant [12 x i8] c"predicate.\0A\00", align 1
116 @.str56 = private unnamed_addr constant [10 x i8] c"junctor.\0A\00", align 1
117 @.str57 = private unnamed_addr constant [15 x i8] c"unknown type.\0A\00", align 1
118 @.str58 = private unnamed_addr constant [57 x i8] c"\0A Line %u: symbol %s was already declared with arity %d\0A\00", align 1
119 @stack_POINTER = external global i32
120 @dfg_in = external global %struct._IO_FILE*
121 @.str59 = private unnamed_addr constant [3 x i8] c"\0A\0A\00", align 1
122 @.str60 = private unnamed_addr constant [5 x i8] c"$end\00", align 1
123 @.str61 = private unnamed_addr constant [6 x i8] c"error\00", align 1
124 @.str62 = private unnamed_addr constant [11 x i8] c"$undefined\00", align 1
125 @.str63 = private unnamed_addr constant [8 x i8] c"DFG_AND\00", align 1
126 @.str64 = private unnamed_addr constant [11 x i8] c"DFG_AUTHOR\00", align 1
127 @.str65 = private unnamed_addr constant [11 x i8] c"DFG_AXIOMS\00", align 1
128 @.str66 = private unnamed_addr constant [12 x i8] c"DFG_BEGPROB\00", align 1
129 @.str67 = private unnamed_addr constant [7 x i8] c"DFG_BY\00", align 1
130 @.str68 = private unnamed_addr constant [11 x i8] c"DFG_CLAUSE\00", align 1
131 @.str69 = private unnamed_addr constant [15 x i8] c"DFG_CLOSEBRACE\00", align 1
132 @.str70 = private unnamed_addr constant [12 x i8] c"DFG_CLSLIST\00", align 1
133 @.str71 = private unnamed_addr constant [8 x i8] c"DFG_CNF\00", align 1
134 @.str72 = private unnamed_addr constant [12 x i8] c"DFG_CONJECS\00", align 1
135 @.str73 = private unnamed_addr constant [9 x i8] c"DFG_DATE\00", align 1
136 @.str74 = private unnamed_addr constant [13 x i8] c"DFG_DECLLIST\00", align 1
137 @.str75 = private unnamed_addr constant [9 x i8] c"DFG_DESC\00", align 1
138 @.str76 = private unnamed_addr constant [13 x i8] c"DFG_DESCLIST\00", align 1
139 @.str77 = private unnamed_addr constant [8 x i8] c"DFG_DNF\00", align 1
140 @.str78 = private unnamed_addr constant [12 x i8] c"DFG_DOMPRED\00", align 1
141 @.str79 = private unnamed_addr constant [12 x i8] c"DFG_ENDLIST\00", align 1
142 @.str80 = private unnamed_addr constant [12 x i8] c"DFG_ENDPROB\00", align 1
143 @.str81 = private unnamed_addr constant [10 x i8] c"DFG_EQUAL\00", align 1
144 @.str82 = private unnamed_addr constant [10 x i8] c"DFG_EQUIV\00", align 1
145 @.str83 = private unnamed_addr constant [11 x i8] c"DFG_EXISTS\00", align 1
146 @.str84 = private unnamed_addr constant [10 x i8] c"DFG_FALSE\00", align 1
147 @.str85 = private unnamed_addr constant [13 x i8] c"DFG_FORMLIST\00", align 1
148 @.str86 = private unnamed_addr constant [12 x i8] c"DFG_FORMULA\00", align 1
149 @.str87 = private unnamed_addr constant [11 x i8] c"DFG_FORALL\00", align 1
150 @.str88 = private unnamed_addr constant [11 x i8] c"DFG_FREELY\00", align 1
151 @.str89 = private unnamed_addr constant [9 x i8] c"DFG_FUNC\00", align 1
152 @.str90 = private unnamed_addr constant [14 x i8] c"DFG_GENERATED\00", align 1
153 @.str91 = private unnamed_addr constant [11 x i8] c"DFG_GENSET\00", align 1
154 @.str92 = private unnamed_addr constant [11 x i8] c"DFG_HYPOTH\00", align 1
155 @.str93 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIED\00", align 1
156 @.str94 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIES\00", align 1
157 @.str95 = private unnamed_addr constant [10 x i8] c"DFG_LOGIC\00", align 1
158 @.str96 = private unnamed_addr constant [9 x i8] c"DFG_NAME\00", align 1
159 @.str97 = private unnamed_addr constant [8 x i8] c"DFG_NOT\00", align 1
160 @.str98 = private unnamed_addr constant [14 x i8] c"DFG_OPENBRACE\00", align 1
161 @.str99 = private unnamed_addr constant [11 x i8] c"DFG_OPERAT\00", align 1
162 @.str100 = private unnamed_addr constant [7 x i8] c"DFG_OR\00", align 1
163 @.str101 = private unnamed_addr constant [9 x i8] c"DFG_PREC\00", align 1
164 @.str102 = private unnamed_addr constant [9 x i8] c"DFG_PRED\00", align 1
165 @.str103 = private unnamed_addr constant [12 x i8] c"DFG_PRDICAT\00", align 1
166 @.str104 = private unnamed_addr constant [12 x i8] c"DFG_PRFLIST\00", align 1
167 @.str105 = private unnamed_addr constant [12 x i8] c"DFG_QUANTIF\00", align 1
168 @.str106 = private unnamed_addr constant [10 x i8] c"DFG_SATIS\00", align 1
169 @.str107 = private unnamed_addr constant [12 x i8] c"DFG_SETFLAG\00", align 1
170 @.str108 = private unnamed_addr constant [13 x i8] c"DFG_SETTINGS\00", align 1
171 @.str109 = private unnamed_addr constant [12 x i8] c"DFG_SYMLIST\00", align 1
172 @.str110 = private unnamed_addr constant [9 x i8] c"DFG_SORT\00", align 1
173 @.str111 = private unnamed_addr constant [10 x i8] c"DFG_SORTS\00", align 1
174 @.str112 = private unnamed_addr constant [11 x i8] c"DFG_STATUS\00", align 1
175 @.str113 = private unnamed_addr constant [9 x i8] c"DFG_STEP\00", align 1
176 @.str114 = private unnamed_addr constant [12 x i8] c"DFG_SUBSORT\00", align 1
177 @.str115 = private unnamed_addr constant [13 x i8] c"DFG_TERMLIST\00", align 1
178 @.str116 = private unnamed_addr constant [9 x i8] c"DFG_TRUE\00", align 1
179 @.str117 = private unnamed_addr constant [12 x i8] c"DFG_UNKNOWN\00", align 1
180 @.str118 = private unnamed_addr constant [12 x i8] c"DFG_UNSATIS\00", align 1
181 @.str119 = private unnamed_addr constant [12 x i8] c"DFG_VERSION\00", align 1
182 @.str120 = private unnamed_addr constant [8 x i8] c"DFG_NUM\00", align 1
183 @.str121 = private unnamed_addr constant [11 x i8] c"DFG_MINUS1\00", align 1
184 @.str122 = private unnamed_addr constant [7 x i8] c"DFG_ID\00", align 1
185 @.str123 = private unnamed_addr constant [9 x i8] c"DFG_TEXT\00", align 1
186 @.str124 = private unnamed_addr constant [4 x i8] c"'('\00", align 1
187 @.str125 = private unnamed_addr constant [4 x i8] c"')'\00", align 1
188 @.str126 = private unnamed_addr constant [4 x i8] c"'.'\00", align 1
189 @.str127 = private unnamed_addr constant [4 x i8] c"'['\00", align 1
190 @.str128 = private unnamed_addr constant [4 x i8] c"']'\00", align 1
191 @.str129 = private unnamed_addr constant [4 x i8] c"','\00", align 1
192 @.str130 = private unnamed_addr constant [4 x i8] c"':'\00", align 1
193 @.str131 = private unnamed_addr constant [8 x i8] c"$accept\00", align 1
194 @.str132 = private unnamed_addr constant [8 x i8] c"problem\00", align 1
195 @.str133 = private unnamed_addr constant [12 x i8] c"description\00", align 1
196 @.str134 = private unnamed_addr constant [5 x i8] c"name\00", align 1
197 @.str135 = private unnamed_addr constant [7 x i8] c"author\00", align 1
198 @.str136 = private unnamed_addr constant [7 x i8] c"status\00", align 1
199 @.str137 = private unnamed_addr constant [9 x i8] c"desctext\00", align 1
200 @.str138 = private unnamed_addr constant [11 x i8] c"versionopt\00", align 1
201 @.str139 = private unnamed_addr constant [9 x i8] c"logicopt\00", align 1
202 @.str140 = private unnamed_addr constant [8 x i8] c"dateopt\00", align 1
203 @.str141 = private unnamed_addr constant [10 x i8] c"log_state\00", align 1
204 @.str142 = private unnamed_addr constant [12 x i8] c"logicalpart\00", align 1
205 @.str143 = private unnamed_addr constant [14 x i8] c"symbollistopt\00", align 1
206 @.str144 = private unnamed_addr constant [13 x i8] c"functionsopt\00", align 1
207 @.str145 = private unnamed_addr constant [13 x i8] c"functionlist\00", align 1
208 @.str146 = private unnamed_addr constant [5 x i8] c"func\00", align 1
209 @.str147 = private unnamed_addr constant [14 x i8] c"predicatesopt\00", align 1
210 @.str148 = private unnamed_addr constant [14 x i8] c"predicatelist\00", align 1
211 @.str149 = private unnamed_addr constant [5 x i8] c"pred\00", align 1
212 @.str150 = private unnamed_addr constant [9 x i8] c"sortsopt\00", align 1
213 @.str151 = private unnamed_addr constant [9 x i8] c"sortlist\00", align 1
214 @.str152 = private unnamed_addr constant [13 x i8] c"operatorsopt\00", align 1
215 @.str153 = private unnamed_addr constant [13 x i8] c"operatorlist\00", align 1
216 @.str154 = private unnamed_addr constant [3 x i8] c"op\00", align 1
217 @.str155 = private unnamed_addr constant [15 x i8] c"quantifiersopt\00", align 1
218 @.str156 = private unnamed_addr constant [15 x i8] c"quantifierlist\00", align 1
219 @.str157 = private unnamed_addr constant [6 x i8] c"quant\00", align 1
220 @.str158 = private unnamed_addr constant [7 x i8] c"number\00", align 1
221 @.str159 = private unnamed_addr constant [19 x i8] c"declarationlistopt\00", align 1
222 @.str160 = private unnamed_addr constant [12 x i8] c"decllistopt\00", align 1
223 @.str161 = private unnamed_addr constant [5 x i8] c"decl\00", align 1
224 @.str162 = private unnamed_addr constant [3 x i8] c"@1\00", align 1
225 @.str163 = private unnamed_addr constant [3 x i8] c"@2\00", align 1
226 @.str164 = private unnamed_addr constant [8 x i8] c"gendecl\00", align 1
227 @.str165 = private unnamed_addr constant [10 x i8] c"freelyopt\00", align 1
228 @.str166 = private unnamed_addr constant [9 x i8] c"funclist\00", align 1
229 @.str167 = private unnamed_addr constant [9 x i8] c"sortdecl\00", align 1
230 @.str168 = private unnamed_addr constant [12 x i8] c"formulalist\00", align 1
231 @.str169 = private unnamed_addr constant [7 x i8] c"origin\00", align 1
232 @.str170 = private unnamed_addr constant [16 x i8] c"formulalistsopt\00", align 1
233 @.str171 = private unnamed_addr constant [15 x i8] c"formulalistopt\00", align 1
234 @.str172 = private unnamed_addr constant [9 x i8] c"labelopt\00", align 1
235 @.str173 = private unnamed_addr constant [8 x i8] c"formula\00", align 1
236 @.str174 = private unnamed_addr constant [3 x i8] c"@3\00", align 1
237 @.str175 = private unnamed_addr constant [3 x i8] c"@4\00", align 1
238 @.str176 = private unnamed_addr constant [11 x i8] c"formulaopt\00", align 1
239 @.str177 = private unnamed_addr constant [8 x i8] c"arglist\00", align 1
240 @.str178 = private unnamed_addr constant [10 x i8] c"binsymbol\00", align 1
241 @.str179 = private unnamed_addr constant [8 x i8] c"nsymbol\00", align 1
242 @.str180 = private unnamed_addr constant [12 x i8] c"quantsymbol\00", align 1
243 @.str181 = private unnamed_addr constant [3 x i8] c"id\00", align 1
244 @.str182 = private unnamed_addr constant [10 x i8] c"qtermlist\00", align 1
245 @.str183 = private unnamed_addr constant [6 x i8] c"qterm\00", align 1
246 @.str184 = private unnamed_addr constant [15 x i8] c"clauselistsopt\00", align 1
247 @.str185 = private unnamed_addr constant [11 x i8] c"clauselist\00", align 1
248 @.str186 = private unnamed_addr constant [3 x i8] c"@5\00", align 1
249 @.str187 = private unnamed_addr constant [14 x i8] c"cnfclausesopt\00", align 1
250 @.str188 = private unnamed_addr constant [13 x i8] c"cnfclauseopt\00", align 1
251 @.str189 = private unnamed_addr constant [10 x i8] c"cnfclause\00", align 1
252 @.str190 = private unnamed_addr constant [3 x i8] c"@6\00", align 1
253 @.str191 = private unnamed_addr constant [3 x i8] c"@7\00", align 1
254 @.str192 = private unnamed_addr constant [14 x i8] c"cnfclausebody\00", align 1
255 @.str193 = private unnamed_addr constant [8 x i8] c"litlist\00", align 1
256 @.str194 = private unnamed_addr constant [4 x i8] c"lit\00", align 1
257 @.str195 = private unnamed_addr constant [9 x i8] c"atomlist\00", align 1
258 @.str196 = private unnamed_addr constant [5 x i8] c"atom\00", align 1
259 @.str197 = private unnamed_addr constant [14 x i8] c"dnfclausesopt\00", align 1
260 @.str198 = private unnamed_addr constant [13 x i8] c"dnfclauseopt\00", align 1
261 @.str199 = private unnamed_addr constant [10 x i8] c"dnfclause\00", align 1
262 @.str200 = private unnamed_addr constant [14 x i8] c"dnfclausebody\00", align 1
263 @.str201 = private unnamed_addr constant [5 x i8] c"term\00", align 1
264 @.str202 = private unnamed_addr constant [9 x i8] c"termlist\00", align 1
265 @.str203 = private unnamed_addr constant [14 x i8] c"prooflistsopt\00", align 1
266 @.str204 = private unnamed_addr constant [10 x i8] c"prooflist\00", align 1
267 @.str205 = private unnamed_addr constant [3 x i8] c"@8\00", align 1
268 @.str206 = private unnamed_addr constant [13 x i8] c"prooflistopt\00", align 1
269 @.str207 = private unnamed_addr constant [11 x i8] c"parentlist\00", align 1
270 @.str208 = private unnamed_addr constant [13 x i8] c"assoclistopt\00", align 1
271 @.str209 = private unnamed_addr constant [10 x i8] c"assoclist\00", align 1
272 @.str210 = private unnamed_addr constant [14 x i8] c"id_or_formula\00", align 1
273 @.str211 = private unnamed_addr constant [3 x i8] c"@9\00", align 1
274 @.str212 = private unnamed_addr constant [10 x i8] c"anysymbol\00", align 1
275 @.str213 = private unnamed_addr constant [8 x i8] c"optargs\00", align 1
276 @.str214 = private unnamed_addr constant [7 x i8] c"clause\00", align 1
277 @.str215 = private unnamed_addr constant [15 x i8] c"listOfTermsopt\00", align 1
278 @.str216 = private unnamed_addr constant [12 x i8] c"listOfTerms\00", align 1
279 @.str217 = private unnamed_addr constant [4 x i8] c"@10\00", align 1
280 @.str218 = private unnamed_addr constant [6 x i8] c"terms\00", align 1
281 @.str219 = private unnamed_addr constant [16 x i8] c"settinglistsopt\00", align 1
282 @.str220 = private unnamed_addr constant [12 x i8] c"settinglist\00", align 1
283 @.str221 = private unnamed_addr constant [4 x i8] c"@11\00", align 1
284 @.str222 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
285 @.str223 = private unnamed_addr constant [11 x i8] c"spassflags\00", align 1
286 @.str224 = private unnamed_addr constant [10 x i8] c"spassflag\00", align 1
287 @.str225 = private unnamed_addr constant [9 x i8] c"preclist\00", align 1
288 @.str226 = private unnamed_addr constant [9 x i8] c"precitem\00", align 1
289 @.str227 = private unnamed_addr constant [8 x i8] c"statopt\00", align 1
290 @.str228 = private unnamed_addr constant [10 x i8] c"gsettings\00", align 1
291 @.str229 = private unnamed_addr constant [9 x i8] c"gsetting\00", align 1
292 @.str230 = private unnamed_addr constant [10 x i8] c"labellist\00", align 1
293 @.str231 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag value %d is too small for flag %s.\0A\00", align 1
294 @.str232 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag value %d is too large for flag %s.\0A\00", align 1
295 @.str233 = private unnamed_addr constant [31 x i8] c"\0A Line %d: is not a function.\0A\00", align 1
296 @fol_EQUALITY = external global i32
297 @stack_STACK = external global [10000 x i8*]
298 @fol_EXIST = external global i32
299 @fol_OR = external global i32
300 @fol_AND = external global i32
301 @fol_IMPLIES = external global i32
302 @fol_IMPLIED = external global i32
303 @fol_EQUIV = external global i32
304 @fol_NOT = external global i32
305 @fol_ALL = external global i32
306
307 ; Function Attrs: nounwind
308 define i32 @dfg_parse() #0 {
309 entry:
310   %yyssa = alloca [200 x i16], align 2
311   %yyvsa = alloca [200 x %union.yystype], align 4
312   %yyval = alloca %union.yystype, align 4
313   %0 = bitcast [200 x i16]* %yyssa to i8*
314   call void @llvm.lifetime.start(i64 400, i8* %0) #1
315   %arraydecay = getelementptr inbounds [200 x i16]* %yyssa, i32 0, i32 0
316   %1 = bitcast [200 x %union.yystype]* %yyvsa to i8*
317   call void @llvm.lifetime.start(i64 800, i8* %1) #1
318   %arraydecay1 = getelementptr inbounds [200 x %union.yystype]* %yyvsa, i32 0, i32 0
319   store i32 0, i32* @dfg_nerrs, align 4
320   store i32 -2, i32* @dfg_char, align 4
321   %2 = getelementptr inbounds %union.yystype* %yyval, i32 0, i32 0
322   %3 = load i32* @symbol_TYPEMASK, align 4
323   %4 = load i32* @symbol_TYPESTATBITS, align 4
324   br label %yysetstate
325
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
331   br label %yysetstate
332
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
346
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
355
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
380
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
392
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
397
398 if.then58:                                        ; preds = %if.end55
399   %call = call i32 @dfg_lex() #1
400   store i32 %call, i32* @dfg_char, align 4
401   br label %if.end59
402
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
407
408 if.then62:                                        ; preds = %if.end59
409   store i32 0, i32* @dfg_char, align 4
410   br label %if.end67
411
412 if.else:                                          ; preds = %if.end59
413   %cmp63 = icmp ult i32 %13, 319
414   br i1 %cmp63, label %cond.true, label %if.end67
415
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
420   br label %if.end67
421
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
428
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
435
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
442
443 if.end92:                                         ; preds = %if.end79
444   %cmp93 = icmp eq i32 %add68, 35
445   br i1 %cmp93, label %yyreturn, label %if.end96
446
447 if.end96:                                         ; preds = %if.end92
448   %cmp97 = icmp eq i32 %15, 0
449   br i1 %cmp97, label %if.end100, label %if.then99
450
451 if.then99:                                        ; preds = %if.end96
452   store i32 -2, i32* @dfg_char, align 4
453   br label %if.end100
454
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
460   br label %yynewstate
461
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
468
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 [
478     i32 2, label %sw.bb
479     i32 4, label %sw.bb116
480     i32 5, label %sw.bb119
481     i32 6, label %sw.bb122
482     i32 7, label %sw.bb124
483     i32 9, label %sw.bb127
484     i32 11, label %sw.bb130
485     i32 13, label %sw.bb133
486     i32 14, label %sw.bb136
487     i32 15, label %sw.bb138
488     i32 16, label %sw.bb140
489     i32 24, label %sw.bb142
490     i32 25, label %sw.bb145
491     i32 30, label %sw.bb149
492     i32 31, label %sw.bb152
493     i32 34, label %sw.bb157
494     i32 35, label %sw.bb160
495     i32 40, label %sw.bb163
496     i32 41, label %sw.bb166
497     i32 46, label %sw.bb171
498     i32 47, label %sw.bb174
499     i32 48, label %sw.bb179
500     i32 49, label %sw.bb181
501     i32 55, label %sw.bb185
502     i32 56, label %sw.bb190
503     i32 57, label %sw.bb195
504     i32 58, label %sw.bb198
505     i32 59, label %sw.bb199
506     i32 60, label %sw.bb200
507     i32 61, label %sw.bb210
508     i32 62, label %sw.bb217
509     i32 63, label %sw.bb219
510     i32 64, label %sw.bb221
511     i32 65, label %sw.bb226
512     i32 66, label %sw.bb233
513     i32 67, label %sw.bb236
514     i32 68, label %sw.bb239
515     i32 69, label %sw.bb255
516     i32 70, label %sw.bb257
517     i32 73, label %sw.bb259
518     i32 74, label %sw.bb262
519     i32 75, label %sw.bb290
520     i32 76, label %sw.bb292
521     i32 77, label %sw.bb296
522     i32 78, label %sw.bb300
523     i32 79, label %sw.bb312
524     i32 80, label %sw.bb327
525     i32 81, label %sw.bb339
526     i32 82, label %sw.bb340
527     i32 83, label %sw.bb341
528     i32 84, label %sw.bb355
529     i32 85, label %sw.bb357
530     i32 86, label %sw.bb361
531     i32 87, label %sw.bb372
532     i32 88, label %sw.bb387
533     i32 89, label %sw.bb390
534     i32 90, label %sw.bb393
535     i32 91, label %sw.bb396
536     i32 92, label %sw.bb399
537     i32 93, label %sw.bb402
538     i32 94, label %sw.bb405
539     i32 95, label %sw.bb408
540     i32 96, label %sw.bb419
541     i32 97, label %sw.bb429
542     i32 98, label %sw.bb437
543     i32 99, label %sw.bb445
544     i32 100, label %sw.bb453
545     i32 101, label %sw.bb464
546     i32 102, label %sw.bb479
547     i32 103, label %sw.bb494
548     i32 106, label %sw.bb519
549     i32 107, label %sw.bb535
550     i32 108, label %sw.bb536
551     i32 109, label %sw.bb538
552     i32 110, label %sw.bb541
553     i32 111, label %sw.bb570
554     i32 112, label %sw.bb572
555     i32 113, label %sw.bb576
556     i32 114, label %sw.bb580
557     i32 115, label %sw.bb581
558     i32 116, label %sw.bb582
559     i32 117, label %sw.bb595
560     i32 118, label %sw.bb606
561     i32 119, label %sw.bb617
562     i32 120, label %sw.bb632
563     i32 121, label %sw.bb636
564     i32 122, label %sw.bb650
565     i32 123, label %sw.bb655
566     i32 124, label %sw.bb663
567     i32 125, label %sw.bb674
568     i32 126, label %sw.bb684
569     i32 127, label %sw.bb694
570     i32 128, label %sw.bb709
571     i32 136, label %sw.bb721
572     i32 137, label %sw.bb732
573     i32 138, label %sw.bb744
574     i32 139, label %sw.bb755
575     i32 142, label %sw.bb770
576     i32 143, label %sw.bb777
577     i32 145, label %sw.bb787
578     i32 146, label %sw.bb851
579     i32 147, label %sw.bb867
580     i32 148, label %sw.bb887
581     i32 149, label %sw.bb889
582     i32 150, label %sw.bb893
583     i32 151, label %sw.bb934
584     i32 152, label %sw.bb977
585     i32 153, label %sw.bb978
586     i32 154, label %sw.bb998
587     i32 155, label %sw.bb1002
588     i32 156, label %sw.bb1004
589     i32 157, label %sw.bb1006
590     i32 158, label %sw.bb1008
591     i32 159, label %sw.bb1010
592     i32 160, label %sw.bb1012
593     i32 161, label %sw.bb1014
594     i32 162, label %sw.bb1016
595     i32 163, label %sw.bb1018
596     i32 164, label %sw.bb1020
597     i32 165, label %sw.bb1022
598     i32 166, label %sw.bb1024
599     i32 167, label %sw.bb1028
600     i32 170, label %sw.bb1030
601     i32 171, label %sw.bb1031
602     i32 173, label %sw.bb1032
603     i32 177, label %sw.bb1037
604     i32 178, label %sw.bb1046
605     i32 179, label %sw.bb1047
606     i32 184, label %for.cond.preheader
607     i32 185, label %sw.bb1084
608     i32 188, label %sw.bb1099
609     i32 189, label %sw.bb1114
610     i32 190, label %sw.bb1138
611     i32 191, label %sw.bb1140
612     i32 194, label %sw.bb1184
613     i32 195, label %sw.bb1187
614     i32 196, label %sw.bb1192
615   ]
616
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
623
624 for.body.lr.ph:                                   ; preds = %for.cond.preheader
625   %26 = getelementptr inbounds %union.yystype* %arrayidx1052, i32 0, i32 0
626   br label %for.body
627
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
633   br label %yyreturn
634
635 sw.bb116:
636   %arrayidx117 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
637   %string118 = bitcast %union.yystype* %arrayidx117 to i8**
638   %28 = load i8** %string118, align 4
639   store i8* %28, i8** @dfg_DESC.0, align 4
640   br label %sw.epilog1200
641
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
648
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
654
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
661
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
668
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
675
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
682
683 sw.bb136:                                         ; preds = %yyreduce
684   store i32 0, i32* %2, align 4
685   br label %sw.epilog1200
686
687 sw.bb138:                                         ; preds = %yyreduce
688   store i32 1, i32* %2, align 4
689   br label %sw.epilog1200
690
691 sw.bb140:                                         ; preds = %yyreduce
692   store i32 2, i32* %2, align 4
693   br label %sw.epilog1200
694
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
700
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
709
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
715
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
724
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
730
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
736
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
742
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
751
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
757
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
766
767 sw.bb179:                                         ; preds = %yyreduce
768   store i32 -1, i32* %2, align 4
769   br label %sw.epilog1200
770
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
776
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
788
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
794
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
801   unreachable
802
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
806
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
812
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
819   unreachable
820
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
900
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
904
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
911
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
915
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
920
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
942
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
946
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
953
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
957
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
962
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
969
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
982
983 sw.bb199:                                         ; preds = %yyreduce
984   store i1 false, i1* @dfg_VARDECL, align 1
985   br label %sw.epilog1200
986
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
1013
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
1023   unreachable
1024
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
1052
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
1056
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
1063
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
1067
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
1072
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
1085
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
1091
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
1098   unreachable
1099
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
1110
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
1120
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
1127
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
1136
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
1143
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
1164
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
1170
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
1179
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
1189
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
1193
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
1196
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
1204
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
1208
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
1214
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
1239
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
1247
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
1256   unreachable
1257
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
1261
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
1267
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
1274   unreachable
1275
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
1293
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
1301
1302 sw.bb217:                                         ; preds = %yyreduce
1303   store i32 0, i32* %2, align 4
1304   br label %sw.epilog1200
1305
1306 sw.bb219:                                         ; preds = %yyreduce
1307   store i32 1, i32* %2, align 4
1308   br label %sw.epilog1200
1309
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
1322
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
1338
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
1344
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
1350
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
1360
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
1366
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
1370
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
1377
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
1381
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
1386
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
1392
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
1396
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
1403
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
1407
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
1412
1413 sw.bb255:                                         ; preds = %yyreduce
1414   store i32 1, i32* %2, align 4
1415   br label %sw.epilog1200
1416
1417 sw.bb257:                                         ; preds = %yyreduce
1418   store i32 0, i32* %2, align 4
1419   br label %sw.epilog1200
1420
1421 sw.bb259:                                         ; preds = %yyreduce
1422   store i32 0, i32* %2, align 4
1423   br label %sw.epilog1200
1424
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
1434
1435 if.then267:                                       ; preds = %sw.bb262
1436   %cmp270 = icmp eq i8* %169, null
1437   br i1 %cmp270, label %if.end275, label %if.then272
1438
1439 if.then272:                                       ; preds = %if.then267
1440   call void @string_StringFree(i8* %169) #1
1441   br label %if.end275
1442
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
1448   br label %if.end289
1449
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
1468   br label %if.end289
1469
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
1476
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
1486   unreachable
1487
1488 dfg_VarCheck.exit1847:                            ; preds = %if.end289
1489   store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
1490   br label %sw.epilog1200
1491
1492 sw.bb290:                                         ; preds = %yyreduce
1493   store i32 0, i32* %2, align 4
1494   br label %sw.epilog1200
1495
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
1502
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
1509
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
1514
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
1531
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
1536
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
1541
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
1570
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
1575
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
1580
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
1590
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
1595
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
1608
1609 sw.bb340:                                         ; preds = %yyreduce
1610   store i1 false, i1* @dfg_VARDECL, align 1
1611   br label %sw.epilog1200
1612
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
1640
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
1653
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
1658
1659 sw.bb355:                                         ; preds = %yyreduce
1660   store i32 0, i32* %2, align 4
1661   br label %sw.epilog1200
1662
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
1669
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
1674
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
1687
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
1692
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
1700
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
1714
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
1718
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
1725
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
1729
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
1735
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
1740
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
1745
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
1750
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
1755
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
1760
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
1765
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
1770
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
1777
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
1782
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
1787
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
1792
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
1799
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
1804
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
1809
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
1814
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
1819
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
1824
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
1829
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
1834
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
1839
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
1844
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
1849
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
1854
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
1867
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
1872
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
1880
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
1894
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
1898
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
1905
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
1909
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
1915
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
1920
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
1927
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()
1934   unreachable
1935
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
1941
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
1946
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
1954
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
1960
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()
1967   unreachable
1968
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
1976
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()
1983   unreachable
1984
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
1999
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
2009
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
2015
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
2019
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
2026
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
2030
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
2035
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
2041
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
2045
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
2052
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
2056
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
2061
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
2072
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
2082
2083 sw.bb538:                                         ; preds = %yyreduce
2084   store i32 0, i32* %2, align 4
2085   br label %sw.epilog1200
2086
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
2096
2097 if.then547:                                       ; preds = %sw.bb541
2098   %cmp550 = icmp eq i8* %279, null
2099   br i1 %cmp550, label %if.end555, label %if.then552
2100
2101 if.then552:                                       ; preds = %if.then547
2102   call void @string_StringFree(i8* %279) #1
2103   br label %if.end555
2104
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
2110   br label %if.end569
2111
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
2130   br label %if.end569
2131
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
2138
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
2148   unreachable
2149
2150 dfg_VarCheck.exit1946:                            ; preds = %if.end569
2151   store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
2152   br label %sw.epilog1200
2153
2154 sw.bb570:                                         ; preds = %yyreduce
2155   store i32 0, i32* %2, align 4
2156   br label %sw.epilog1200
2157
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
2164
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
2171
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
2184
2185 sw.bb581:                                         ; preds = %yyreduce
2186   store i1 false, i1* @dfg_VARDECL, align 1
2187   br label %sw.epilog1200
2188
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
2216
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
2228
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
2233
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
2238
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
2247
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
2252
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
2257
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
2270
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
2275
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
2283
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
2297
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
2301
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
2308
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
2312
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
2318
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
2325
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
2330
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
2336
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
2352
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
2358
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
2372
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
2389
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
2393
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
2400
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
2404
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
2410
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
2415
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
2423
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
2429
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
2436   unreachable
2437
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
2442
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
2447
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
2452
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
2458
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
2463
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
2468
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
2474
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
2479
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
2484
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
2512
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
2517
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
2522
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
2534
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
2540
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
2547   unreachable
2548
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
2553
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
2558
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
2563
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
2571
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
2575
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
2581
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
2588   unreachable
2589
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
2594
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
2599
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
2604
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
2616
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
2620
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
2626
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
2633   unreachable
2634
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
2639
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
2644
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
2649
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
2662
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
2667
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
2675
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
2689
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
2693
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
2700
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
2704
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
2710
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
2718
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
2729
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
2737
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
2747   br label %if.end784
2748
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
2753
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
2761
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
2765
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
2772
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
2779
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
2839   br label %if.end850
2840
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
2844
2845 if.then828:                                       ; preds = %land.lhs.true793, %if.else823
2846   call void @string_StringFree(i8* %391) #1
2847   br label %if.end831
2848
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
2855
2856 if.then836:                                       ; preds = %if.end831
2857   call void @term_Delete(%struct.term* %416) #1
2858   br label %if.end839
2859
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
2866
2867 if.then844:                                       ; preds = %if.end839
2868   call void @string_StringFree(i8* %417) #1
2869   br label %if.end847
2870
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
2876   br label %if.end850
2877
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
2882
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
2892   unreachable
2893
2894 dfg_VarCheck.exit2098:                            ; preds = %if.end850
2895   store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
2896   br label %sw.epilog1200
2897
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
2902
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
2908
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
2918
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
2923
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
2928
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
2934
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
2940
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
2954
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
2958
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
2965
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
2969
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
2975
2976 sw.bb887:                                         ; preds = %yyreduce
2977   store i32 0, i32* %2, align 4
2978   br label %sw.epilog1200
2979
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
2985
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
2992
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
2997
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
3003
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
3008
3009 if.then910:                                       ; preds = %land.lhs.true905
3010   %call914 = call i32 @string_StringToInt(i8* %436, i32 1, i32* %2) #1
3011   br label %if.end917
3012
3013 if.else915:                                       ; preds = %sw.bb893, %land.lhs.true905, %land.lhs.true900, %land.lhs.true895
3014   store i32 0, i32* %2, align 4
3015   br label %if.end917
3016
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
3021
3022 if.then922:                                       ; preds = %if.end917
3023   call void @string_StringFree(i8* %437) #1
3024   br label %if.end925
3025
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
3031
3032 if.then930:                                       ; preds = %if.end925
3033   call void @string_StringFree(i8* %438) #1
3034   br label %sw.epilog1200
3035
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
3042
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
3047
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
3053
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
3058
3059 if.then951:                                       ; preds = %land.lhs.true946
3060   %call955 = call i32 @string_StringToInt(i8* %441, i32 1, i32* %2) #1
3061   br label %if.end960
3062
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
3067   br label %if.end960
3068
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
3073
3074 if.then965:                                       ; preds = %if.end960
3075   call void @string_StringFree(i8* %443) #1
3076   br label %if.end968
3077
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
3083
3084 if.then973:                                       ; preds = %if.end968
3085   call void @string_StringFree(i8* %444) #1
3086   br label %sw.epilog1200
3087
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
3098
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
3114
3115 if.then983:                                       ; preds = %sw.bb978
3116   %cmp986 = icmp eq i8* %452, null
3117   br i1 %cmp986, label %if.end991, label %if.then988
3118
3119 if.then988:                                       ; preds = %if.then983
3120   call void @string_StringFree(i8* %452) #1
3121   br label %if.end991
3122
3123 if.end991:                                        ; preds = %if.then983, %if.then988
3124   store i32 0, i32* %2, align 4
3125   br label %sw.epilog1200
3126
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
3131
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
3138
3139 sw.bb1002:                                        ; preds = %yyreduce
3140   store i32 0, i32* %2, align 4
3141   br label %sw.epilog1200
3142
3143 sw.bb1004:                                        ; preds = %yyreduce
3144   store i32 0, i32* %2, align 4
3145   br label %sw.epilog1200
3146
3147 sw.bb1006:                                        ; preds = %yyreduce
3148   store i32 0, i32* %2, align 4
3149   br label %sw.epilog1200
3150
3151 sw.bb1008:                                        ; preds = %yyreduce
3152   store i32 0, i32* %2, align 4
3153   br label %sw.epilog1200
3154
3155 sw.bb1010:                                        ; preds = %yyreduce
3156   store i32 0, i32* %2, align 4
3157   br label %sw.epilog1200
3158
3159 sw.bb1012:                                        ; preds = %yyreduce
3160   store i32 0, i32* %2, align 4
3161   br label %sw.epilog1200
3162
3163 sw.bb1014:                                        ; preds = %yyreduce
3164   store i32 0, i32* %2, align 4
3165   br label %sw.epilog1200
3166
3167 sw.bb1016:                                        ; preds = %yyreduce
3168   store i32 0, i32* %2, align 4
3169   br label %sw.epilog1200
3170
3171 sw.bb1018:                                        ; preds = %yyreduce
3172   store i32 0, i32* %2, align 4
3173   br label %sw.epilog1200
3174
3175 sw.bb1020:                                        ; preds = %yyreduce
3176   store i32 1, i32* %2, align 4
3177   br label %sw.epilog1200
3178
3179 sw.bb1022:                                        ; preds = %yyreduce
3180   store i32 1, i32* %2, align 4
3181   br label %sw.epilog1200
3182
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
3189
3190 sw.bb1028:                                        ; preds = %yyreduce
3191   store i32 0, i32* %2, align 4
3192   br label %sw.epilog1200
3193
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
3206
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
3234
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
3244   unreachable
3245
3246 dfg_VarCheck.exit2143:                            ; preds = %sw.bb1031
3247   store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
3248   br label %sw.epilog1200
3249
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
3265
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
3269
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
3276
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
3280
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
3285
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
3292
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
3297
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
3302
3303 sw.bb1046:                                        ; preds = %yyreduce
3304   store i32 1, i32* @dfg_IGNORETEXT, align 4
3305   br label %sw.epilog1200
3306
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
3312
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
3320
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()
3330   unreachable
3331
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
3335
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
3341
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()
3351   unreachable
3352
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
3387
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
3395
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()
3402   unreachable
3403
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
3413
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
3420   unreachable
3421
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
3426
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
3433   unreachable
3434
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
3439
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
3446
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()
3454   unreachable
3455
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
3476
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
3484
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()
3492   unreachable
3493
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
3524
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
3534
3535 sw.bb1138:                                        ; preds = %yyreduce
3536   store i32 0, i32* %2, align 4
3537   br label %sw.epilog1200
3538
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
3546
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
3553   ]
3554
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()
3562   unreachable
3563
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
3569   ]
3570
3571 sw.bb1177:                                        ; preds = %if.end1172
3572   store i32 16, i32* %2, align 4
3573   br label %sw.epilog
3574
3575 sw.bb1179:                                        ; preds = %if.end1172
3576   store i32 8, i32* %2, align 4
3577   br label %sw.epilog
3578
3579 sw.default:                                       ; preds = %if.end1172
3580   store i32 0, i32* %2, align 4
3581   br label %sw.epilog
3582
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
3587
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
3594
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
3607
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
3623
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
3627
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
3634
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
3638
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
3644
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
3664
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
3670
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
3676
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
3682
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
3689
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
3694
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
3700
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
3708
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
3721
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
3730
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
3737
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
3754
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
3767
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
3777
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
3784
3785 if.end1323:                                       ; preds = %for.end1278, %for.inc1320
3786   call void @dfg_error(i8* %556)
3787   unreachable
3788
3789 if.else1329:                                      ; preds = %if.then1232
3790   call void @dfg_error(i8* getelementptr inbounds ([12 x i8]* @.str20, i32 0, i32 0))
3791   unreachable
3792
3793 yyoverflowlab:                                    ; preds = %if.then
3794   call void @dfg_error(i8* getelementptr inbounds ([22 x i8]* @.str21, i32 0, i32 0))
3795   unreachable
3796
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
3801   ret i32 %yyresult.0
3802 }
3803
3804 ; Function Attrs: nounwind
3805 declare void @llvm.lifetime.start(i64, i8* nocapture) #1
3806
3807 ; Function Attrs: nounwind
3808 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) #1
3809
3810 declare i32 @dfg_lex() #2
3811
3812 declare void @string_StringFree(i8*) #2
3813
3814 ; cmp16:        .ent    dfg_parse
3815 ; cmp16:        .end    dfg_parse 
3816
3817 ; Function Attrs: nounwind
3818 define internal fastcc void @dfg_SymbolDecl(i32 %SymbolType, i8* %Name, i32 %Arity) #0 {
3819 entry:
3820   switch i32 %Arity, label %sw.default [
3821     i32 -2, label %sw.epilog
3822     i32 -1, label %sw.bb1
3823   ]
3824
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()
3831   unreachable
3832
3833 sw.default:                                       ; preds = %entry
3834   br label %sw.epilog
3835
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
3841
3842 if.then:                                          ; preds = %sw.epilog
3843   %arrayidx = getelementptr inbounds i8* %Name, i32 63
3844   store i8 0, i8* %arrayidx, align 1
3845   br label %if.end
3846
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
3851
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
3858   ]
3859
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
3863
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
3870
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
3874
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
3881
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
3886   ]
3887
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
3891
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
3898
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
3912   ]
3913
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
3917
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
3921
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
3925
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
3929
3930 sw.epilog26:                                      ; preds = %sw.default25, %sw.bb24, %sw.bb23, %sw.bb22
3931   tail call fastcc void @misc_Error()
3932   unreachable
3933
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
3937
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
3949
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()
3961   unreachable
3962
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
3967   ]
3968
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
3973
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
3978
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
3983
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
3988
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
4008   br label %if.end46
4009
4010 if.end46:                                         ; preds = %land.lhs.true29, %if.end27, %sw.epilog42, %if.then44
4011   br i1 %cmp, label %if.then48, label %if.end50
4012
4013 if.then48:                                        ; preds = %if.end46
4014   %arrayidx49 = getelementptr inbounds i8* %Name, i32 63
4015   store i8 32, i8* %arrayidx49, align 1
4016   br label %if.end50
4017
4018 if.end50:                                         ; preds = %if.then48, %if.end46
4019   tail call void @string_StringFree(i8* %Name) #1
4020   ret void
4021 }
4022
4023 ; Function Attrs: nounwind
4024 define %struct.term* @dfg_CreateQuantifier(i32 %Symbol, %struct.LIST_HELP* %VarTermList, %struct.term* %Term) #0 {
4025 entry:
4026   %cmp.i240 = icmp eq %struct.LIST_HELP* %VarTermList, null
4027   br i1 %cmp.i240, label %for.end, label %for.body
4028
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
4040
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
4052
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
4056
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
4063
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
4067
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
4071   br label %for.inc
4072
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
4091
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
4095
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
4102
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
4106
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
4118
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
4122
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
4129
4130 for.end.i216:                                     ; preds = %for.cond.i215
4131   store %struct.LIST_HELP* %8, %struct.LIST_HELP** %List1.addr.0.idx15.i212, align 4
4132   br label %for.inc
4133
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
4155
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
4162
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
4175
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
4179
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
4184
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
4191
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
4211
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
4217
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
4224
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
4228
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
4231   br label %if.end90
4232
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
4238
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
4251   br label %if.end90
4252
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
4274   br label %if.end90
4275
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
4280
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
4287
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
4293
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
4300
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
4304
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
4307   br label %if.end90
4308
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
4320
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
4327
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
4331
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
4335   br label %if.end90
4336
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
4349 }
4350
4351 ; Function Attrs: nounwind
4352 define internal fastcc i32 @dfg_Symbol(i8* %Name, i32 %Arity) #0 {
4353 entry:
4354   %call = tail call i32 @strlen(i8* %Name) #6
4355   %cmp = icmp ugt i32 %call, 63
4356   br i1 %cmp, label %if.then4, label %if.end
4357
4358 if.end:                                           ; preds = %entry
4359   %call2 = tail call i32 @symbol_Lookup(i8* %Name) #1
4360   br label %if.end6
4361
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
4368   br label %if.end6
4369
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
4374
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
4380
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
4386
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
4395
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
4404
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
4409
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
4428   unreachable
4429
4430 if.else.i:                                        ; preds = %if.then.i
4431   store i32 %Arity, i32* %4, align 4
4432   store i32 1, i32* %2, align 4
4433   br label %if.end14
4434
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
4446
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
4460   unreachable
4461
4462 if.else:                                          ; preds = %if.end6
4463   %cmp9 = icmp eq i32 %Arity, 0
4464   br i1 %cmp9, label %if.end12, label %if.then10
4465
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()
4472   unreachable
4473
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
4478
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
4486
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
4496
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
4502
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
4511
4512 while.end18.i:                                    ; preds = %while.end.i31
4513   br i1 %cmp.i53.i, label %if.else.i33, label %if.then.i32
4514
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
4520
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
4524
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
4547
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
4554   unreachable
4555
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
4561   br label %if.end14
4562
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 ]
4565   ret i32 %symbol.0
4566 }
4567
4568 declare %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP*) #2
4569
4570 declare %struct.term* @term_Create(i32, %struct.LIST_HELP*) #2
4571
4572 declare i8* @string_IntToString(i32) #2
4573
4574 declare i8* @string_StringCopy(i8*) #2
4575
4576 ; Function Attrs: nounwind
4577 declare i32 @fflush(%struct._IO_FILE* nocapture) #0
4578
4579 declare void @misc_UserErrorReport(i8*, ...) #2
4580
4581 ; Function Attrs: inlinehint noreturn nounwind
4582 define internal fastcc void @misc_Error() #3 {
4583 entry:
4584   %0 = load %struct._IO_FILE** @stderr, align 4
4585   %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
4586   %1 = load %struct._IO_FILE** @stdout, align 4
4587   %call1 = tail call i32 @fflush(%struct._IO_FILE* %1) #1
4588   %2 = load %struct._IO_FILE** @stderr, align 4
4589   %call2 = tail call i32 @fflush(%struct._IO_FILE* %2) #1
4590   tail call void @exit(i32 1) #7
4591   unreachable
4592 }
4593
4594 declare i32 @clause_GetOriginFromString(i8*) #2
4595
4596 declare void @term_Delete(%struct.term*) #2
4597
4598 declare i32 @string_StringToInt(i8*, i32, i32*) #2
4599
4600 declare i32 @symbol_Lookup(i8*) #2
4601
4602 declare i32 @flag_Id(i8*) #2
4603
4604 ; Function Attrs: nounwind readonly
4605 declare i32 @strlen(i8* nocapture) #4
4606
4607 ; Function Attrs: nounwind
4608 declare i8* @stpcpy(i8*, i8* nocapture) #0
4609
4610 ; Function Attrs: noreturn nounwind
4611 define void @dfg_error(i8* %s) #5 {
4612 entry:
4613   %0 = load %struct._IO_FILE** @stdout, align 4
4614   %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
4615   %1 = load i32* @dfg_LINENUMBER, align 4
4616   tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([15 x i8]* @.str22, i32 0, i32 0), i32 %1, i8* %s) #1
4617   tail call fastcc void @misc_Error()
4618   unreachable
4619 }
4620
4621 ; Function Attrs: nounwind
4622 declare void @llvm.lifetime.end(i64, i8* nocapture) #1
4623
4624 ; Function Attrs: nounwind
4625 define void @dfg_Free() #0 {
4626 entry:
4627   %0 = load i8** @dfg_DESC.0, align 4
4628   %cmp = icmp eq i8* %0, null
4629   br i1 %cmp, label %if.end, label %if.then
4630
4631 if.then:                                          ; preds = %entry
4632   tail call void @string_StringFree(i8* %0) #1
4633   br label %if.end
4634
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
4639
4640 if.then2:                                         ; preds = %if.end
4641   tail call void @string_StringFree(i8* %1) #1
4642   br label %if.end3
4643
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
4648
4649 if.then5:                                         ; preds = %if.end3
4650   tail call void @string_StringFree(i8* %2) #1
4651   br label %if.end6
4652
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
4657
4658 if.then8:                                         ; preds = %if.end6
4659   tail call void @string_StringFree(i8* %3) #1
4660   br label %if.end9
4661
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
4666
4667 if.then11:                                        ; preds = %if.end9
4668   tail call void @string_StringFree(i8* %4) #1
4669   br label %if.end12
4670
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
4675
4676 if.then14:                                        ; preds = %if.end12
4677   tail call void @string_StringFree(i8* %5) #1
4678   br label %if.end15
4679
4680 if.end15:                                         ; preds = %if.end12, %if.then14
4681   ret void
4682 }
4683
4684 ; Function Attrs: nounwind readonly
4685 define i8* @dfg_ProblemName() #4 {
4686 entry:
4687   %0 = load i8** @dfg_DESC.0, align 4
4688   ret i8* %0
4689 }
4690
4691 ; Function Attrs: nounwind readonly
4692 define i8* @dfg_ProblemAuthor() #4 {
4693 entry:
4694   %0 = load i8** @dfg_DESC.1, align 4
4695   ret i8* %0
4696 }
4697
4698 ; Function Attrs: nounwind readonly
4699 define i8* @dfg_ProblemVersion() #4 {
4700 entry:
4701   %0 = load i8** @dfg_DESC.2, align 4
4702   ret i8* %0
4703 }
4704
4705 ; Function Attrs: nounwind readonly
4706 define i8* @dfg_ProblemLogic() #4 {
4707 entry:
4708   %0 = load i8** @dfg_DESC.3, align 4
4709   ret i8* %0
4710 }
4711
4712 ; Function Attrs: nounwind readonly
4713 define i32 @dfg_ProblemStatus() #4 {
4714 entry:
4715   %0 = load i32* @dfg_DESC.4, align 4
4716   ret i32 %0
4717 }
4718
4719 ; Function Attrs: nounwind
4720 define i8* @dfg_ProblemStatusString() #0 {
4721 entry:
4722   %0 = load i32* @dfg_DESC.4, align 4
4723   switch i32 %0, label %sw.default [
4724     i32 0, label %sw.epilog
4725     i32 1, label %sw.bb1
4726     i32 2, label %sw.bb2
4727   ]
4728
4729 sw.bb1:                                           ; preds = %entry
4730   br label %sw.epilog
4731
4732 sw.bb2:                                           ; preds = %entry
4733   br label %sw.epilog
4734
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()
4744   unreachable
4745
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 ]
4748   ret i8* %result.0
4749 }
4750
4751 ; Function Attrs: nounwind
4752 declare i32 @fprintf(%struct._IO_FILE* nocapture, i8* nocapture, ...) #0
4753
4754 declare void @misc_ErrorReport(i8*, ...) #2
4755
4756 ; Function Attrs: nounwind
4757 declare i32 @fputs(i8* nocapture, %struct._IO_FILE* nocapture) #0
4758
4759 ; Function Attrs: inlinehint noreturn nounwind
4760 define internal fastcc void @misc_DumpCore() #3 {
4761 entry:
4762   %0 = load %struct._IO_FILE** @stderr, align 4
4763   %1 = tail call i32 @fwrite(i8* getelementptr inbounds ([3 x i8]* @.str59, i32 0, i32 0), i32 2, i32 1, %struct._IO_FILE* %0)
4764   %2 = load %struct._IO_FILE** @stderr, align 4
4765   %call1 = tail call i32 @fflush(%struct._IO_FILE* %2) #1
4766   %3 = load %struct._IO_FILE** @stdout, align 4
4767   %call2 = tail call i32 @fflush(%struct._IO_FILE* %3) #1
4768   %4 = load %struct._IO_FILE** @stderr, align 4
4769   %call3 = tail call i32 @fflush(%struct._IO_FILE* %4) #1
4770   tail call void @abort() #7
4771   unreachable
4772 }
4773
4774 ; Function Attrs: nounwind readonly
4775 define i8* @dfg_ProblemDescription() #4 {
4776 entry:
4777   %0 = load i8** @dfg_DESC.5, align 4
4778   ret i8* %0
4779 }
4780
4781 ; Function Attrs: nounwind readonly
4782 define i8* @dfg_ProblemDate() #4 {
4783 entry:
4784   %0 = load i8** @dfg_DESC.6, align 4
4785   ret i8* %0
4786 }
4787
4788 ; Function Attrs: nounwind
4789 define void @dfg_FPrintDescription(%struct._IO_FILE* %File) #0 {
4790 entry:
4791   %0 = tail call i32 @fwrite(i8* getelementptr inbounds ([30 x i8]* @.str31, i32 0, i32 0), i32 29, i32 1, %struct._IO_FILE* %File)
4792   %1 = load i8** @dfg_DESC.0, align 4
4793   %cmp = icmp eq i8* %1, null
4794   br i1 %cmp, label %if.else, label %if.then
4795
4796 if.then:                                          ; preds = %entry
4797   %call1 = tail call i32 @fputs(i8* %1, %struct._IO_FILE* %File) #1
4798   br label %if.end
4799
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)
4802   br label %if.end
4803
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
4809
4810 if.then5:                                         ; preds = %if.end
4811   %call6 = tail call i32 @fputs(i8* %4, %struct._IO_FILE* %File) #1
4812   br label %if.end9
4813
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)
4816   br label %if.end9
4817
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
4823
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)
4829   br label %if.end16
4830
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
4835
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)
4841   br label %if.end22
4842
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
4850   ]
4851
4852 sw.bb1.i:                                         ; preds = %if.end22
4853   br label %dfg_ProblemStatusString.exit
4854
4855 sw.bb2.i:                                         ; preds = %if.end22
4856   br label %dfg_ProblemStatusString.exit
4857
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
4867   unreachable
4868
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
4876
4877 if.then28:                                        ; preds = %dfg_ProblemStatusString.exit
4878   %call29 = tail call i32 @fputs(i8* %22, %struct._IO_FILE* %File) #1
4879   br label %if.end32
4880
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)
4883   br label %if.end32
4884
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
4890
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)
4896   br label %if.end39
4897
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)
4900   ret void
4901 }
4902
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 {
4905 entry:
4906   store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
4907   store i32 1, i32* @dfg_LINENUMBER, align 4
4908   store i32 1, i32* @dfg_IGNORETEXT, align 4
4909   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
4910   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
4911   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
4912   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
4913   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
4914   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
4915   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
4916   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
4917   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4918   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
4919   store i1 false, i1* @dfg_VARDECL, align 1
4920   store i32 0, i32* @dfg_IGNORE, align 4
4921   store i32* %Flags, i32** @dfg_FLAGS, align 4
4922   store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
4923   store i8* null, i8** @dfg_DESC.0, align 4
4924   store i8* null, i8** @dfg_DESC.1, align 4
4925   store i8* null, i8** @dfg_DESC.2, align 4
4926   store i8* null, i8** @dfg_DESC.3, align 4
4927   store i32 2, i32* @dfg_DESC.4, align 4
4928   store i8* null, i8** @dfg_DESC.5, align 4
4929   store i8* null, i8** @dfg_DESC.6, align 4
4930   %call1 = tail call i32 @dfg_parse()
4931   %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
4932   %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
4933   br i1 %cmp.i13.i, label %for.cond.preheader, label %while.body.lr.ph.i
4934
4935 while.body.lr.ph.i:                               ; preds = %entry
4936   %1 = load i32* @symbol_TYPESTATBITS, align 4
4937   br label %while.body.i
4938
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
4957
4958 if.then.i:                                        ; preds = %while.body.i
4959   store i32 %5, i32* %arity.i12.i, align 4
4960   br label %if.end.i109
4961
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
4996
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
5001
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
5017
5018 if.then:                                          ; preds = %for.body
5019   tail call void @string_StringFree(i8* %.idx63.val) #1
5020   br label %if.end
5021
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
5040
5041 for.cond.for.end_crit_edge:                       ; preds = %if.end
5042   %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5043   br label %for.end
5044
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
5052
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
5068
5069 if.then20:                                        ; preds = %for.body14
5070   tail call void @string_StringFree(i8* %.idx61.val) #1
5071   br label %if.end22
5072
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
5091
5092 for.cond10.for.end25_crit_edge:                   ; preds = %if.end22
5093   %.pre130 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5094   br label %for.end25
5095
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
5108
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
5112
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
5119
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
5123
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
5130
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
5134
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
5141
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
5145
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
5153
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
5157
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
5164
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
5168
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
5176
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
5180
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
5187
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
5191
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
5201
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
5205
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
5212
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
5216
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
5221 }
5222
5223 ; Function Attrs: nounwind
5224 define %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %Clause, i32 %IsAxiom, i32* %Flags, i32* %Precedence) #0 {
5225 entry:
5226   %Clause.idx = getelementptr %struct.term* %Clause, i32 0, i32 0
5227   %Clause.idx.val = load i32* %Clause.idx, align 4
5228   %0 = load i32* @fol_ALL, align 4
5229   %cmp = icmp eq i32 %Clause.idx.val, %0
5230   %Clause.idx66 = getelementptr %struct.term* %Clause, i32 0, i32 2
5231   %Clause.idx66.val = load %struct.LIST_HELP** %Clause.idx66, align 4
5232   br i1 %cmp, label %if.then, label %if.else
5233
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
5243   br label %if.end
5244
5245 if.else:                                          ; preds = %entry
5246   store %struct.LIST_HELP* null, %struct.LIST_HELP** %Clause.idx66, align 4
5247   br label %if.end
5248
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
5254
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
5258   br label %for.body
5259
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
5269
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
5275
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
5280
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
5284   br label %return
5285
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
5290
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
5294   br label %for.inc
5295
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
5307
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
5311   br label %return
5312
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
5317
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
5321   br label %for.inc
5322
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
5328
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
5336
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
5357
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
5361 }
5362
5363 declare %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP*, i8*) #2
5364
5365 ; Function Attrs: nounwind
5366 define void @dfg_DeleteProofList(%struct.LIST_HELP* %Proof) #0 {
5367 entry:
5368   %cmp.i18 = icmp eq %struct.LIST_HELP* %Proof, null
5369   br i1 %cmp.i18, label %for.end, label %for.body
5370
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
5394
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
5398
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
5419
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
5439
5440 for.end:                                          ; preds = %list_Delete.exit, %entry
5441   ret void
5442 }
5443
5444 ; Function Attrs: nounwind
5445 define %struct.LIST_HELP* @dfg_ProofParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
5446 entry:
5447   store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
5448   store i32 1, i32* @dfg_LINENUMBER, align 4
5449   store i32 1, i32* @dfg_IGNORETEXT, align 4
5450   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
5451   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
5452   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
5453   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
5454   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5455   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5456   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
5457   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
5458   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5459   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
5460   store i1 false, i1* @dfg_VARDECL, align 1
5461   store i32 0, i32* @dfg_IGNORE, align 4
5462   store i32* %Flags, i32** @dfg_FLAGS, align 4
5463   store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
5464   store i8* null, i8** @dfg_DESC.0, align 4
5465   store i8* null, i8** @dfg_DESC.1, align 4
5466   store i8* null, i8** @dfg_DESC.2, align 4
5467   store i8* null, i8** @dfg_DESC.3, align 4
5468   store i32 2, i32* @dfg_DESC.4, align 4
5469   store i8* null, i8** @dfg_DESC.5, align 4
5470   store i8* null, i8** @dfg_DESC.6, align 4
5471   %call1 = tail call i32 @dfg_parse()
5472   %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5473   %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
5474   br i1 %cmp.i13.i, label %dfg_SymCleanUp.exit, label %while.body.lr.ph.i
5475
5476 while.body.lr.ph.i:                               ; preds = %entry
5477   %1 = load i32* @symbol_TYPESTATBITS, align 4
5478   br label %while.body.i
5479
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
5498
5499 if.then.i33:                                      ; preds = %while.body.i
5500   store i32 %5, i32* %arity.i12.i, align 4
5501   br label %if.end.i42
5502
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
5537
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
5543
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
5547
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
5551   br label %for.body
5552
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
5559
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
5563
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
5570
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
5582
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
5600   br label %for.inc
5601
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
5633   br label %for.inc
5634
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
5640
5641 for.cond.for.end_crit_edge:                       ; preds = %for.inc
5642   %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5643   br label %for.end
5644
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
5652
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
5666
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
5670
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
5703
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
5708
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
5722
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
5726
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
5759
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
5764
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
5778
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
5782
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
5815
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
5825
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
5829
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
5836
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
5840
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
5845 }
5846
5847 ; Function Attrs: nounwind
5848 define void @dfg_DeleteFormulaPairList(%struct.LIST_HELP* %FormulaPairs) #0 {
5849 entry:
5850   %cmp.i18 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
5851   br i1 %cmp.i18, label %for.end, label %for.body
5852
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
5866
5867 if.then:                                          ; preds = %for.body
5868   tail call void @string_StringFree(i8* %.idx12.val) #1
5869   br label %if.end
5870
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
5903
5904 for.end:                                          ; preds = %if.end, %entry
5905   ret void
5906 }
5907
5908 ; Function Attrs: nounwind
5909 define %struct.LIST_HELP* @dfg_TermParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
5910 entry:
5911   store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
5912   store i32 1, i32* @dfg_LINENUMBER, align 4
5913   store i32 1, i32* @dfg_IGNORETEXT, align 4
5914   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
5915   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
5916   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
5917   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
5918   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
5919   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
5920   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
5921   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
5922   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5923   store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
5924   store i1 false, i1* @dfg_VARDECL, align 1
5925   store i32 0, i32* @dfg_IGNORE, align 4
5926   store i32* %Flags, i32** @dfg_FLAGS, align 4
5927   store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
5928   store i8* null, i8** @dfg_DESC.0, align 4
5929   store i8* null, i8** @dfg_DESC.1, align 4
5930   store i8* null, i8** @dfg_DESC.2, align 4
5931   store i8* null, i8** @dfg_DESC.3, align 4
5932   store i32 2, i32* @dfg_DESC.4, align 4
5933   store i8* null, i8** @dfg_DESC.5, align 4
5934   store i8* null, i8** @dfg_DESC.6, align 4
5935   %call1 = tail call i32 @dfg_parse()
5936   %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
5937   %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
5938   br i1 %cmp.i13.i, label %dfg_SymCleanUp.exit, label %while.body.lr.ph.i
5939
5940 while.body.lr.ph.i:                               ; preds = %entry
5941   %1 = load i32* @symbol_TYPESTATBITS, align 4
5942   br label %while.body.i
5943
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
5962
5963 if.then.i5:                                       ; preds = %while.body.i
5964   store i32 %5, i32* %arity.i12.i, align 4
5965   br label %if.end.i14
5966
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
6001
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
6006
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
6020
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
6024
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
6057
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
6062
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
6076
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
6080
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
6113
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
6118
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
6132
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
6136
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
6169
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
6174
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
6188
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
6192
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
6225
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
6232
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
6246
6247 if.then.i:                                        ; preds = %for.body.i
6248   tail call void @string_StringFree(i8* %.idx12.val.i) #1
6249   br label %if.end.i
6250
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
6283
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
6287 }
6288
6289 ; Function Attrs: nounwind
6290 define void @dfg_StripLabelsFromList(%struct.LIST_HELP* %FormulaPairs) #0 {
6291 entry:
6292   %cmp.i15 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
6293   br i1 %cmp.i15, label %for.end, label %for.body
6294
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
6308
6309 if.then:                                          ; preds = %for.body
6310   tail call void @string_StringFree(i8* %.idx14.val) #1
6311   br label %if.end
6312
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
6331
6332 for.end:                                          ; preds = %if.end, %entry
6333   ret void
6334 }
6335
6336 declare %struct.LIST_HELP* @list_PointerDeleteDuplicates(%struct.LIST_HELP*) #2
6337
6338 declare %struct.term* @fol_CreateQuantifier(i32, %struct.LIST_HELP*, %struct.LIST_HELP*) #2
6339
6340 declare %struct.CLAUSE_HELP* @clause_CreateFromLiterals(%struct.LIST_HELP*, i32, i32, i32, i32*, i32*) #2
6341
6342 declare void @list_DeleteWithElement(%struct.LIST_HELP*, void (i8*)*) #2
6343
6344 ; Function Attrs: nounwind
6345 define internal void @dfg_VarFree(%struct.DFG_VARENTRY* %Entry) #0 {
6346 entry:
6347   %name = getelementptr inbounds %struct.DFG_VARENTRY* %Entry, i32 0, i32 0
6348   %0 = load i8** %name, align 4
6349   tail call void @string_StringFree(i8* %0) #1
6350   %1 = bitcast %struct.DFG_VARENTRY* %Entry to i8*
6351   %2 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6352   %total_size.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 4
6353   %3 = load i32* %total_size.i, align 4
6354   %4 = load i32* @memory_FREEDBYTES, align 4
6355   %add24.i = add i32 %4, %3
6356   store i32 %add24.i, i32* @memory_FREEDBYTES, align 4
6357   %free.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 0
6358   %5 = load i8** %free.i, align 4
6359   store i8* %5, i8** %name, align 4
6360   %6 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
6361   %free27.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %6, i32 0, i32 0
6362   store i8* %1, i8** %free27.i, align 4
6363   ret void
6364 }
6365
6366 declare %struct.term* @term_Copy(%struct.term*) #2
6367
6368 declare i8* @memory_Malloc(i32) #2
6369
6370 declare i32 @symbol_CreateFunction(i8*, i32, i32, i32*) #2
6371
6372 declare i32 @symbol_CreatePredicate(i8*, i32, i32, i32*) #2
6373
6374 declare i32 @symbol_CreateJunctor(i8*, i32, i32, i32*) #2
6375
6376 ; Function Attrs: noreturn nounwind
6377 declare void @abort() #5
6378
6379 declare i32 @symbol_GetIncreasedOrderingCounter() #2
6380
6381 declare i32 @flag_Minimum(i32) #2
6382
6383 declare i8* @flag_Name(i32) #2
6384
6385 declare i32 @flag_Maximum(i32) #2
6386
6387 ; Function Attrs: nounwind readonly
6388 declare i32 @strcmp(i8* nocapture, i8* nocapture) #4
6389
6390 declare i32 @list_Length(%struct.LIST_HELP*) #2
6391
6392 ; Function Attrs: noreturn nounwind
6393 declare void @exit(i32) #5
6394
6395 ; Function Attrs: nounwind
6396 declare i32 @fwrite(i8* nocapture, i32, i32, %struct._IO_FILE* nocapture) #1
6397
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 }
6406