diff --git a/lib/Target/Mips/Mips16ISelLowering.cpp b/lib/Target/Mips/Mips16ISelLowering.cpp
index b272e30..d8dd88c 100644
--- a/lib/Target/Mips/Mips16ISelLowering.cpp
+++ b/lib/Target/Mips/Mips16ISelLowering.cpp
@@ -131,17 +131,17 @@
     // altogether.
     return emitFEXT_T8I816_ins(Mips::BtnezX16, Mips::SltuRxRy16, MI, BB);
   case Mips::BteqzT8CmpiX16: return emitFEXT_T8I8I16_ins(
-    Mips::BteqzX16, Mips::CmpiRxImm16, Mips::CmpiRxImmX16, MI, BB);
+    Mips::BteqzX16, Mips::CmpiRxImm16, Mips::CmpiRxImmX16, false, MI, BB);
   case Mips::BteqzT8SltiX16: return emitFEXT_T8I8I16_ins(
-    Mips::BteqzX16, Mips::SltiRxImm16, Mips::SltiRxImmX16, MI, BB);
+    Mips::BteqzX16, Mips::SltiRxImm16, Mips::SltiRxImmX16, true, MI, BB);
   case Mips::BteqzT8SltiuX16: return emitFEXT_T8I8I16_ins(
-    Mips::BteqzX16, Mips::SltiuRxImm16, Mips::SltiuRxImmX16, MI, BB);
+    Mips::BteqzX16, Mips::SltiuRxImm16, Mips::SltiuRxImmX16, false, MI, BB);
   case Mips::BtnezT8CmpiX16: return emitFEXT_T8I8I16_ins(
-    Mips::BtnezX16, Mips::CmpiRxImm16, Mips::CmpiRxImmX16, MI, BB);
+    Mips::BtnezX16, Mips::CmpiRxImm16, Mips::CmpiRxImmX16, false, MI, BB);
   case Mips::BtnezT8SltiX16: return emitFEXT_T8I8I16_ins(
-    Mips::BtnezX16, Mips::SltiRxImm16, Mips::SltiRxImmX16, MI, BB);
+    Mips::BtnezX16, Mips::SltiRxImm16, Mips::SltiRxImmX16, true, MI, BB);
   case Mips::BtnezT8SltiuX16: return emitFEXT_T8I8I16_ins(
-    Mips::BtnezX16, Mips::SltiuRxImm16, Mips::SltiuRxImmX16, MI, BB);
+    Mips::BtnezX16, Mips::SltiuRxImm16, Mips::SltiuRxImmX16, false, MI, BB);
     break;
   case Mips::SltCCRxRy16:
     return emitFEXT_CCRX16_ins(Mips::SltRxRy16, MI, BB);
@@ -629,7 +629,7 @@
 }
 
 MachineBasicBlock *Mips16TargetLowering::emitFEXT_T8I8I16_ins(
-  unsigned BtOpc, unsigned CmpiOpc, unsigned CmpiXOpc,
+  unsigned BtOpc, unsigned CmpiOpc, unsigned CmpiXOpc, bool ImmSigned,
   MachineInstr *MI,  MachineBasicBlock *BB) const {
   if (DontExpandCondPseudos16)
     return BB;
@@ -640,7 +640,8 @@
   unsigned CmpOpc;
   if (isUInt<8>(imm))
     CmpOpc = CmpiOpc;
-  else if (isUInt<16>(imm))
+  else if ((!ImmSigned && isUInt<16>(imm)) ||
+           (ImmSigned && isInt<16>(imm)))
     CmpOpc = CmpiXOpc;
   else
     llvm_unreachable("immediate field not usable");
diff --git a/lib/Target/Mips/Mips16ISelLowering.h b/lib/Target/Mips/Mips16ISelLowering.h
index b23e2a1..d3c7028 100644
--- a/lib/Target/Mips/Mips16ISelLowering.h
+++ b/lib/Target/Mips/Mips16ISelLowering.h
@@ -64,7 +64,7 @@
                                            MachineBasicBlock *BB) const;
 
     MachineBasicBlock *emitFEXT_T8I8I16_ins(
-      unsigned BtOpc, unsigned CmpiOpc, unsigned CmpiXOpc,
+      unsigned BtOpc, unsigned CmpiOpc, unsigned CmpiXOpc, bool ImmSigned,
       MachineInstr *MI,  MachineBasicBlock *BB) const;
 
     MachineBasicBlock *emitFEXT_CCRX16_ins(
diff --git a/test/CodeGen/Mips/cmplarge.ll b/test/CodeGen/Mips/cmplarge.ll
new file mode 100644
index 0000000..b16eab1
--- /dev/null
+++ b/test/CodeGen/Mips/cmplarge.ll
@@ -0,0 +1,6406 @@
+; RUN: llc -march=mipsel -mcpu=mips16 -relocation-model=pic < %s | FileCheck %s -check-prefix=cmp16
+
+%union.yystype = type { i32 }
+%struct.LIST_HELP = type { %struct.LIST_HELP*, i8* }
+%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] }
+%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
+%struct.MEMORY_RESOURCEHELP = type { i8*, i8*, i8*, i8*, i32, i32, i32 }
+%struct.signature = type { i8*, i32, i32, i32, i32, i32, %struct.LIST_HELP* }
+%union.yyalloc = type { %union.yystype }
+%struct.term = type { i32, %union.anon, %struct.LIST_HELP*, i32, i32 }
+%union.anon = type { %struct.LIST_HELP* }
+%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 }
+%struct.LITERAL_HELP = type { i32, i32, i32, %struct.CLAUSE_HELP*, %struct.term* }
+%struct.DFG_VARENTRY = type { i8*, i32 }
+
+@dfg_nerrs = common global i32 0, align 4
+@dfg_char = common global i32 0, align 4
+@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
+@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
+@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
+@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
+@dfg_lval = common global %union.yystype zeroinitializer, align 4
+@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
+@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
+@dfg_DESC.0 = internal unnamed_addr global i8* null
+@dfg_DESC.1 = internal unnamed_addr global i8* null
+@dfg_DESC.2 = internal unnamed_addr global i8* null
+@dfg_DESC.3 = internal unnamed_addr global i8* null
+@dfg_DESC.4 = internal unnamed_addr global i32 0
+@dfg_DESC.5 = internal unnamed_addr global i8* null
+@dfg_DESC.6 = internal unnamed_addr global i8* null
+@dfg_SORTDECLLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@dfg_AXIOMLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@dfg_CONJECLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@dfg_IGNORE = internal unnamed_addr global i32 0, align 4
+@.str = private unnamed_addr constant [9 x i8] c"set_flag\00", align 1
+@.str1 = private unnamed_addr constant [12 x i8] c"set_DomPred\00", align 1
+@.str2 = private unnamed_addr constant [15 x i8] c"set_precedence\00", align 1
+@stdout = external global %struct._IO_FILE*
+@.str3 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol is not a variable.\0A\00", align 1
+@dfg_LINENUMBER = common global i32 0, align 4
+@.str4 = private unnamed_addr constant [39 x i8] c"\0A Line %d: Symbol is not a predicate.\0A\00", align 1
+@dfg_AXCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@dfg_CONCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@.str5 = private unnamed_addr constant [6 x i8] c"SPASS\00", align 1
+@dfg_PROOFLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@.str6 = private unnamed_addr constant [11 x i8] c"splitlevel\00", align 1
+@dfg_TERMLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@dfg_IGNORETEXT = common global i32 0, align 4
+@.str7 = private unnamed_addr constant [22 x i8] c"\0A Undefined symbol %s\00", align 1
+@.str8 = private unnamed_addr constant [19 x i8] c" in DomPred list.\0A\00", align 1
+@.str9 = private unnamed_addr constant [30 x i8] c"\0A Symbol %s isn't a predicate\00", align 1
+@.str10 = private unnamed_addr constant [24 x i8] c"\0A Found unknown flag %s\00", align 1
+@dfg_FLAGS = internal unnamed_addr global i32* null, align 4
+@.str11 = private unnamed_addr constant [23 x i8] c"\0A Undefined symbol %s \00", align 1
+@.str12 = private unnamed_addr constant [22 x i8] c" in precedence list.\0A\00", align 1
+@dfg_PRECEDENCE = internal unnamed_addr global i32* null, align 4
+@dfg_USERPRECEDENCE = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@.str13 = private unnamed_addr constant [21 x i8] c"in precedence list.\0A\00", align 1
+@.str14 = private unnamed_addr constant [27 x i8] c"\0A Invalid symbol status %s\00", align 1
+@.str15 = private unnamed_addr constant [21 x i8] c" in precedence list.\00", align 1
+@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
+@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
+@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
+@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
+@.str16 = private unnamed_addr constant [25 x i8] c"parse error, unexpected \00", align 1
+@.str17 = private unnamed_addr constant [13 x i8] c", expecting \00", align 1
+@.str18 = private unnamed_addr constant [5 x i8] c" or \00", align 1
+@.str20 = private unnamed_addr constant [12 x i8] c"parse error\00", align 1
+@.str21 = private unnamed_addr constant [22 x i8] c"parser stack overflow\00", align 1
+@.str22 = private unnamed_addr constant [15 x i8] c"\0A Line %i: %s\0A\00", align 1
+@.str24 = private unnamed_addr constant [12 x i8] c"satisfiable\00", align 1
+@.str25 = private unnamed_addr constant [14 x i8] c"unsatisfiable\00", align 1
+@.str26 = private unnamed_addr constant [8 x i8] c"unknown\00", align 1
+@stderr = external global %struct._IO_FILE*
+@.str27 = private unnamed_addr constant [31 x i8] c"\0A\09Error in file %s at line %d\0A\00", align 1
+@.str28 = private unnamed_addr constant [12 x i8] c"dfgparser.y\00", align 1
+@.str29 = private unnamed_addr constant [47 x i8] c"\0A In dfg_ProblemStatusString: Invalid status.\0A\00", align 1
+@.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
+@.str31 = private unnamed_addr constant [30 x i8] c"list_of_descriptions.\0A  name(\00", align 1
+@.str32 = private unnamed_addr constant [6 x i8] c"{* *}\00", align 1
+@.str33 = private unnamed_addr constant [13 x i8] c").\0A  author(\00", align 1
+@.str34 = private unnamed_addr constant [4 x i8] c").\0A\00", align 1
+@.str35 = private unnamed_addr constant [11 x i8] c"  version(\00", align 1
+@.str36 = private unnamed_addr constant [9 x i8] c"  logic(\00", align 1
+@.str37 = private unnamed_addr constant [10 x i8] c"  status(\00", align 1
+@.str38 = private unnamed_addr constant [18 x i8] c").\0A  description(\00", align 1
+@.str39 = private unnamed_addr constant [8 x i8] c"  date(\00", align 1
+@.str40 = private unnamed_addr constant [13 x i8] c"end_of_list.\00", align 1
+@dfg_VARLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@.str41 = private unnamed_addr constant [55 x i8] c"\0A In dfg_VarCheck: List of variables should be empty!\0A\00", align 1
+@symbol_STANDARDVARCOUNTER = external global i32
+@memory_FREEDBYTES = external global i32
+@memory_ARRAY = external global [0 x %struct.MEMORY_RESOURCEHELP*]
+@dfg_VARDECL = internal unnamed_addr global i1 false
+@dfg_SYMBOLLIST = internal unnamed_addr global %struct.LIST_HELP* null, align 4
+@symbol_TYPESTATBITS = external constant i32
+@symbol_SIGNATURE = external global %struct.signature**
+@.str42 = private unnamed_addr constant [44 x i8] c"\0A Line %d: Symbol is not a sort predicate.\0A\00", align 1
+@.str43 = private unnamed_addr constant [33 x i8] c"\0A Line %d: undefined symbol %s.\0A\00", align 1
+@.str44 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol is not a function.\0A\00", align 1
+@symbol_TYPEMASK = external constant i32
+@fol_FALSE = external global i32
+@fol_TRUE = external global i32
+@.str45 = private unnamed_addr constant [33 x i8] c"\0A Line %d: Undefined symbol %s.\0A\00", align 1
+@.str46 = private unnamed_addr constant [30 x i8] c"\0A Line %u: Free Variable %s.\0A\00", align 1
+@.str47 = private unnamed_addr constant [11 x i8] c"\0A Line %u:\00", align 1
+@.str48 = private unnamed_addr constant [21 x i8] c" The actual arity %u\00", align 1
+@.str49 = private unnamed_addr constant [22 x i8] c" of symbol %s differs\00", align 1
+@.str50 = private unnamed_addr constant [30 x i8] c" from the previous arity %u.\0A\00", align 1
+@.str51 = private unnamed_addr constant [50 x i8] c"\0A Line %u: Symbol %s was declared with arity %u.\0A\00", align 1
+@.str52 = private unnamed_addr constant [58 x i8] c"\0A Line %u: symbols with arbitrary arity are not allowed.\0A\00", align 1
+@.str53 = private unnamed_addr constant [46 x i8] c"\0A Line %u: symbol %s was already declared as \00", align 1
+@.str54 = private unnamed_addr constant [11 x i8] c"function.\0A\00", align 1
+@.str55 = private unnamed_addr constant [12 x i8] c"predicate.\0A\00", align 1
+@.str56 = private unnamed_addr constant [10 x i8] c"junctor.\0A\00", align 1
+@.str57 = private unnamed_addr constant [15 x i8] c"unknown type.\0A\00", align 1
+@.str58 = private unnamed_addr constant [57 x i8] c"\0A Line %u: symbol %s was already declared with arity %d\0A\00", align 1
+@stack_POINTER = external global i32
+@dfg_in = external global %struct._IO_FILE*
+@.str59 = private unnamed_addr constant [3 x i8] c"\0A\0A\00", align 1
+@.str60 = private unnamed_addr constant [5 x i8] c"$end\00", align 1
+@.str61 = private unnamed_addr constant [6 x i8] c"error\00", align 1
+@.str62 = private unnamed_addr constant [11 x i8] c"$undefined\00", align 1
+@.str63 = private unnamed_addr constant [8 x i8] c"DFG_AND\00", align 1
+@.str64 = private unnamed_addr constant [11 x i8] c"DFG_AUTHOR\00", align 1
+@.str65 = private unnamed_addr constant [11 x i8] c"DFG_AXIOMS\00", align 1
+@.str66 = private unnamed_addr constant [12 x i8] c"DFG_BEGPROB\00", align 1
+@.str67 = private unnamed_addr constant [7 x i8] c"DFG_BY\00", align 1
+@.str68 = private unnamed_addr constant [11 x i8] c"DFG_CLAUSE\00", align 1
+@.str69 = private unnamed_addr constant [15 x i8] c"DFG_CLOSEBRACE\00", align 1
+@.str70 = private unnamed_addr constant [12 x i8] c"DFG_CLSLIST\00", align 1
+@.str71 = private unnamed_addr constant [8 x i8] c"DFG_CNF\00", align 1
+@.str72 = private unnamed_addr constant [12 x i8] c"DFG_CONJECS\00", align 1
+@.str73 = private unnamed_addr constant [9 x i8] c"DFG_DATE\00", align 1
+@.str74 = private unnamed_addr constant [13 x i8] c"DFG_DECLLIST\00", align 1
+@.str75 = private unnamed_addr constant [9 x i8] c"DFG_DESC\00", align 1
+@.str76 = private unnamed_addr constant [13 x i8] c"DFG_DESCLIST\00", align 1
+@.str77 = private unnamed_addr constant [8 x i8] c"DFG_DNF\00", align 1
+@.str78 = private unnamed_addr constant [12 x i8] c"DFG_DOMPRED\00", align 1
+@.str79 = private unnamed_addr constant [12 x i8] c"DFG_ENDLIST\00", align 1
+@.str80 = private unnamed_addr constant [12 x i8] c"DFG_ENDPROB\00", align 1
+@.str81 = private unnamed_addr constant [10 x i8] c"DFG_EQUAL\00", align 1
+@.str82 = private unnamed_addr constant [10 x i8] c"DFG_EQUIV\00", align 1
+@.str83 = private unnamed_addr constant [11 x i8] c"DFG_EXISTS\00", align 1
+@.str84 = private unnamed_addr constant [10 x i8] c"DFG_FALSE\00", align 1
+@.str85 = private unnamed_addr constant [13 x i8] c"DFG_FORMLIST\00", align 1
+@.str86 = private unnamed_addr constant [12 x i8] c"DFG_FORMULA\00", align 1
+@.str87 = private unnamed_addr constant [11 x i8] c"DFG_FORALL\00", align 1
+@.str88 = private unnamed_addr constant [11 x i8] c"DFG_FREELY\00", align 1
+@.str89 = private unnamed_addr constant [9 x i8] c"DFG_FUNC\00", align 1
+@.str90 = private unnamed_addr constant [14 x i8] c"DFG_GENERATED\00", align 1
+@.str91 = private unnamed_addr constant [11 x i8] c"DFG_GENSET\00", align 1
+@.str92 = private unnamed_addr constant [11 x i8] c"DFG_HYPOTH\00", align 1
+@.str93 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIED\00", align 1
+@.str94 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIES\00", align 1
+@.str95 = private unnamed_addr constant [10 x i8] c"DFG_LOGIC\00", align 1
+@.str96 = private unnamed_addr constant [9 x i8] c"DFG_NAME\00", align 1
+@.str97 = private unnamed_addr constant [8 x i8] c"DFG_NOT\00", align 1
+@.str98 = private unnamed_addr constant [14 x i8] c"DFG_OPENBRACE\00", align 1
+@.str99 = private unnamed_addr constant [11 x i8] c"DFG_OPERAT\00", align 1
+@.str100 = private unnamed_addr constant [7 x i8] c"DFG_OR\00", align 1
+@.str101 = private unnamed_addr constant [9 x i8] c"DFG_PREC\00", align 1
+@.str102 = private unnamed_addr constant [9 x i8] c"DFG_PRED\00", align 1
+@.str103 = private unnamed_addr constant [12 x i8] c"DFG_PRDICAT\00", align 1
+@.str104 = private unnamed_addr constant [12 x i8] c"DFG_PRFLIST\00", align 1
+@.str105 = private unnamed_addr constant [12 x i8] c"DFG_QUANTIF\00", align 1
+@.str106 = private unnamed_addr constant [10 x i8] c"DFG_SATIS\00", align 1
+@.str107 = private unnamed_addr constant [12 x i8] c"DFG_SETFLAG\00", align 1
+@.str108 = private unnamed_addr constant [13 x i8] c"DFG_SETTINGS\00", align 1
+@.str109 = private unnamed_addr constant [12 x i8] c"DFG_SYMLIST\00", align 1
+@.str110 = private unnamed_addr constant [9 x i8] c"DFG_SORT\00", align 1
+@.str111 = private unnamed_addr constant [10 x i8] c"DFG_SORTS\00", align 1
+@.str112 = private unnamed_addr constant [11 x i8] c"DFG_STATUS\00", align 1
+@.str113 = private unnamed_addr constant [9 x i8] c"DFG_STEP\00", align 1
+@.str114 = private unnamed_addr constant [12 x i8] c"DFG_SUBSORT\00", align 1
+@.str115 = private unnamed_addr constant [13 x i8] c"DFG_TERMLIST\00", align 1
+@.str116 = private unnamed_addr constant [9 x i8] c"DFG_TRUE\00", align 1
+@.str117 = private unnamed_addr constant [12 x i8] c"DFG_UNKNOWN\00", align 1
+@.str118 = private unnamed_addr constant [12 x i8] c"DFG_UNSATIS\00", align 1
+@.str119 = private unnamed_addr constant [12 x i8] c"DFG_VERSION\00", align 1
+@.str120 = private unnamed_addr constant [8 x i8] c"DFG_NUM\00", align 1
+@.str121 = private unnamed_addr constant [11 x i8] c"DFG_MINUS1\00", align 1
+@.str122 = private unnamed_addr constant [7 x i8] c"DFG_ID\00", align 1
+@.str123 = private unnamed_addr constant [9 x i8] c"DFG_TEXT\00", align 1
+@.str124 = private unnamed_addr constant [4 x i8] c"'('\00", align 1
+@.str125 = private unnamed_addr constant [4 x i8] c"')'\00", align 1
+@.str126 = private unnamed_addr constant [4 x i8] c"'.'\00", align 1
+@.str127 = private unnamed_addr constant [4 x i8] c"'['\00", align 1
+@.str128 = private unnamed_addr constant [4 x i8] c"']'\00", align 1
+@.str129 = private unnamed_addr constant [4 x i8] c"','\00", align 1
+@.str130 = private unnamed_addr constant [4 x i8] c"':'\00", align 1
+@.str131 = private unnamed_addr constant [8 x i8] c"$accept\00", align 1
+@.str132 = private unnamed_addr constant [8 x i8] c"problem\00", align 1
+@.str133 = private unnamed_addr constant [12 x i8] c"description\00", align 1
+@.str134 = private unnamed_addr constant [5 x i8] c"name\00", align 1
+@.str135 = private unnamed_addr constant [7 x i8] c"author\00", align 1
+@.str136 = private unnamed_addr constant [7 x i8] c"status\00", align 1
+@.str137 = private unnamed_addr constant [9 x i8] c"desctext\00", align 1
+@.str138 = private unnamed_addr constant [11 x i8] c"versionopt\00", align 1
+@.str139 = private unnamed_addr constant [9 x i8] c"logicopt\00", align 1
+@.str140 = private unnamed_addr constant [8 x i8] c"dateopt\00", align 1
+@.str141 = private unnamed_addr constant [10 x i8] c"log_state\00", align 1
+@.str142 = private unnamed_addr constant [12 x i8] c"logicalpart\00", align 1
+@.str143 = private unnamed_addr constant [14 x i8] c"symbollistopt\00", align 1
+@.str144 = private unnamed_addr constant [13 x i8] c"functionsopt\00", align 1
+@.str145 = private unnamed_addr constant [13 x i8] c"functionlist\00", align 1
+@.str146 = private unnamed_addr constant [5 x i8] c"func\00", align 1
+@.str147 = private unnamed_addr constant [14 x i8] c"predicatesopt\00", align 1
+@.str148 = private unnamed_addr constant [14 x i8] c"predicatelist\00", align 1
+@.str149 = private unnamed_addr constant [5 x i8] c"pred\00", align 1
+@.str150 = private unnamed_addr constant [9 x i8] c"sortsopt\00", align 1
+@.str151 = private unnamed_addr constant [9 x i8] c"sortlist\00", align 1
+@.str152 = private unnamed_addr constant [13 x i8] c"operatorsopt\00", align 1
+@.str153 = private unnamed_addr constant [13 x i8] c"operatorlist\00", align 1
+@.str154 = private unnamed_addr constant [3 x i8] c"op\00", align 1
+@.str155 = private unnamed_addr constant [15 x i8] c"quantifiersopt\00", align 1
+@.str156 = private unnamed_addr constant [15 x i8] c"quantifierlist\00", align 1
+@.str157 = private unnamed_addr constant [6 x i8] c"quant\00", align 1
+@.str158 = private unnamed_addr constant [7 x i8] c"number\00", align 1
+@.str159 = private unnamed_addr constant [19 x i8] c"declarationlistopt\00", align 1
+@.str160 = private unnamed_addr constant [12 x i8] c"decllistopt\00", align 1
+@.str161 = private unnamed_addr constant [5 x i8] c"decl\00", align 1
+@.str162 = private unnamed_addr constant [3 x i8] c"@1\00", align 1
+@.str163 = private unnamed_addr constant [3 x i8] c"@2\00", align 1
+@.str164 = private unnamed_addr constant [8 x i8] c"gendecl\00", align 1
+@.str165 = private unnamed_addr constant [10 x i8] c"freelyopt\00", align 1
+@.str166 = private unnamed_addr constant [9 x i8] c"funclist\00", align 1
+@.str167 = private unnamed_addr constant [9 x i8] c"sortdecl\00", align 1
+@.str168 = private unnamed_addr constant [12 x i8] c"formulalist\00", align 1
+@.str169 = private unnamed_addr constant [7 x i8] c"origin\00", align 1
+@.str170 = private unnamed_addr constant [16 x i8] c"formulalistsopt\00", align 1
+@.str171 = private unnamed_addr constant [15 x i8] c"formulalistopt\00", align 1
+@.str172 = private unnamed_addr constant [9 x i8] c"labelopt\00", align 1
+@.str173 = private unnamed_addr constant [8 x i8] c"formula\00", align 1
+@.str174 = private unnamed_addr constant [3 x i8] c"@3\00", align 1
+@.str175 = private unnamed_addr constant [3 x i8] c"@4\00", align 1
+@.str176 = private unnamed_addr constant [11 x i8] c"formulaopt\00", align 1
+@.str177 = private unnamed_addr constant [8 x i8] c"arglist\00", align 1
+@.str178 = private unnamed_addr constant [10 x i8] c"binsymbol\00", align 1
+@.str179 = private unnamed_addr constant [8 x i8] c"nsymbol\00", align 1
+@.str180 = private unnamed_addr constant [12 x i8] c"quantsymbol\00", align 1
+@.str181 = private unnamed_addr constant [3 x i8] c"id\00", align 1
+@.str182 = private unnamed_addr constant [10 x i8] c"qtermlist\00", align 1
+@.str183 = private unnamed_addr constant [6 x i8] c"qterm\00", align 1
+@.str184 = private unnamed_addr constant [15 x i8] c"clauselistsopt\00", align 1
+@.str185 = private unnamed_addr constant [11 x i8] c"clauselist\00", align 1
+@.str186 = private unnamed_addr constant [3 x i8] c"@5\00", align 1
+@.str187 = private unnamed_addr constant [14 x i8] c"cnfclausesopt\00", align 1
+@.str188 = private unnamed_addr constant [13 x i8] c"cnfclauseopt\00", align 1
+@.str189 = private unnamed_addr constant [10 x i8] c"cnfclause\00", align 1
+@.str190 = private unnamed_addr constant [3 x i8] c"@6\00", align 1
+@.str191 = private unnamed_addr constant [3 x i8] c"@7\00", align 1
+@.str192 = private unnamed_addr constant [14 x i8] c"cnfclausebody\00", align 1
+@.str193 = private unnamed_addr constant [8 x i8] c"litlist\00", align 1
+@.str194 = private unnamed_addr constant [4 x i8] c"lit\00", align 1
+@.str195 = private unnamed_addr constant [9 x i8] c"atomlist\00", align 1
+@.str196 = private unnamed_addr constant [5 x i8] c"atom\00", align 1
+@.str197 = private unnamed_addr constant [14 x i8] c"dnfclausesopt\00", align 1
+@.str198 = private unnamed_addr constant [13 x i8] c"dnfclauseopt\00", align 1
+@.str199 = private unnamed_addr constant [10 x i8] c"dnfclause\00", align 1
+@.str200 = private unnamed_addr constant [14 x i8] c"dnfclausebody\00", align 1
+@.str201 = private unnamed_addr constant [5 x i8] c"term\00", align 1
+@.str202 = private unnamed_addr constant [9 x i8] c"termlist\00", align 1
+@.str203 = private unnamed_addr constant [14 x i8] c"prooflistsopt\00", align 1
+@.str204 = private unnamed_addr constant [10 x i8] c"prooflist\00", align 1
+@.str205 = private unnamed_addr constant [3 x i8] c"@8\00", align 1
+@.str206 = private unnamed_addr constant [13 x i8] c"prooflistopt\00", align 1
+@.str207 = private unnamed_addr constant [11 x i8] c"parentlist\00", align 1
+@.str208 = private unnamed_addr constant [13 x i8] c"assoclistopt\00", align 1
+@.str209 = private unnamed_addr constant [10 x i8] c"assoclist\00", align 1
+@.str210 = private unnamed_addr constant [14 x i8] c"id_or_formula\00", align 1
+@.str211 = private unnamed_addr constant [3 x i8] c"@9\00", align 1
+@.str212 = private unnamed_addr constant [10 x i8] c"anysymbol\00", align 1
+@.str213 = private unnamed_addr constant [8 x i8] c"optargs\00", align 1
+@.str214 = private unnamed_addr constant [7 x i8] c"clause\00", align 1
+@.str215 = private unnamed_addr constant [15 x i8] c"listOfTermsopt\00", align 1
+@.str216 = private unnamed_addr constant [12 x i8] c"listOfTerms\00", align 1
+@.str217 = private unnamed_addr constant [4 x i8] c"@10\00", align 1
+@.str218 = private unnamed_addr constant [6 x i8] c"terms\00", align 1
+@.str219 = private unnamed_addr constant [16 x i8] c"settinglistsopt\00", align 1
+@.str220 = private unnamed_addr constant [12 x i8] c"settinglist\00", align 1
+@.str221 = private unnamed_addr constant [4 x i8] c"@11\00", align 1
+@.str222 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
+@.str223 = private unnamed_addr constant [11 x i8] c"spassflags\00", align 1
+@.str224 = private unnamed_addr constant [10 x i8] c"spassflag\00", align 1
+@.str225 = private unnamed_addr constant [9 x i8] c"preclist\00", align 1
+@.str226 = private unnamed_addr constant [9 x i8] c"precitem\00", align 1
+@.str227 = private unnamed_addr constant [8 x i8] c"statopt\00", align 1
+@.str228 = private unnamed_addr constant [10 x i8] c"gsettings\00", align 1
+@.str229 = private unnamed_addr constant [9 x i8] c"gsetting\00", align 1
+@.str230 = private unnamed_addr constant [10 x i8] c"labellist\00", align 1
+@.str231 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag value %d is too small for flag %s.\0A\00", align 1
+@.str232 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag value %d is too large for flag %s.\0A\00", align 1
+@.str233 = private unnamed_addr constant [31 x i8] c"\0A Line %d: is not a function.\0A\00", align 1
+@fol_EQUALITY = external global i32
+@stack_STACK = external global [10000 x i8*]
+@fol_EXIST = external global i32
+@fol_OR = external global i32
+@fol_AND = external global i32
+@fol_IMPLIES = external global i32
+@fol_IMPLIED = external global i32
+@fol_EQUIV = external global i32
+@fol_NOT = external global i32
+@fol_ALL = external global i32
+
+; Function Attrs: nounwind
+define i32 @dfg_parse() #0 {
+entry:
+  %yyssa = alloca [200 x i16], align 2
+  %yyvsa = alloca [200 x %union.yystype], align 4
+  %yyval = alloca %union.yystype, align 4
+  %0 = bitcast [200 x i16]* %yyssa to i8*
+  call void @llvm.lifetime.start(i64 400, i8* %0) #1
+  %arraydecay = getelementptr inbounds [200 x i16]* %yyssa, i32 0, i32 0
+  %1 = bitcast [200 x %union.yystype]* %yyvsa to i8*
+  call void @llvm.lifetime.start(i64 800, i8* %1) #1
+  %arraydecay1 = getelementptr inbounds [200 x %union.yystype]* %yyvsa, i32 0, i32 0
+  store i32 0, i32* @dfg_nerrs, align 4
+  store i32 -2, i32* @dfg_char, align 4
+  %2 = getelementptr inbounds %union.yystype* %yyval, i32 0, i32 0
+  %3 = load i32* @symbol_TYPEMASK, align 4
+  %4 = load i32* @symbol_TYPESTATBITS, align 4
+  br label %yysetstate
+
+yynewstate:                                       ; preds = %if.then1223, %if.else1226, %if.end100
+  %yyvsp.0 = phi %union.yystype* [ %incdec.ptr1204, %if.then1223 ], [ %incdec.ptr1204, %if.else1226 ], [ %incdec.ptr101, %if.end100 ]
+  %yyssp.0 = phi i16* [ %add.ptr1203, %if.then1223 ], [ %add.ptr1203, %if.else1226 ], [ %yyssp.2, %if.end100 ]
+  %yystate.0 = phi i32 [ %conv1225, %if.then1223 ], [ %conv1229, %if.else1226 ], [ %conv81, %if.end100 ]
+  %incdec.ptr = getelementptr inbounds i16* %yyssp.0, i32 1
+  br label %yysetstate
+
+yysetstate:                                       ; preds = %yynewstate, %entry
+  %yystacksize.0 = phi i32 [ 200, %entry ], [ %yystacksize.1, %yynewstate ]
+  %yyvsp.1 = phi %union.yystype* [ %arraydecay1, %entry ], [ %yyvsp.0, %yynewstate ]
+  %yyvs.0 = phi %union.yystype* [ %arraydecay1, %entry ], [ %yyvs.1, %yynewstate ]
+  %yyssp.1 = phi i16* [ %arraydecay, %entry ], [ %incdec.ptr, %yynewstate ]
+  %yyss.0 = phi i16* [ %arraydecay, %entry ], [ %yyss.1, %yynewstate ]
+  %yystate.1 = phi i32 [ 0, %entry ], [ %yystate.0, %yynewstate ]
+  %conv = trunc i32 %yystate.1 to i16
+  store i16 %conv, i16* %yyssp.1, align 2
+  %add.ptr.sum = add i32 %yystacksize.0, -1
+  %add.ptr2 = getelementptr inbounds i16* %yyss.0, i32 %add.ptr.sum
+  %cmp = icmp ult i16* %yyssp.1, %add.ptr2
+  br i1 %cmp, label %yybackup, label %if.then
+
+if.then:                                          ; preds = %yysetstate
+  %sub.ptr.lhs.cast = ptrtoint i16* %yyssp.1 to i32
+  %sub.ptr.rhs.cast = ptrtoint i16* %yyss.0 to i32
+  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
+  %sub.ptr.div = ashr exact i32 %sub.ptr.sub, 1
+  %add = add nsw i32 %sub.ptr.div, 1
+  %cmp4 = icmp ugt i32 %yystacksize.0, 9999
+  br i1 %cmp4, label %yyoverflowlab, label %if.end
+
+if.end:                                           ; preds = %if.then
+  %mul = shl i32 %yystacksize.0, 1
+  %cmp7 = icmp ugt i32 %mul, 10000
+  %.mul = select i1 %cmp7, i32 10000, i32 %mul
+  %mul11 = mul i32 %.mul, 6
+  %add121756 = or i32 %mul11, 3
+  %5 = alloca i8, i32 %add121756, align 4
+  %6 = bitcast i8* %5 to %union.yyalloc*
+  %yyss15 = bitcast i8* %5 to i16*
+  %7 = bitcast i16* %yyss.0 to i8*
+  %mul16 = shl i32 %add, 1
+  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %7, i32 %mul16, i32 2, i1 false)
+  %8 = lshr exact i32 %.mul, 1
+  %div = and i32 %8, 1073741823
+  %yyvs23 = getelementptr inbounds %union.yyalloc* %6, i32 %div, i32 0
+  %9 = bitcast %union.yystype* %yyvs23 to i8*
+  %10 = bitcast %union.yystype* %yyvs.0 to i8*
+  %mul24 = shl i32 %add, 2
+  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* %10, i32 %mul24, i32 4, i1 false)
+  %add.ptr41 = getelementptr inbounds i16* %yyss15, i32 %sub.ptr.div
+  %add.ptr43 = getelementptr inbounds %union.yystype* %yyvs23, i32 %sub.ptr.div
+  %add.ptr44.sum = add i32 %.mul, -1
+  %cmp46 = icmp slt i32 %sub.ptr.div, %add.ptr44.sum
+  br i1 %cmp46, label %yybackup, label %yyreturn
+
+yybackup:                                         ; preds = %if.end, %yysetstate
+  %yystacksize.1 = phi i32 [ %.mul, %if.end ], [ %yystacksize.0, %yysetstate ]
+  %yyvsp.2 = phi %union.yystype* [ %add.ptr43, %if.end ], [ %yyvsp.1, %yysetstate ]
+  %yyvs.1 = phi %union.yystype* [ %yyvs23, %if.end ], [ %yyvs.0, %yysetstate ]
+  %yyssp.2 = phi i16* [ %add.ptr41, %if.end ], [ %yyssp.1, %yysetstate ]
+  %yyss.1 = phi i16* [ %yyss15, %if.end ], [ %yyss.0, %yysetstate ]
+  %arrayidx = getelementptr inbounds [477 x i16]* @yypact, i32 0, i32 %yystate.1
+  %11 = load i16* %arrayidx, align 2
+  %conv51 = sext i16 %11 to i32
+  %cmp52 = icmp eq i16 %11, -356
+  br i1 %cmp52, label %yydefault, label %if.end55
+
+if.end55:                                         ; preds = %yybackup
+  %12 = load i32* @dfg_char, align 4
+  %cmp56 = icmp eq i32 %12, -2
+  br i1 %cmp56, label %if.then58, label %if.end59
+
+if.then58:                                        ; preds = %if.end55
+  %call = call i32 @dfg_lex() #1
+  store i32 %call, i32* @dfg_char, align 4
+  br label %if.end59
+
+if.end59:                                         ; preds = %if.then58, %if.end55
+  %13 = phi i32 [ %call, %if.then58 ], [ %12, %if.end55 ]
+  %cmp60 = icmp slt i32 %13, 1
+  br i1 %cmp60, label %if.then62, label %if.else
+
+if.then62:                                        ; preds = %if.end59
+  store i32 0, i32* @dfg_char, align 4
+  br label %if.end67
+
+if.else:                                          ; preds = %if.end59
+  %cmp63 = icmp ult i32 %13, 319
+  br i1 %cmp63, label %cond.true, label %if.end67
+
+cond.true:                                        ; preds = %if.else
+  %arrayidx65 = getelementptr inbounds [319 x i8]* @yytranslate, i32 0, i32 %13
+  %14 = load i8* %arrayidx65, align 1
+  %conv66 = zext i8 %14 to i32
+  br label %if.end67
+
+if.end67:                                         ; preds = %cond.true, %if.else, %if.then62
+  %15 = phi i32 [ 0, %if.then62 ], [ %13, %cond.true ], [ %13, %if.else ]
+  %yychar1.2 = phi i32 [ 0, %if.then62 ], [ %conv66, %cond.true ], [ 2, %if.else ]
+  %add68 = add nsw i32 %yychar1.2, %conv51
+  %16 = icmp ugt i32 %add68, 506
+  br i1 %16, label %yydefault, label %lor.lhs.false73
+
+lor.lhs.false73:                                  ; preds = %if.end67
+  %arrayidx74 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add68
+  %17 = load i16* %arrayidx74, align 2
+  %conv75 = sext i16 %17 to i32
+  %cmp76 = icmp eq i32 %conv75, %yychar1.2
+  br i1 %cmp76, label %if.end79, label %yydefault
+
+if.end79:                                         ; preds = %lor.lhs.false73
+  %arrayidx80 = getelementptr inbounds [507 x i16]* @yytable, i32 0, i32 %add68
+  %18 = load i16* %arrayidx80, align 2
+  %conv81 = zext i16 %18 to i32
+  %cmp82 = icmp eq i16 %18, 0
+  br i1 %cmp82, label %if.then1232, label %if.end92
+
+if.end92:                                         ; preds = %if.end79
+  %cmp93 = icmp eq i32 %add68, 35
+  br i1 %cmp93, label %yyreturn, label %if.end96
+
+if.end96:                                         ; preds = %if.end92
+  %cmp97 = icmp eq i32 %15, 0
+  br i1 %cmp97, label %if.end100, label %if.then99
+
+if.then99:                                        ; preds = %if.end96
+  store i32 -2, i32* @dfg_char, align 4
+  br label %if.end100
+
+if.end100:                                        ; preds = %if.end96, %if.then99
+  %incdec.ptr101 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 1
+  %19 = load i32* getelementptr inbounds (%union.yystype* @dfg_lval, i32 0, i32 0), align 4
+  %20 = getelementptr inbounds %union.yystype* %incdec.ptr101, i32 0, i32 0
+  store i32 %19, i32* %20, align 4
+  br label %yynewstate
+
+yydefault:                                        ; preds = %lor.lhs.false73, %if.end67, %yybackup
+  %arrayidx105 = getelementptr inbounds [477 x i8]* @yydefact, i32 0, i32 %yystate.1
+  %21 = load i8* %arrayidx105, align 1
+  %conv106 = zext i8 %21 to i32
+  %cmp107 = icmp eq i8 %21, 0
+  br i1 %cmp107, label %if.then1232, label %yyreduce
+
+yyreduce:                                         ; preds = %yydefault
+  %arrayidx111 = getelementptr inbounds [197 x i8]* @yyr2, i32 0, i32 %conv106
+  %22 = load i8* %arrayidx111, align 1
+  %conv112 = zext i8 %22 to i32
+  %sub113 = sub i32 1, %conv112
+  %23 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 %sub113, i32 0
+  %24 = load i32* %23, align 4
+  store i32 %24, i32* %2, align 4
+  switch i32 %conv106, label %sw.epilog1200 [
+    i32 2, label %sw.bb
+    i32 4, label %sw.bb116
+    i32 5, label %sw.bb119
+    i32 6, label %sw.bb122
+    i32 7, label %sw.bb124
+    i32 9, label %sw.bb127
+    i32 11, label %sw.bb130
+    i32 13, label %sw.bb133
+    i32 14, label %sw.bb136
+    i32 15, label %sw.bb138
+    i32 16, label %sw.bb140
+    i32 24, label %sw.bb142
+    i32 25, label %sw.bb145
+    i32 30, label %sw.bb149
+    i32 31, label %sw.bb152
+    i32 34, label %sw.bb157
+    i32 35, label %sw.bb160
+    i32 40, label %sw.bb163
+    i32 41, label %sw.bb166
+    i32 46, label %sw.bb171
+    i32 47, label %sw.bb174
+    i32 48, label %sw.bb179
+    i32 49, label %sw.bb181
+    i32 55, label %sw.bb185
+    i32 56, label %sw.bb190
+    i32 57, label %sw.bb195
+    i32 58, label %sw.bb198
+    i32 59, label %sw.bb199
+    i32 60, label %sw.bb200
+    i32 61, label %sw.bb210
+    i32 62, label %sw.bb217
+    i32 63, label %sw.bb219
+    i32 64, label %sw.bb221
+    i32 65, label %sw.bb226
+    i32 66, label %sw.bb233
+    i32 67, label %sw.bb236
+    i32 68, label %sw.bb239
+    i32 69, label %sw.bb255
+    i32 70, label %sw.bb257
+    i32 73, label %sw.bb259
+    i32 74, label %sw.bb262
+    i32 75, label %sw.bb290
+    i32 76, label %sw.bb292
+    i32 77, label %sw.bb296
+    i32 78, label %sw.bb300
+    i32 79, label %sw.bb312
+    i32 80, label %sw.bb327
+    i32 81, label %sw.bb339
+    i32 82, label %sw.bb340
+    i32 83, label %sw.bb341
+    i32 84, label %sw.bb355
+    i32 85, label %sw.bb357
+    i32 86, label %sw.bb361
+    i32 87, label %sw.bb372
+    i32 88, label %sw.bb387
+    i32 89, label %sw.bb390
+    i32 90, label %sw.bb393
+    i32 91, label %sw.bb396
+    i32 92, label %sw.bb399
+    i32 93, label %sw.bb402
+    i32 94, label %sw.bb405
+    i32 95, label %sw.bb408
+    i32 96, label %sw.bb419
+    i32 97, label %sw.bb429
+    i32 98, label %sw.bb437
+    i32 99, label %sw.bb445
+    i32 100, label %sw.bb453
+    i32 101, label %sw.bb464
+    i32 102, label %sw.bb479
+    i32 103, label %sw.bb494
+    i32 106, label %sw.bb519
+    i32 107, label %sw.bb535
+    i32 108, label %sw.bb536
+    i32 109, label %sw.bb538
+    i32 110, label %sw.bb541
+    i32 111, label %sw.bb570
+    i32 112, label %sw.bb572
+    i32 113, label %sw.bb576
+    i32 114, label %sw.bb580
+    i32 115, label %sw.bb581
+    i32 116, label %sw.bb582
+    i32 117, label %sw.bb595
+    i32 118, label %sw.bb606
+    i32 119, label %sw.bb617
+    i32 120, label %sw.bb632
+    i32 121, label %sw.bb636
+    i32 122, label %sw.bb650
+    i32 123, label %sw.bb655
+    i32 124, label %sw.bb663
+    i32 125, label %sw.bb674
+    i32 126, label %sw.bb684
+    i32 127, label %sw.bb694
+    i32 128, label %sw.bb709
+    i32 136, label %sw.bb721
+    i32 137, label %sw.bb732
+    i32 138, label %sw.bb744
+    i32 139, label %sw.bb755
+    i32 142, label %sw.bb770
+    i32 143, label %sw.bb777
+    i32 145, label %sw.bb787
+    i32 146, label %sw.bb851
+    i32 147, label %sw.bb867
+    i32 148, label %sw.bb887
+    i32 149, label %sw.bb889
+    i32 150, label %sw.bb893
+    i32 151, label %sw.bb934
+    i32 152, label %sw.bb977
+    i32 153, label %sw.bb978
+    i32 154, label %sw.bb998
+    i32 155, label %sw.bb1002
+    i32 156, label %sw.bb1004
+    i32 157, label %sw.bb1006
+    i32 158, label %sw.bb1008
+    i32 159, label %sw.bb1010
+    i32 160, label %sw.bb1012
+    i32 161, label %sw.bb1014
+    i32 162, label %sw.bb1016
+    i32 163, label %sw.bb1018
+    i32 164, label %sw.bb1020
+    i32 165, label %sw.bb1022
+    i32 166, label %sw.bb1024
+    i32 167, label %sw.bb1028
+    i32 170, label %sw.bb1030
+    i32 171, label %sw.bb1031
+    i32 173, label %sw.bb1032
+    i32 177, label %sw.bb1037
+    i32 178, label %sw.bb1046
+    i32 179, label %sw.bb1047
+    i32 184, label %for.cond.preheader
+    i32 185, label %sw.bb1084
+    i32 188, label %sw.bb1099
+    i32 189, label %sw.bb1114
+    i32 190, label %sw.bb1138
+    i32 191, label %sw.bb1140
+    i32 194, label %sw.bb1184
+    i32 195, label %sw.bb1187
+    i32 196, label %sw.bb1192
+  ]
+
+for.cond.preheader:                               ; preds = %yyreduce
+  %arrayidx1052 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %list1053 = bitcast %union.yystype* %arrayidx1052 to %struct.LIST_HELP**
+  %25 = load %struct.LIST_HELP** %list1053, align 4
+  %cmp.i21612226 = icmp eq %struct.LIST_HELP* %25, null
+  br i1 %cmp.i21612226, label %sw.epilog1200, label %for.body.lr.ph
+
+for.body.lr.ph:                                   ; preds = %for.cond.preheader
+  %26 = getelementptr inbounds %union.yystype* %arrayidx1052, i32 0, i32 0
+  br label %for.body
+
+sw.bb:                                            ; preds = %yyreduce
+  %arrayidx115 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
+  %string = bitcast %union.yystype* %arrayidx115 to i8**
+  %27 = load i8** %string, align 4
+  call void @string_StringFree(i8* %27) #1
+  br label %yyreturn
+
+sw.bb116:
+  %arrayidx117 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string118 = bitcast %union.yystype* %arrayidx117 to i8**
+  %28 = load i8** %string118, align 4
+  store i8* %28, i8** @dfg_DESC.0, align 4
+  br label %sw.epilog1200
+
+sw.bb119:                                         ; preds = %yyreduce
+  %arrayidx120 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string121 = bitcast %union.yystype* %arrayidx120 to i8**
+  %29 = load i8** %string121, align 4
+  store i8* %29, i8** @dfg_DESC.1, align 4
+  br label %sw.epilog1200
+
+sw.bb122:                                         ; preds = %yyreduce
+  %state = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2, i32 0
+  %30 = load i32* %state, align 4
+  store i32 %30, i32* @dfg_DESC.4, align 4
+  br label %sw.epilog1200
+
+sw.bb124:                                         ; preds = %yyreduce
+  %arrayidx125 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string126 = bitcast %union.yystype* %arrayidx125 to i8**
+  %31 = load i8** %string126, align 4
+  store i8* %31, i8** @dfg_DESC.5, align 4
+  br label %sw.epilog1200
+
+sw.bb127:                                         ; preds = %yyreduce
+  %arrayidx128 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string129 = bitcast %union.yystype* %arrayidx128 to i8**
+  %32 = load i8** %string129, align 4
+  store i8* %32, i8** @dfg_DESC.2, align 4
+  br label %sw.epilog1200
+
+sw.bb130:                                         ; preds = %yyreduce
+  %arrayidx131 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string132 = bitcast %union.yystype* %arrayidx131 to i8**
+  %33 = load i8** %string132, align 4
+  store i8* %33, i8** @dfg_DESC.3, align 4
+  br label %sw.epilog1200
+
+sw.bb133:                                         ; preds = %yyreduce
+  %arrayidx134 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string135 = bitcast %union.yystype* %arrayidx134 to i8**
+  %34 = load i8** %string135, align 4
+  store i8* %34, i8** @dfg_DESC.6, align 4
+  br label %sw.epilog1200
+
+sw.bb136:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb138:                                         ; preds = %yyreduce
+  store i32 1, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb140:                                         ; preds = %yyreduce
+  store i32 2, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb142:                                         ; preds = %yyreduce
+  %string144 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %35 = load i8** %string144, align 4
+  call fastcc void @dfg_SymbolDecl(i32 284, i8* %35, i32 -2)
+  br label %sw.epilog1200
+
+sw.bb145:                                         ; preds = %yyreduce
+  %arrayidx146 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string147 = bitcast %union.yystype* %arrayidx146 to i8**
+  %36 = load i8** %string147, align 4
+  %number = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
+  %37 = load i32* %number, align 4
+  call fastcc void @dfg_SymbolDecl(i32 284, i8* %36, i32 %37)
+  br label %sw.epilog1200
+
+sw.bb149:                                         ; preds = %yyreduce
+  %string151 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %38 = load i8** %string151, align 4
+  call fastcc void @dfg_SymbolDecl(i32 298, i8* %38, i32 -2)
+  br label %sw.epilog1200
+
+sw.bb152:                                         ; preds = %yyreduce
+  %arrayidx153 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string154 = bitcast %union.yystype* %arrayidx153 to i8**
+  %39 = load i8** %string154, align 4
+  %number156 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
+  %40 = load i32* %number156, align 4
+  call fastcc void @dfg_SymbolDecl(i32 298, i8* %39, i32 %40)
+  br label %sw.epilog1200
+
+sw.bb157:                                         ; preds = %yyreduce
+  %string159 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %41 = load i8** %string159, align 4
+  call fastcc void @dfg_SymbolDecl(i32 298, i8* %41, i32 1)
+  br label %sw.epilog1200
+
+sw.bb160:                                         ; preds = %yyreduce
+  %string162 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %42 = load i8** %string162, align 4
+  call fastcc void @dfg_SymbolDecl(i32 298, i8* %42, i32 1)
+  br label %sw.epilog1200
+
+sw.bb163:                                         ; preds = %yyreduce
+  %string165 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %43 = load i8** %string165, align 4
+  call fastcc void @dfg_SymbolDecl(i32 294, i8* %43, i32 -2)
+  br label %sw.epilog1200
+
+sw.bb166:                                         ; preds = %yyreduce
+  %arrayidx167 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string168 = bitcast %union.yystype* %arrayidx167 to i8**
+  %44 = load i8** %string168, align 4
+  %number170 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
+  %45 = load i32* %number170, align 4
+  call fastcc void @dfg_SymbolDecl(i32 294, i8* %44, i32 %45)
+  br label %sw.epilog1200
+
+sw.bb171:                                         ; preds = %yyreduce
+  %string173 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %46 = load i8** %string173, align 4
+  call fastcc void @dfg_SymbolDecl(i32 300, i8* %46, i32 -2)
+  br label %sw.epilog1200
+
+sw.bb174:                                         ; preds = %yyreduce
+  %arrayidx175 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string176 = bitcast %union.yystype* %arrayidx175 to i8**
+  %47 = load i8** %string176, align 4
+  %number178 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
+  %48 = load i32* %number178, align 4
+  call fastcc void @dfg_SymbolDecl(i32 300, i8* %47, i32 %48)
+  br label %sw.epilog1200
+
+sw.bb179:                                         ; preds = %yyreduce
+  store i32 -1, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb181:                                         ; preds = %yyreduce
+  %number183 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 0, i32 0
+  %49 = load i32* %number183, align 4
+  store i32 %49, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb185:                                         ; preds = %yyreduce
+  %arrayidx186 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
+  %string187 = bitcast %union.yystype* %arrayidx186 to i8**
+  %50 = load i8** %string187, align 4
+  %arrayidx188 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string189 = bitcast %union.yystype* %arrayidx188 to i8**
+  %51 = load i8** %string189, align 4
+  %call.i = call fastcc i32 @dfg_Symbol(i8* %50, i32 1) #1
+  %call1.i = call fastcc i32 @dfg_Symbol(i8* %51, i32 1) #1
+  %tobool.i.i = icmp sgt i32 %call.i, -1
+  br i1 %tobool.i.i, label %if.then.i, label %land.rhs.i.i
+
+land.rhs.i.i:                                     ; preds = %sw.bb185
+  %sub.i.i.i = sub nsw i32 0, %call.i
+  %and.i.i.i = and i32 %3, %sub.i.i.i
+  %cmp.i.i = icmp eq i32 %and.i.i.i, 2
+  br i1 %cmp.i.i, label %if.end.i, label %if.then.i
+
+if.then.i:                                        ; preds = %land.rhs.i.i, %sw.bb185
+  %52 = load %struct._IO_FILE** @stdout, align 4
+  %call3.i = call i32 @fflush(%struct._IO_FILE* %52) #1
+  %53 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([44 x i8]* @.str42, i32 0, i32 0), i32 %53) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+if.end.i:                                         ; preds = %land.rhs.i.i
+  %tobool.i34.i = icmp sgt i32 %call1.i, -1
+  br i1 %tobool.i34.i, label %if.then6.i, label %land.rhs.i38.i
+
+land.rhs.i38.i:                                   ; preds = %if.end.i
+  %sub.i.i35.i = sub nsw i32 0, %call1.i
+  %and.i.i36.i = and i32 %3, %sub.i.i35.i
+  %cmp.i37.i = icmp eq i32 %and.i.i36.i, 2
+  br i1 %cmp.i37.i, label %if.end8.i, label %if.then6.i
+
+if.then6.i:                                       ; preds = %land.rhs.i38.i, %if.end.i
+  %54 = load %struct._IO_FILE** @stdout, align 4
+  %call7.i = call i32 @fflush(%struct._IO_FILE* %54) #1
+  %55 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([44 x i8]* @.str42, i32 0, i32 0), i32 %55) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+if.end8.i:                                        ; preds = %land.rhs.i38.i
+  %56 = load i32* @symbol_STANDARDVARCOUNTER, align 4
+  %inc.i.i = add nsw i32 %56, 1
+  store i32 %inc.i.i, i32* @symbol_STANDARDVARCOUNTER, align 4
+  %call11.i = call %struct.term* @term_Create(i32 %inc.i.i, %struct.LIST_HELP* null) #1
+  store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
+  %57 = bitcast %struct.term* %call11.i to i8*
+  %call.i.i50.i = call i8* @memory_Malloc(i32 8) #1
+  %58 = bitcast i8* %call.i.i50.i to %struct.LIST_HELP*
+  %car.i.i51.i = getelementptr inbounds i8* %call.i.i50.i, i32 4
+  %59 = bitcast i8* %car.i.i51.i to i8**
+  store i8* %57, i8** %59, align 4
+  %cdr.i.i52.i = bitcast i8* %call.i.i50.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i52.i, align 4
+  %call13.i = call %struct.term* @term_Create(i32 %call.i, %struct.LIST_HELP* %58) #1
+  %call14.i = call %struct.term* @term_Copy(%struct.term* %call11.i) #1
+  %60 = bitcast %struct.term* %call14.i to i8*
+  %call.i.i53.i = call i8* @memory_Malloc(i32 8) #1
+  %61 = bitcast i8* %call.i.i53.i to %struct.LIST_HELP*
+  %car.i.i54.i = getelementptr inbounds i8* %call.i.i53.i, i32 4
+  %62 = bitcast i8* %car.i.i54.i to i8**
+  store i8* %60, i8** %62, align 4
+  %cdr.i.i55.i = bitcast i8* %call.i.i53.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i55.i, align 4
+  %call16.i = call %struct.term* @term_Create(i32 %call1.i, %struct.LIST_HELP* %61) #1
+  %63 = load i32* @fol_IMPLIES, align 4
+  %64 = bitcast %struct.term* %call13.i to i8*
+  %65 = bitcast %struct.term* %call16.i to i8*
+  %call.i.i56.i = call i8* @memory_Malloc(i32 8) #1
+  %66 = bitcast i8* %call.i.i56.i to %struct.LIST_HELP*
+  %car.i.i57.i = getelementptr inbounds i8* %call.i.i56.i, i32 4
+  %67 = bitcast i8* %car.i.i57.i to i8**
+  store i8* %65, i8** %67, align 4
+  %cdr.i.i58.i = bitcast i8* %call.i.i56.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i58.i, align 4
+  %call.i.i = call i8* @memory_Malloc(i32 8) #1
+  %68 = bitcast i8* %call.i.i to %struct.LIST_HELP*
+  %car.i.i = getelementptr inbounds i8* %call.i.i, i32 4
+  %69 = bitcast i8* %car.i.i to i8**
+  store i8* %64, i8** %69, align 4
+  %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %66, %struct.LIST_HELP** %cdr.i.i, align 4
+  %call20.i = call %struct.term* @term_Create(i32 %63, %struct.LIST_HELP* %68) #1
+  %70 = load i32* @fol_ALL, align 4
+  %call22.i = call %struct.term* @term_Copy(%struct.term* %call11.i) #1
+  %71 = bitcast %struct.term* %call22.i to i8*
+  %call.i.i47.i = call i8* @memory_Malloc(i32 8) #1
+  %72 = bitcast i8* %call.i.i47.i to %struct.LIST_HELP*
+  %car.i.i48.i = getelementptr inbounds i8* %call.i.i47.i, i32 4
+  %73 = bitcast i8* %car.i.i48.i to i8**
+  store i8* %71, i8** %73, align 4
+  %cdr.i.i49.i = bitcast i8* %call.i.i47.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i49.i, align 4
+  %74 = bitcast %struct.term* %call20.i to i8*
+  %call.i.i44.i = call i8* @memory_Malloc(i32 8) #1
+  %75 = bitcast i8* %call.i.i44.i to %struct.LIST_HELP*
+  %car.i.i45.i = getelementptr inbounds i8* %call.i.i44.i, i32 4
+  %76 = bitcast i8* %car.i.i45.i to i8**
+  store i8* %74, i8** %76, align 4
+  %cdr.i.i46.i = bitcast i8* %call.i.i44.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i46.i, align 4
+  %call25.i = call %struct.term* @fol_CreateQuantifier(i32 %70, %struct.LIST_HELP* %72, %struct.LIST_HELP* %75) #1
+  %77 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  %78 = bitcast %struct.term* %call25.i to %struct.LIST_HELP*
+  %call.i.i41.i = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i42.i = getelementptr inbounds i8* %call.i.i41.i, i32 4
+  %79 = bitcast i8* %car.i.i42.i to i8**
+  store i8* null, i8** %79, align 4
+  %cdr.i.i43.i = bitcast i8* %call.i.i41.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %78, %struct.LIST_HELP** %cdr.i.i43.i, align 4
+  %call.i.i.i = call i8* @memory_Malloc(i32 8) #1
+  %80 = bitcast i8* %call.i.i.i to %struct.LIST_HELP*
+  %car.i.i.i = getelementptr inbounds i8* %call.i.i.i, i32 4
+  %81 = bitcast i8* %car.i.i.i to i8**
+  store i8* %call.i.i41.i, i8** %81, align 4
+  %cdr.i.i.i = bitcast i8* %call.i.i.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i.i, align 4
+  %cmp.i.i.i = icmp eq %struct.LIST_HELP* %77, null
+  br i1 %cmp.i.i.i, label %dfg_SubSort.exit, label %if.end.i.i
+
+if.end.i.i:                                       ; preds = %if.end8.i
+  %cmp.i18.i.i = icmp eq i8* %call.i.i.i, null
+  br i1 %cmp.i18.i.i, label %dfg_SubSort.exit, label %for.cond.i.i
+
+for.cond.i.i:                                     ; preds = %if.end.i.i, %for.cond.i.i
+  %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 ]
+  %List1.addr.0.idx15.i.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i.i, i32 0, i32 0
+  %List1.addr.0.idx15.val.i.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i.i, align 4
+  %cmp.i16.i.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i.i, null
+  br i1 %cmp.i16.i.i, label %for.end.i.i, label %for.cond.i.i
+
+for.end.i.i:                                      ; preds = %for.cond.i.i
+  store %struct.LIST_HELP* %80, %struct.LIST_HELP** %List1.addr.0.idx15.i.i, align 4
+  br label %dfg_SubSort.exit
+
+dfg_SubSort.exit:                                 ; preds = %if.end8.i, %if.end.i.i, %for.end.i.i
+  %retval.0.i.i = phi %struct.LIST_HELP* [ %77, %for.end.i.i ], [ %80, %if.end8.i ], [ %77, %if.end.i.i ]
+  store %struct.LIST_HELP* %retval.0.i.i, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  br label %sw.epilog1200
+
+sw.bb190:                                         ; preds = %yyreduce
+  %82 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  %arrayidx191 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term = bitcast %union.yystype* %arrayidx191 to %struct.term**
+  %83 = load %struct.term** %term, align 4
+  %84 = bitcast %struct.term* %83 to %struct.LIST_HELP*
+  %call.i.i1761 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1762 = getelementptr inbounds i8* %call.i.i1761, i32 4
+  %85 = bitcast i8* %car.i.i1762 to i8**
+  store i8* null, i8** %85, align 4
+  %cdr.i.i1763 = bitcast i8* %call.i.i1761 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %84, %struct.LIST_HELP** %cdr.i.i1763, align 4
+  %call.i.i1764 = call i8* @memory_Malloc(i32 8) #1
+  %86 = bitcast i8* %call.i.i1764 to %struct.LIST_HELP*
+  %car.i.i1765 = getelementptr inbounds i8* %call.i.i1764, i32 4
+  %87 = bitcast i8* %car.i.i1765 to i8**
+  store i8* %call.i.i1761, i8** %87, align 4
+  %cdr.i.i1766 = bitcast i8* %call.i.i1764 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1766, align 4
+  %cmp.i.i1767 = icmp eq %struct.LIST_HELP* %82, null
+  br i1 %cmp.i.i1767, label %list_Nconc.exit, label %if.end.i1768
+
+if.end.i1768:                                     ; preds = %sw.bb190
+  %cmp.i18.i = icmp eq i8* %call.i.i1764, null
+  br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
+
+for.cond.i:                                       ; preds = %if.end.i1768, %for.cond.i
+  %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %82, %if.end.i1768 ]
+  %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
+  %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
+  br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
+
+for.end.i:                                        ; preds = %for.cond.i
+  store %struct.LIST_HELP* %86, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  br label %list_Nconc.exit
+
+list_Nconc.exit:                                  ; preds = %sw.bb190, %if.end.i1768, %for.end.i
+  %retval.0.i = phi %struct.LIST_HELP* [ %82, %for.end.i ], [ %86, %sw.bb190 ], [ %82, %if.end.i1768 ]
+  store %struct.LIST_HELP* %retval.0.i, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  br label %sw.epilog1200
+
+sw.bb195:                                         ; preds = %yyreduce
+  %arrayidx196 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
+  %string197 = bitcast %union.yystype* %arrayidx196 to i8**
+  %88 = load i8** %string197, align 4
+  call void @string_StringFree(i8* %88) #1
+  br label %sw.epilog1200
+
+sw.bb198:                                         ; preds = %yyreduce
+  %89 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %call.i.i.i1769 = call i8* @memory_Malloc(i32 8) #1
+  %90 = bitcast i8* %call.i.i.i1769 to %struct.LIST_HELP*
+  %car.i.i.i1770 = getelementptr inbounds i8* %call.i.i.i1769, i32 4
+  %91 = bitcast i8* %car.i.i.i1770 to i8**
+  store i8* null, i8** %91, align 4
+  %cdr.i.i.i1771 = bitcast i8* %call.i.i.i1769 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %89, %struct.LIST_HELP** %cdr.i.i.i1771, align 4
+  store %struct.LIST_HELP* %90, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  store i1 true, i1* @dfg_VARDECL, align 1
+  br label %sw.epilog1200
+
+sw.bb199:                                         ; preds = %yyreduce
+  store i1 false, i1* @dfg_VARDECL, align 1
+  br label %sw.epilog1200
+
+sw.bb200:                                         ; preds = %yyreduce
+  %92 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %.idx.i = getelementptr %struct.LIST_HELP* %92, i32 0, i32 1
+  %.idx.val.i = load i8** %.idx.i, align 4
+  %93 = bitcast i8* %.idx.val.i to %struct.LIST_HELP*
+  call void @list_DeleteWithElement(%struct.LIST_HELP* %93, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
+  %94 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %L.idx.i.i = getelementptr %struct.LIST_HELP* %94, i32 0, i32 0
+  %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
+  %95 = bitcast %struct.LIST_HELP* %94 to i8*
+  %96 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %96, i32 0, i32 4
+  %97 = load i32* %total_size.i.i.i.i, align 4
+  %98 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i = add i32 %98, %97
+  store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %96, i32 0, i32 0
+  %99 = load i8** %free.i.i.i.i, align 4
+  %.c.i.i.i = bitcast i8* %99 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
+  %100 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %100, i32 0, i32 0
+  store i8* %95, i8** %free27.i.i.i.i, align 4
+  store %struct.LIST_HELP* %L.idx.val.i.i, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %cmp.i.i1772 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
+  br i1 %cmp.i.i1772, label %dfg_VarCheck.exit, label %if.then.i1774
+
+if.then.i1774:                                    ; preds = %sw.bb200
+  %101 = load %struct._IO_FILE** @stdout, align 4
+  %call1.i1773 = call i32 @fflush(%struct._IO_FILE* %101) #1
+  %102 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
+  %103 = load %struct._IO_FILE** @stderr, align 4
+  %104 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %103) #1
+  call fastcc void @misc_DumpCore() #1
+  unreachable
+
+dfg_VarCheck.exit:                                ; preds = %sw.bb200
+  store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
+  %105 = load i32* @fol_ALL, align 4
+  %arrayidx203 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
+  %list = bitcast %union.yystype* %arrayidx203 to %struct.LIST_HELP**
+  %106 = load %struct.LIST_HELP** %list, align 4
+  %arrayidx204 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %term205 = bitcast %union.yystype* %arrayidx204 to %struct.term**
+  %107 = load %struct.term** %term205, align 4
+  %call206 = call %struct.term* @dfg_CreateQuantifier(i32 %105, %struct.LIST_HELP* %106, %struct.term* %107)
+  %108 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  %109 = bitcast %struct.term* %call206 to %struct.LIST_HELP*
+  %call.i.i1776 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1777 = getelementptr inbounds i8* %call.i.i1776, i32 4
+  %110 = bitcast i8* %car.i.i1777 to i8**
+  store i8* null, i8** %110, align 4
+  %cdr.i.i1778 = bitcast i8* %call.i.i1776 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %109, %struct.LIST_HELP** %cdr.i.i1778, align 4
+  %call.i.i1779 = call i8* @memory_Malloc(i32 8) #1
+  %111 = bitcast i8* %call.i.i1779 to %struct.LIST_HELP*
+  %car.i.i1780 = getelementptr inbounds i8* %call.i.i1779, i32 4
+  %112 = bitcast i8* %car.i.i1780 to i8**
+  store i8* %call.i.i1776, i8** %112, align 4
+  %cdr.i.i1781 = bitcast i8* %call.i.i1779 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1781, align 4
+  %cmp.i.i1782 = icmp eq %struct.LIST_HELP* %108, null
+  br i1 %cmp.i.i1782, label %list_Nconc.exit1792, label %if.end.i1784
+
+if.end.i1784:                                     ; preds = %dfg_VarCheck.exit
+  %cmp.i18.i1783 = icmp eq i8* %call.i.i1779, null
+  br i1 %cmp.i18.i1783, label %list_Nconc.exit1792, label %for.cond.i1789
+
+for.cond.i1789:                                   ; preds = %if.end.i1784, %for.cond.i1789
+  %List1.addr.0.i1785 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1787, %for.cond.i1789 ], [ %108, %if.end.i1784 ]
+  %List1.addr.0.idx15.i1786 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1785, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1787 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1786, align 4
+  %cmp.i16.i1788 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1787, null
+  br i1 %cmp.i16.i1788, label %for.end.i1790, label %for.cond.i1789
+
+for.end.i1790:                                    ; preds = %for.cond.i1789
+  store %struct.LIST_HELP* %111, %struct.LIST_HELP** %List1.addr.0.idx15.i1786, align 4
+  br label %list_Nconc.exit1792
+
+list_Nconc.exit1792:                              ; preds = %dfg_VarCheck.exit, %if.end.i1784, %for.end.i1790
+  %retval.0.i1791 = phi %struct.LIST_HELP* [ %108, %for.end.i1790 ], [ %111, %dfg_VarCheck.exit ], [ %108, %if.end.i1784 ]
+  store %struct.LIST_HELP* %retval.0.i1791, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  br label %sw.epilog1200
+
+sw.bb210:                                         ; preds = %yyreduce
+  %arrayidx211 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
+  %string212 = bitcast %union.yystype* %arrayidx211 to i8**
+  %113 = load i8** %string212, align 4
+  %call213 = call fastcc i32 @dfg_Symbol(i8* %113, i32 1)
+  %bool = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6, i32 0
+  %114 = load i32* %bool, align 4
+  %arrayidx215 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list216 = bitcast %union.yystype* %arrayidx215 to %struct.LIST_HELP**
+  %115 = load %struct.LIST_HELP** %list216, align 4
+  %tobool.i.i1793 = icmp sgt i32 %call213, -1
+  br i1 %tobool.i.i1793, label %if.then.i1799, label %land.rhs.i.i1797
+
+land.rhs.i.i1797:                                 ; preds = %sw.bb210
+  %sub.i.i.i1794 = sub nsw i32 0, %call213
+  %and.i.i.i1795 = and i32 %3, %sub.i.i.i1794
+  %cmp.i.i1796 = icmp eq i32 %and.i.i.i1795, 2
+  br i1 %cmp.i.i1796, label %if.end.i1800, label %if.then.i1799
+
+if.then.i1799:                                    ; preds = %land.rhs.i.i1797, %sw.bb210
+  %116 = load %struct._IO_FILE** @stdout, align 4
+  %call1.i1798 = call i32 @fflush(%struct._IO_FILE* %116) #1
+  %117 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([44 x i8]* @.str42, i32 0, i32 0), i32 %117) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+if.end.i1800:                                     ; preds = %land.rhs.i.i1797
+  %shr.i.i54.i = ashr i32 %sub.i.i.i1794, %4
+  %118 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i55.i = getelementptr inbounds %struct.signature** %118, i32 %shr.i.i54.i
+  %119 = load %struct.signature** %arrayidx.i.i55.i, align 4
+  %props.i56.i = getelementptr inbounds %struct.signature* %119, i32 0, i32 4
+  %120 = load i32* %props.i56.i, align 4
+  %and.i.i = and i32 %120, 512
+  %tobool.i57.i = icmp eq i32 %and.i.i, 0
+  br i1 %tobool.i57.i, label %symbol_RemoveProperty.exit.i, label %if.then.i.i
+
+if.then.i.i:                                      ; preds = %if.end.i1800
+  %sub.i.i = add i32 %120, -512
+  store i32 %sub.i.i, i32* %props.i56.i, align 4
+  %.pre.i = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i63.phi.trans.insert.i = getelementptr inbounds %struct.signature** %.pre.i, i32 %shr.i.i54.i
+  %.pre93.i = load %struct.signature** %arrayidx.i.i63.phi.trans.insert.i, align 4
+  %props.i64.phi.trans.insert.i = getelementptr inbounds %struct.signature* %.pre93.i, i32 0, i32 4
+  %.pre94.i = load i32* %props.i64.phi.trans.insert.i, align 4
+  br label %symbol_RemoveProperty.exit.i
+
+symbol_RemoveProperty.exit.i:                     ; preds = %if.then.i.i, %if.end.i1800
+  %121 = phi i32 [ %120, %if.end.i1800 ], [ %.pre94.i, %if.then.i.i ]
+  %122 = phi %struct.signature* [ %119, %if.end.i1800 ], [ %.pre93.i, %if.then.i.i ]
+  %and.i65.i = and i32 %121, 256
+  %tobool.i66.i = icmp eq i32 %and.i65.i, 0
+  br i1 %tobool.i66.i, label %symbol_RemoveProperty.exit69.i, label %if.then.i68.i
+
+if.then.i68.i:                                    ; preds = %symbol_RemoveProperty.exit.i
+  %props.i64.i = getelementptr inbounds %struct.signature* %122, i32 0, i32 4
+  %sub.i67.i = add i32 %121, -256
+  store i32 %sub.i67.i, i32* %props.i64.i, align 4
+  %.pre95.i = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i83.phi.trans.insert.i = getelementptr inbounds %struct.signature** %.pre95.i, i32 %shr.i.i54.i
+  %.pre96.i = load %struct.signature** %arrayidx.i.i83.phi.trans.insert.i, align 4
+  br label %symbol_RemoveProperty.exit69.i
+
+symbol_RemoveProperty.exit69.i:                   ; preds = %if.then.i68.i, %symbol_RemoveProperty.exit.i
+  %123 = phi %struct.signature* [ %122, %symbol_RemoveProperty.exit.i ], [ %.pre96.i, %if.then.i68.i ]
+  %generatedBy.i84.i = getelementptr inbounds %struct.signature* %123, i32 0, i32 6
+  %124 = load %struct.LIST_HELP** %generatedBy.i84.i, align 4
+  %cmp.i5.i.i = icmp eq %struct.LIST_HELP* %124, null
+  br i1 %cmp.i5.i.i, label %list_Delete.exit.i, label %while.body.i.i
+
+while.body.i.i:                                   ; preds = %symbol_RemoveProperty.exit69.i, %while.body.i.i
+  %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 ]
+  %L.addr.0.idx.i.i = getelementptr %struct.LIST_HELP* %L.addr.06.i.i, i32 0, i32 0
+  %L.addr.0.idx.val.i.i = load %struct.LIST_HELP** %L.addr.0.idx.i.i, align 4
+  %125 = bitcast %struct.LIST_HELP* %L.addr.06.i.i to i8*
+  %126 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i1801 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %126, i32 0, i32 4
+  %127 = load i32* %total_size.i.i.i.i1801, align 4
+  %128 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i1802 = add i32 %128, %127
+  store i32 %add24.i.i.i.i1802, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i1803 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %126, i32 0, i32 0
+  %129 = load i8** %free.i.i.i.i1803, align 4
+  %.c.i.i.i1804 = bitcast i8* %129 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i1804, %struct.LIST_HELP** %L.addr.0.idx.i.i, align 4
+  %130 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i1805 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %130, i32 0, i32 0
+  store i8* %125, i8** %free27.i.i.i.i1805, align 4
+  %cmp.i.i.i1806 = icmp eq %struct.LIST_HELP* %L.addr.0.idx.val.i.i, null
+  br i1 %cmp.i.i.i1806, label %list_Delete.exit.loopexit.i, label %while.body.i.i
+
+list_Delete.exit.loopexit.i:                      ; preds = %while.body.i.i
+  %.pre97.i = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i78.phi.trans.insert.i = getelementptr inbounds %struct.signature** %.pre97.i, i32 %shr.i.i54.i
+  %.pre98.i = load %struct.signature** %arrayidx.i.i78.phi.trans.insert.i, align 4
+  br label %list_Delete.exit.i
+
+list_Delete.exit.i:                               ; preds = %list_Delete.exit.loopexit.i, %symbol_RemoveProperty.exit69.i
+  %131 = phi %struct.signature* [ %.pre98.i, %list_Delete.exit.loopexit.i ], [ %123, %symbol_RemoveProperty.exit69.i ]
+  %props.i79.i = getelementptr inbounds %struct.signature* %131, i32 0, i32 4
+  %132 = load i32* %props.i79.i, align 4
+  %or.i80.i = or i32 %132, 512
+  store i32 %or.i80.i, i32* %props.i79.i, align 4
+  %tobool3.i = icmp ne i32 %114, 0
+  br i1 %tobool3.i, label %if.then4.i, label %for.cond.preheader.i
+
+if.then4.i:                                       ; preds = %list_Delete.exit.i
+  %133 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i73.i = getelementptr inbounds %struct.signature** %133, i32 %shr.i.i54.i
+  %134 = load %struct.signature** %arrayidx.i.i73.i, align 4
+  %props.i74.i = getelementptr inbounds %struct.signature* %134, i32 0, i32 4
+  %135 = load i32* %props.i74.i, align 4
+  %or.i75.i = or i32 %135, 256
+  store i32 %or.i75.i, i32* %props.i74.i, align 4
+  br label %for.cond.preheader.i
+
+for.cond.preheader.i:                             ; preds = %if.then4.i, %list_Delete.exit.i
+  %cmp.i7086.i = icmp eq %struct.LIST_HELP* %115, null
+  br i1 %cmp.i7086.i, label %dfg_SymbolGenerated.exit, label %for.body.lr.ph.i
+
+for.body.lr.ph.i:                                 ; preds = %for.cond.preheader.i
+  br i1 %tobool3.i, label %for.body.us.i, label %for.body.i
+
+for.body.us.i:                                    ; preds = %for.body.lr.ph.i, %for.inc.us.i
+  %scan.087.us.i = phi %struct.LIST_HELP* [ %scan.0.idx43.val.us.i, %for.inc.us.i ], [ %115, %for.body.lr.ph.i ]
+  %scan.0.idx42.us.i = getelementptr %struct.LIST_HELP* %scan.087.us.i, i32 0, i32 1
+  %scan.0.idx42.val.us.i = load i8** %scan.0.idx42.us.i, align 4
+  %call9.us.i = call i32 @symbol_Lookup(i8* %scan.0.idx42.val.us.i) #1
+  %cmp.us.i = icmp eq i32 %call9.us.i, 0
+  br i1 %cmp.us.i, label %if.then10.i, label %if.else.us.i
+
+if.else.us.i:                                     ; preds = %for.body.us.i
+  %tobool.i58.us.i = icmp sgt i32 %call9.us.i, -1
+  br i1 %tobool.i58.us.i, label %if.then15.i, label %land.rhs.i59.us.i
+
+land.rhs.i59.us.i:                                ; preds = %if.else.us.i
+  %sub.i6.i.us.i = sub nsw i32 0, %call9.us.i
+  %and.i7.i.us.i = and i32 %3, %sub.i6.i.us.i
+  %136 = icmp ult i32 %and.i7.i.us.i, 2
+  br i1 %136, label %for.inc.us.i, label %if.then15.i
+
+for.inc.us.i:                                     ; preds = %land.rhs.i59.us.i
+  %scan.0.idx.val.us.i = load i8** %scan.0.idx42.us.i, align 4
+  call void @string_StringFree(i8* %scan.0.idx.val.us.i) #1
+  %137 = inttoptr i32 %call9.us.i to i8*
+  store i8* %137, i8** %scan.0.idx42.us.i, align 4
+  %shr.i.i49.us.i = ashr i32 %sub.i6.i.us.i, %4
+  %138 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i50.us.i = getelementptr inbounds %struct.signature** %138, i32 %shr.i.i49.us.i
+  %139 = load %struct.signature** %arrayidx.i.i50.us.i, align 4
+  %props.i51.us.i = getelementptr inbounds %struct.signature* %139, i32 0, i32 4
+  %140 = load i32* %props.i51.us.i, align 4
+  %or.i52.us.i = or i32 %140, 512
+  store i32 %or.i52.us.i, i32* %props.i51.us.i, align 4
+  %141 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i47.us.i = getelementptr inbounds %struct.signature** %141, i32 %shr.i.i49.us.i
+  %142 = load %struct.signature** %arrayidx.i.i47.us.i, align 4
+  %props.i.us.i = getelementptr inbounds %struct.signature* %142, i32 0, i32 4
+  %143 = load i32* %props.i.us.i, align 4
+  %or.i.us.i = or i32 %143, 256
+  store i32 %or.i.us.i, i32* %props.i.us.i, align 4
+  %scan.0.idx43.us.i = getelementptr %struct.LIST_HELP* %scan.087.us.i, i32 0, i32 0
+  %scan.0.idx43.val.us.i = load %struct.LIST_HELP** %scan.0.idx43.us.i, align 4
+  %cmp.i70.us.i = icmp eq %struct.LIST_HELP* %scan.0.idx43.val.us.i, null
+  br i1 %cmp.i70.us.i, label %dfg_SymbolGenerated.exit, label %for.body.us.i
+
+for.body.i:                                       ; preds = %for.body.lr.ph.i, %for.inc.i
+  %scan.087.i = phi %struct.LIST_HELP* [ %scan.0.idx43.val.i, %for.inc.i ], [ %115, %for.body.lr.ph.i ]
+  %scan.0.idx42.i = getelementptr %struct.LIST_HELP* %scan.087.i, i32 0, i32 1
+  %scan.0.idx42.val.i = load i8** %scan.0.idx42.i, align 4
+  %call9.i = call i32 @symbol_Lookup(i8* %scan.0.idx42.val.i) #1
+  %cmp.i = icmp eq i32 %call9.i, 0
+  br i1 %cmp.i, label %if.then10.i, label %if.else.i
+
+if.then10.i:                                      ; preds = %for.body.us.i, %for.body.i
+  %scan.0.idx42.lcssa.i = phi i8** [ %scan.0.idx42.i, %for.body.i ], [ %scan.0.idx42.us.i, %for.body.us.i ]
+  %144 = load %struct._IO_FILE** @stdout, align 4
+  %call11.i1807 = call i32 @fflush(%struct._IO_FILE* %144) #1
+  %145 = load i32* @dfg_LINENUMBER, align 4
+  %scan.0.idx41.val.i = load i8** %scan.0.idx42.lcssa.i, align 4
+  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
+  call fastcc void @misc_Error() #1
+  unreachable
+
+if.else.i:                                        ; preds = %for.body.i
+  %tobool.i58.i = icmp sgt i32 %call9.i, -1
+  br i1 %tobool.i58.i, label %if.then15.i, label %land.rhs.i59.i
+
+land.rhs.i59.i:                                   ; preds = %if.else.i
+  %sub.i6.i.i = sub nsw i32 0, %call9.i
+  %and.i7.i.i = and i32 %3, %sub.i6.i.i
+  %146 = icmp ult i32 %and.i7.i.i, 2
+  br i1 %146, label %for.inc.i, label %if.then15.i
+
+if.then15.i:                                      ; preds = %land.rhs.i59.us.i, %if.else.us.i, %land.rhs.i59.i, %if.else.i
+  %147 = load %struct._IO_FILE** @stdout, align 4
+  %call16.i1808 = call i32 @fflush(%struct._IO_FILE* %147) #1
+  %148 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([38 x i8]* @.str44, i32 0, i32 0), i32 %148) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+for.inc.i:                                        ; preds = %land.rhs.i59.i
+  %scan.0.idx.val.i = load i8** %scan.0.idx42.i, align 4
+  call void @string_StringFree(i8* %scan.0.idx.val.i) #1
+  %149 = inttoptr i32 %call9.i to i8*
+  store i8* %149, i8** %scan.0.idx42.i, align 4
+  %shr.i.i49.i = ashr i32 %sub.i6.i.i, %4
+  %150 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i50.i = getelementptr inbounds %struct.signature** %150, i32 %shr.i.i49.i
+  %151 = load %struct.signature** %arrayidx.i.i50.i, align 4
+  %props.i51.i = getelementptr inbounds %struct.signature* %151, i32 0, i32 4
+  %152 = load i32* %props.i51.i, align 4
+  %or.i52.i = or i32 %152, 512
+  store i32 %or.i52.i, i32* %props.i51.i, align 4
+  %scan.0.idx43.i = getelementptr %struct.LIST_HELP* %scan.087.i, i32 0, i32 0
+  %scan.0.idx43.val.i = load %struct.LIST_HELP** %scan.0.idx43.i, align 4
+  %cmp.i70.i = icmp eq %struct.LIST_HELP* %scan.0.idx43.val.i, null
+  br i1 %cmp.i70.i, label %dfg_SymbolGenerated.exit, label %for.body.i
+
+dfg_SymbolGenerated.exit:                         ; preds = %for.inc.us.i, %for.inc.i, %for.cond.preheader.i
+  %153 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i.i = getelementptr inbounds %struct.signature** %153, i32 %shr.i.i54.i
+  %154 = load %struct.signature** %arrayidx.i.i.i, align 4
+  %generatedBy.i.i = getelementptr inbounds %struct.signature* %154, i32 0, i32 6
+  store %struct.LIST_HELP* %115, %struct.LIST_HELP** %generatedBy.i.i, align 4
+  br label %sw.epilog1200
+
+sw.bb217:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb219:                                         ; preds = %yyreduce
+  store i32 1, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb221:                                         ; preds = %yyreduce
+  %string223 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %155 = load i8** %string223, align 4
+  %call.i.i1810 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1811 = getelementptr inbounds i8* %call.i.i1810, i32 4
+  %156 = bitcast i8* %car.i.i1811 to i8**
+  store i8* %155, i8** %156, align 4
+  %cdr.i.i1812 = bitcast i8* %call.i.i1810 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1812, align 4
+  %call224.c = ptrtoint i8* %call.i.i1810 to i32
+  store i32 %call224.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb226:                                         ; preds = %yyreduce
+  %string228 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %157 = load i8** %string228, align 4
+  %arrayidx229 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list230 = bitcast %union.yystype* %arrayidx229 to %struct.LIST_HELP**
+  %158 = load %struct.LIST_HELP** %list230, align 4
+  %call.i1813 = call i8* @memory_Malloc(i32 8) #1
+  %car.i = getelementptr inbounds i8* %call.i1813, i32 4
+  %159 = bitcast i8* %car.i to i8**
+  store i8* %157, i8** %159, align 4
+  %cdr.i = bitcast i8* %call.i1813 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %158, %struct.LIST_HELP** %cdr.i, align 4
+  %call231.c = ptrtoint i8* %call.i1813 to i32
+  store i32 %call231.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb233:                                         ; preds = %yyreduce
+  %string235 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %160 = load i8** %string235, align 4
+  call void @string_StringFree(i8* %160) #1
+  br label %sw.epilog1200
+
+sw.bb236:                                         ; preds = %yyreduce
+  %string238 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %161 = load i8** %string238, align 4
+  call void @string_StringFree(i8* %161) #1
+  br label %sw.epilog1200
+
+sw.bb239:                                         ; preds = %yyreduce
+  %arrayidx240 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list241 = bitcast %union.yystype* %arrayidx240 to %struct.LIST_HELP**
+  %162 = load %struct.LIST_HELP** %list241, align 4
+  %call242 = call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %162) #1
+  %bool244 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5, i32 0
+  %163 = load i32* %bool244, align 4
+  %tobool245 = icmp eq i32 %163, 0
+  br i1 %tobool245, label %if.else250, label %if.then246
+
+if.then246:                                       ; preds = %sw.bb239
+  %164 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  %165 = load %struct.LIST_HELP** %list241, align 4
+  %cmp.i.i1814 = icmp eq %struct.LIST_HELP* %164, null
+  br i1 %cmp.i.i1814, label %list_Nconc.exit1824, label %if.end.i1816
+
+if.end.i1816:                                     ; preds = %if.then246
+  %cmp.i18.i1815 = icmp eq %struct.LIST_HELP* %165, null
+  br i1 %cmp.i18.i1815, label %list_Nconc.exit1824, label %for.cond.i1821
+
+for.cond.i1821:                                   ; preds = %if.end.i1816, %for.cond.i1821
+  %List1.addr.0.i1817 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1819, %for.cond.i1821 ], [ %164, %if.end.i1816 ]
+  %List1.addr.0.idx15.i1818 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1817, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1819 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1818, align 4
+  %cmp.i16.i1820 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1819, null
+  br i1 %cmp.i16.i1820, label %for.end.i1822, label %for.cond.i1821
+
+for.end.i1822:                                    ; preds = %for.cond.i1821
+  store %struct.LIST_HELP* %165, %struct.LIST_HELP** %List1.addr.0.idx15.i1818, align 4
+  br label %list_Nconc.exit1824
+
+list_Nconc.exit1824:                              ; preds = %if.then246, %if.end.i1816, %for.end.i1822
+  %retval.0.i1823 = phi %struct.LIST_HELP* [ %164, %for.end.i1822 ], [ %165, %if.then246 ], [ %164, %if.end.i1816 ]
+  store %struct.LIST_HELP* %retval.0.i1823, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  br label %sw.epilog1200
+
+if.else250:                                       ; preds = %sw.bb239
+  %166 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  %167 = load %struct.LIST_HELP** %list241, align 4
+  %cmp.i.i1825 = icmp eq %struct.LIST_HELP* %166, null
+  br i1 %cmp.i.i1825, label %list_Nconc.exit1835, label %if.end.i1827
+
+if.end.i1827:                                     ; preds = %if.else250
+  %cmp.i18.i1826 = icmp eq %struct.LIST_HELP* %167, null
+  br i1 %cmp.i18.i1826, label %list_Nconc.exit1835, label %for.cond.i1832
+
+for.cond.i1832:                                   ; preds = %if.end.i1827, %for.cond.i1832
+  %List1.addr.0.i1828 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1830, %for.cond.i1832 ], [ %166, %if.end.i1827 ]
+  %List1.addr.0.idx15.i1829 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1828, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1830 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1829, align 4
+  %cmp.i16.i1831 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1830, null
+  br i1 %cmp.i16.i1831, label %for.end.i1833, label %for.cond.i1832
+
+for.end.i1833:                                    ; preds = %for.cond.i1832
+  store %struct.LIST_HELP* %167, %struct.LIST_HELP** %List1.addr.0.idx15.i1829, align 4
+  br label %list_Nconc.exit1835
+
+list_Nconc.exit1835:                              ; preds = %if.else250, %if.end.i1827, %for.end.i1833
+  %retval.0.i1834 = phi %struct.LIST_HELP* [ %166, %for.end.i1833 ], [ %167, %if.else250 ], [ %166, %if.end.i1827 ]
+  store %struct.LIST_HELP* %retval.0.i1834, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  br label %sw.epilog1200
+
+sw.bb255:                                         ; preds = %yyreduce
+  store i32 1, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb257:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb259:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb262:                                         ; preds = %yyreduce
+  %arrayidx263 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %term264 = bitcast %union.yystype* %arrayidx263 to %struct.term**
+  %168 = load %struct.term** %term264, align 4
+  %cmp265 = icmp eq %struct.term* %168, null
+  %arrayidx268 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string269 = bitcast %union.yystype* %arrayidx268 to i8**
+  %169 = load i8** %string269, align 4
+  br i1 %cmp265, label %if.then267, label %if.else279
+
+if.then267:                                       ; preds = %sw.bb262
+  %cmp270 = icmp eq i8* %169, null
+  br i1 %cmp270, label %if.end275, label %if.then272
+
+if.then272:                                       ; preds = %if.then267
+  call void @string_StringFree(i8* %169) #1
+  br label %if.end275
+
+if.end275:                                        ; preds = %if.then267, %if.then272
+  %arrayidx276 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
+  %list277 = bitcast %union.yystype* %arrayidx276 to %struct.LIST_HELP**
+  %170 = load %struct.LIST_HELP** %list277, align 4
+  %.c1755 = ptrtoint %struct.LIST_HELP* %170 to i32
+  br label %if.end289
+
+if.else279:                                       ; preds = %sw.bb262
+  %171 = bitcast %struct.term* %168 to %struct.LIST_HELP*
+  %call.i.i1836 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1837 = getelementptr inbounds i8* %call.i.i1836, i32 4
+  %172 = bitcast i8* %car.i.i1837 to i8**
+  store i8* %169, i8** %172, align 4
+  %cdr.i.i1838 = bitcast i8* %call.i.i1836 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %171, %struct.LIST_HELP** %cdr.i.i1838, align 4
+  %arrayidx285 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
+  %list286 = bitcast %union.yystype* %arrayidx285 to %struct.LIST_HELP**
+  %173 = load %struct.LIST_HELP** %list286, align 4
+  %call.i1839 = call i8* @memory_Malloc(i32 8) #1
+  %car.i1840 = getelementptr inbounds i8* %call.i1839, i32 4
+  %174 = bitcast i8* %car.i1840 to i8**
+  store i8* %call.i.i1836, i8** %174, align 4
+  %cdr.i1841 = bitcast i8* %call.i1839 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %173, %struct.LIST_HELP** %cdr.i1841, align 4
+  %call287.c = ptrtoint i8* %call.i1839 to i32
+  br label %if.end289
+
+if.end289:                                        ; preds = %if.else279, %if.end275
+  %storemerge2213 = phi i32 [ %call287.c, %if.else279 ], [ %.c1755, %if.end275 ]
+  store i32 %storemerge2213, i32* %2, align 4
+  %175 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %cmp.i.i1842 = icmp eq %struct.LIST_HELP* %175, null
+  br i1 %cmp.i.i1842, label %dfg_VarCheck.exit1847, label %if.then.i1845
+
+if.then.i1845:                                    ; preds = %if.end289
+  %176 = load %struct._IO_FILE** @stdout, align 4
+  %call1.i1843 = call i32 @fflush(%struct._IO_FILE* %176) #1
+  %177 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
+  %178 = load %struct._IO_FILE** @stderr, align 4
+  %179 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %178) #1
+  call fastcc void @misc_DumpCore() #1
+  unreachable
+
+dfg_VarCheck.exit1847:                            ; preds = %if.end289
+  store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
+  br label %sw.epilog1200
+
+sw.bb290:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb292:                                         ; preds = %yyreduce
+  %string294 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %180 = load i8** %string294, align 4
+  %.c1754 = ptrtoint i8* %180 to i32
+  store i32 %.c1754, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb296:                                         ; preds = %yyreduce
+  %term298 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %181 = load %struct.term** %term298, align 4
+  %.c1753 = ptrtoint %struct.term* %181 to i32
+  store i32 %.c1753, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb300:                                         ; preds = %yyreduce
+  %182 = load i32* @dfg_IGNORE, align 4
+  %tobool301 = icmp eq i32 %182, 0
+  br i1 %tobool301, label %cond.false303, label %cond.end309
+
+cond.false303:                                    ; preds = %sw.bb300
+  %183 = load i32* @fol_NOT, align 4
+  %arrayidx305 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term306 = bitcast %union.yystype* %arrayidx305 to %struct.term**
+  %184 = load %struct.term** %term306, align 4
+  %185 = bitcast %struct.term* %184 to i8*
+  %call.i.i1848 = call i8* @memory_Malloc(i32 8) #1
+  %186 = bitcast i8* %call.i.i1848 to %struct.LIST_HELP*
+  %car.i.i1849 = getelementptr inbounds i8* %call.i.i1848, i32 4
+  %187 = bitcast i8* %car.i.i1849 to i8**
+  store i8* %185, i8** %187, align 4
+  %cdr.i.i1850 = bitcast i8* %call.i.i1848 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1850, align 4
+  %call308 = call %struct.term* @term_Create(i32 %183, %struct.LIST_HELP* %186) #1
+  %phitmp1752 = ptrtoint %struct.term* %call308 to i32
+  br label %cond.end309
+
+cond.end309:                                      ; preds = %sw.bb300, %cond.false303
+  %cond310 = phi i32 [ %phitmp1752, %cond.false303 ], [ 0, %sw.bb300 ]
+  store i32 %cond310, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb312:                                         ; preds = %yyreduce
+  %188 = load i32* @dfg_IGNORE, align 4
+  %tobool313 = icmp eq i32 %188, 0
+  br i1 %tobool313, label %cond.false315, label %cond.end324
+
+cond.false315:                                    ; preds = %sw.bb312
+  %symbol = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5, i32 0
+  %189 = load i32* %symbol, align 4
+  %arrayidx317 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %term318 = bitcast %union.yystype* %arrayidx317 to %struct.term**
+  %190 = load %struct.term** %term318, align 4
+  %191 = bitcast %struct.term* %190 to i8*
+  %arrayidx319 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term320 = bitcast %union.yystype* %arrayidx319 to %struct.term**
+  %192 = load %struct.term** %term320, align 4
+  %193 = bitcast %struct.term* %192 to i8*
+  %call.i.i1851 = call i8* @memory_Malloc(i32 8) #1
+  %194 = bitcast i8* %call.i.i1851 to %struct.LIST_HELP*
+  %car.i.i1852 = getelementptr inbounds i8* %call.i.i1851, i32 4
+  %195 = bitcast i8* %car.i.i1852 to i8**
+  store i8* %193, i8** %195, align 4
+  %cdr.i.i1853 = bitcast i8* %call.i.i1851 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1853, align 4
+  %call.i1854 = call i8* @memory_Malloc(i32 8) #1
+  %196 = bitcast i8* %call.i1854 to %struct.LIST_HELP*
+  %car.i1855 = getelementptr inbounds i8* %call.i1854, i32 4
+  %197 = bitcast i8* %car.i1855 to i8**
+  store i8* %191, i8** %197, align 4
+  %cdr.i1856 = bitcast i8* %call.i1854 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %194, %struct.LIST_HELP** %cdr.i1856, align 4
+  %call323 = call %struct.term* @term_Create(i32 %189, %struct.LIST_HELP* %196) #1
+  %phitmp1751 = ptrtoint %struct.term* %call323 to i32
+  br label %cond.end324
+
+cond.end324:                                      ; preds = %sw.bb312, %cond.false315
+  %cond325 = phi i32 [ %phitmp1751, %cond.false315 ], [ 0, %sw.bb312 ]
+  store i32 %cond325, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb327:                                         ; preds = %yyreduce
+  %198 = load i32* @dfg_IGNORE, align 4
+  %tobool328 = icmp eq i32 %198, 0
+  br i1 %tobool328, label %cond.false330, label %cond.end336
+
+cond.false330:                                    ; preds = %sw.bb327
+  %symbol332 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3, i32 0
+  %199 = load i32* %symbol332, align 4
+  %arrayidx333 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %list334 = bitcast %union.yystype* %arrayidx333 to %struct.LIST_HELP**
+  %200 = load %struct.LIST_HELP** %list334, align 4
+  %call335 = call %struct.term* @term_Create(i32 %199, %struct.LIST_HELP* %200) #1
+  %phitmp1750 = ptrtoint %struct.term* %call335 to i32
+  br label %cond.end336
+
+cond.end336:                                      ; preds = %sw.bb327, %cond.false330
+  %cond337 = phi i32 [ %phitmp1750, %cond.false330 ], [ 0, %sw.bb327 ]
+  store i32 %cond337, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb339:                                         ; preds = %yyreduce
+  %201 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %call.i.i.i1857 = call i8* @memory_Malloc(i32 8) #1
+  %202 = bitcast i8* %call.i.i.i1857 to %struct.LIST_HELP*
+  %car.i.i.i1858 = getelementptr inbounds i8* %call.i.i.i1857, i32 4
+  %203 = bitcast i8* %car.i.i.i1858 to i8**
+  store i8* null, i8** %203, align 4
+  %cdr.i.i.i1859 = bitcast i8* %call.i.i.i1857 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %201, %struct.LIST_HELP** %cdr.i.i.i1859, align 4
+  store %struct.LIST_HELP* %202, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  store i1 true, i1* @dfg_VARDECL, align 1
+  br label %sw.epilog1200
+
+sw.bb340:                                         ; preds = %yyreduce
+  store i1 false, i1* @dfg_VARDECL, align 1
+  br label %sw.epilog1200
+
+sw.bb341:                                         ; preds = %yyreduce
+  %204 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %.idx.i1860 = getelementptr %struct.LIST_HELP* %204, i32 0, i32 1
+  %.idx.val.i1861 = load i8** %.idx.i1860, align 4
+  %205 = bitcast i8* %.idx.val.i1861 to %struct.LIST_HELP*
+  call void @list_DeleteWithElement(%struct.LIST_HELP* %205, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
+  %206 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %L.idx.i.i1862 = getelementptr %struct.LIST_HELP* %206, i32 0, i32 0
+  %L.idx.val.i.i1863 = load %struct.LIST_HELP** %L.idx.i.i1862, align 4
+  %207 = bitcast %struct.LIST_HELP* %206 to i8*
+  %208 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i1864 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %208, i32 0, i32 4
+  %209 = load i32* %total_size.i.i.i.i1864, align 4
+  %210 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i1865 = add i32 %210, %209
+  store i32 %add24.i.i.i.i1865, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i1866 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %208, i32 0, i32 0
+  %211 = load i8** %free.i.i.i.i1866, align 4
+  %.c.i.i.i1867 = bitcast i8* %211 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i1867, %struct.LIST_HELP** %L.idx.i.i1862, align 4
+  %212 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i1868 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %212, i32 0, i32 0
+  store i8* %207, i8** %free27.i.i.i.i1868, align 4
+  store %struct.LIST_HELP* %L.idx.val.i.i1863, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %213 = load i32* @dfg_IGNORE, align 4
+  %tobool342 = icmp eq i32 %213, 0
+  br i1 %tobool342, label %cond.false344, label %cond.end352
+
+cond.false344:                                    ; preds = %sw.bb341
+  %symbol346 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -9, i32 0
+  %214 = load i32* %symbol346, align 4
+  %arrayidx347 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5
+  %list348 = bitcast %union.yystype* %arrayidx347 to %struct.LIST_HELP**
+  %215 = load %struct.LIST_HELP** %list348, align 4
+  %arrayidx349 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term350 = bitcast %union.yystype* %arrayidx349 to %struct.term**
+  %216 = load %struct.term** %term350, align 4
+  %call351 = call %struct.term* @dfg_CreateQuantifier(i32 %214, %struct.LIST_HELP* %215, %struct.term* %216)
+  %phitmp1749 = ptrtoint %struct.term* %call351 to i32
+  br label %cond.end352
+
+cond.end352:                                      ; preds = %sw.bb341, %cond.false344
+  %cond353 = phi i32 [ %phitmp1749, %cond.false344 ], [ 0, %sw.bb341 ]
+  store i32 %cond353, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb355:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb357:                                         ; preds = %yyreduce
+  %term359 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %217 = load %struct.term** %term359, align 4
+  %.c1748 = ptrtoint %struct.term* %217 to i32
+  store i32 %.c1748, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb361:                                         ; preds = %yyreduce
+  %218 = load i32* @dfg_IGNORE, align 4
+  %tobool362 = icmp eq i32 %218, 0
+  br i1 %tobool362, label %cond.false365, label %cond.end369
+
+cond.false365:                                    ; preds = %sw.bb361
+  %term367 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %219 = load %struct.term** %term367, align 4
+  %220 = bitcast %struct.term* %219 to i8*
+  %call.i.i1869 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1870 = getelementptr inbounds i8* %call.i.i1869, i32 4
+  %221 = bitcast i8* %car.i.i1870 to i8**
+  store i8* %220, i8** %221, align 4
+  %cdr.i.i1871 = bitcast i8* %call.i.i1869 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1871, align 4
+  %phitmp1747 = ptrtoint i8* %call.i.i1869 to i32
+  br label %cond.end369
+
+cond.end369:                                      ; preds = %sw.bb361, %cond.false365
+  %cond370 = phi i32 [ %phitmp1747, %cond.false365 ], [ 0, %sw.bb361 ]
+  store i32 %cond370, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb372:                                         ; preds = %yyreduce
+  %222 = load i32* @dfg_IGNORE, align 4
+  %tobool373 = icmp eq i32 %222, 0
+  %arrayidx375 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list376 = bitcast %union.yystype* %arrayidx375 to %struct.LIST_HELP**
+  %223 = load %struct.LIST_HELP** %list376, align 4
+  br i1 %tobool373, label %cond.false377, label %cond.end384
+
+cond.false377:                                    ; preds = %sw.bb372
+  %term381 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %224 = load %struct.term** %term381, align 4
+  %225 = bitcast %struct.term* %224 to i8*
+  %call.i.i1872 = call i8* @memory_Malloc(i32 8) #1
+  %226 = bitcast i8* %call.i.i1872 to %struct.LIST_HELP*
+  %car.i.i1873 = getelementptr inbounds i8* %call.i.i1872, i32 4
+  %227 = bitcast i8* %car.i.i1873 to i8**
+  store i8* %225, i8** %227, align 4
+  %cdr.i.i1874 = bitcast i8* %call.i.i1872 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1874, align 4
+  %cmp.i.i1875 = icmp eq %struct.LIST_HELP* %223, null
+  br i1 %cmp.i.i1875, label %cond.end384, label %if.end.i1877
+
+if.end.i1877:                                     ; preds = %cond.false377
+  %cmp.i18.i1876 = icmp eq i8* %call.i.i1872, null
+  br i1 %cmp.i18.i1876, label %cond.end384, label %for.cond.i1882
+
+for.cond.i1882:                                   ; preds = %if.end.i1877, %for.cond.i1882
+  %List1.addr.0.i1878 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1880, %for.cond.i1882 ], [ %223, %if.end.i1877 ]
+  %List1.addr.0.idx15.i1879 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1878, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1880 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1879, align 4
+  %cmp.i16.i1881 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1880, null
+  br i1 %cmp.i16.i1881, label %for.end.i1883, label %for.cond.i1882
+
+for.end.i1883:                                    ; preds = %for.cond.i1882
+  store %struct.LIST_HELP* %226, %struct.LIST_HELP** %List1.addr.0.idx15.i1879, align 4
+  br label %cond.end384
+
+cond.end384:                                      ; preds = %for.end.i1883, %if.end.i1877, %cond.false377, %sw.bb372
+  %cond385 = phi %struct.LIST_HELP* [ %223, %sw.bb372 ], [ %223, %for.end.i1883 ], [ %226, %cond.false377 ], [ %223, %if.end.i1877 ]
+  %cond385.c = ptrtoint %struct.LIST_HELP* %cond385 to i32
+  store i32 %cond385.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb387:                                         ; preds = %yyreduce
+  %228 = load i32* @fol_EQUIV, align 4
+  store i32 %228, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb390:                                         ; preds = %yyreduce
+  %229 = load i32* @fol_IMPLIED, align 4
+  store i32 %229, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb393:                                         ; preds = %yyreduce
+  %230 = load i32* @fol_IMPLIES, align 4
+  store i32 %230, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb396:                                         ; preds = %yyreduce
+  %231 = load i32* @fol_AND, align 4
+  store i32 %231, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb399:                                         ; preds = %yyreduce
+  %232 = load i32* @fol_OR, align 4
+  store i32 %232, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb402:                                         ; preds = %yyreduce
+  %233 = load i32* @fol_EXIST, align 4
+  store i32 %233, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb405:                                         ; preds = %yyreduce
+  %234 = load i32* @fol_ALL, align 4
+  store i32 %234, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb408:                                         ; preds = %yyreduce
+  %235 = load i32* @dfg_IGNORE, align 4
+  %tobool409 = icmp eq i32 %235, 0
+  %string412 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %236 = load i8** %string412, align 4
+  br i1 %tobool409, label %if.else414, label %if.then410
+
+if.then410:                                       ; preds = %sw.bb408
+  call void @string_StringFree(i8* %236) #1
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+if.else414:                                       ; preds = %sw.bb408
+  %.c1746 = ptrtoint i8* %236 to i32
+  store i32 %.c1746, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb419:                                         ; preds = %yyreduce
+  %237 = load i32* @dfg_IGNORE, align 4
+  %tobool420 = icmp eq i32 %237, 0
+  br i1 %tobool420, label %cond.false422, label %cond.end426
+
+cond.false422:                                    ; preds = %sw.bb419
+  %number424 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 0, i32 0
+  %238 = load i32* %number424, align 4
+  %call425 = call i8* @string_IntToString(i32 %238) #1
+  %phitmp1745 = ptrtoint i8* %call425 to i32
+  br label %cond.end426
+
+cond.end426:                                      ; preds = %sw.bb419, %cond.false422
+  %cond427 = phi i32 [ %phitmp1745, %cond.false422 ], [ 0, %sw.bb419 ]
+  store i32 %cond427, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb429:                                         ; preds = %yyreduce
+  %239 = load i32* @dfg_IGNORE, align 4
+  %tobool430 = icmp eq i32 %239, 0
+  br i1 %tobool430, label %cond.false432, label %cond.end434
+
+cond.false432:                                    ; preds = %sw.bb429
+  %call433 = call i8* @string_StringCopy(i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0)) #1
+  %phitmp1744 = ptrtoint i8* %call433 to i32
+  br label %cond.end434
+
+cond.end434:                                      ; preds = %sw.bb429, %cond.false432
+  %cond435 = phi i32 [ %phitmp1744, %cond.false432 ], [ 0, %sw.bb429 ]
+  store i32 %cond435, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb437:                                         ; preds = %yyreduce
+  %240 = load i32* @dfg_IGNORE, align 4
+  %tobool438 = icmp eq i32 %240, 0
+  br i1 %tobool438, label %cond.false440, label %cond.end442
+
+cond.false440:                                    ; preds = %sw.bb437
+  %call441 = call i8* @string_StringCopy(i8* getelementptr inbounds ([12 x i8]* @.str1, i32 0, i32 0)) #1
+  %phitmp1743 = ptrtoint i8* %call441 to i32
+  br label %cond.end442
+
+cond.end442:                                      ; preds = %sw.bb437, %cond.false440
+  %cond443 = phi i32 [ %phitmp1743, %cond.false440 ], [ 0, %sw.bb437 ]
+  store i32 %cond443, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb445:                                         ; preds = %yyreduce
+  %241 = load i32* @dfg_IGNORE, align 4
+  %tobool446 = icmp eq i32 %241, 0
+  br i1 %tobool446, label %cond.false448, label %cond.end450
+
+cond.false448:                                    ; preds = %sw.bb445
+  %call449 = call i8* @string_StringCopy(i8* getelementptr inbounds ([15 x i8]* @.str2, i32 0, i32 0)) #1
+  %phitmp1742 = ptrtoint i8* %call449 to i32
+  br label %cond.end450
+
+cond.end450:                                      ; preds = %sw.bb445, %cond.false448
+  %cond451 = phi i32 [ %phitmp1742, %cond.false448 ], [ 0, %sw.bb445 ]
+  store i32 %cond451, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb453:                                         ; preds = %yyreduce
+  %242 = load i32* @dfg_IGNORE, align 4
+  %tobool454 = icmp eq i32 %242, 0
+  br i1 %tobool454, label %cond.false457, label %cond.end461
+
+cond.false457:                                    ; preds = %sw.bb453
+  %term459 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %243 = load %struct.term** %term459, align 4
+  %244 = bitcast %struct.term* %243 to i8*
+  %call.i.i1886 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1887 = getelementptr inbounds i8* %call.i.i1886, i32 4
+  %245 = bitcast i8* %car.i.i1887 to i8**
+  store i8* %244, i8** %245, align 4
+  %cdr.i.i1888 = bitcast i8* %call.i.i1886 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1888, align 4
+  %phitmp1741 = ptrtoint i8* %call.i.i1886 to i32
+  br label %cond.end461
+
+cond.end461:                                      ; preds = %sw.bb453, %cond.false457
+  %cond462 = phi i32 [ %phitmp1741, %cond.false457 ], [ 0, %sw.bb453 ]
+  store i32 %cond462, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb464:                                         ; preds = %yyreduce
+  %246 = load i32* @dfg_IGNORE, align 4
+  %tobool465 = icmp eq i32 %246, 0
+  %arrayidx467 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list468 = bitcast %union.yystype* %arrayidx467 to %struct.LIST_HELP**
+  %247 = load %struct.LIST_HELP** %list468, align 4
+  br i1 %tobool465, label %cond.false469, label %cond.end476
+
+cond.false469:                                    ; preds = %sw.bb464
+  %term473 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %248 = load %struct.term** %term473, align 4
+  %249 = bitcast %struct.term* %248 to i8*
+  %call.i.i1889 = call i8* @memory_Malloc(i32 8) #1
+  %250 = bitcast i8* %call.i.i1889 to %struct.LIST_HELP*
+  %car.i.i1890 = getelementptr inbounds i8* %call.i.i1889, i32 4
+  %251 = bitcast i8* %car.i.i1890 to i8**
+  store i8* %249, i8** %251, align 4
+  %cdr.i.i1891 = bitcast i8* %call.i.i1889 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1891, align 4
+  %cmp.i.i1892 = icmp eq %struct.LIST_HELP* %247, null
+  br i1 %cmp.i.i1892, label %cond.end476, label %if.end.i1894
+
+if.end.i1894:                                     ; preds = %cond.false469
+  %cmp.i18.i1893 = icmp eq i8* %call.i.i1889, null
+  br i1 %cmp.i18.i1893, label %cond.end476, label %for.cond.i1899
+
+for.cond.i1899:                                   ; preds = %if.end.i1894, %for.cond.i1899
+  %List1.addr.0.i1895 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1897, %for.cond.i1899 ], [ %247, %if.end.i1894 ]
+  %List1.addr.0.idx15.i1896 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1895, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1897 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1896, align 4
+  %cmp.i16.i1898 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1897, null
+  br i1 %cmp.i16.i1898, label %for.end.i1900, label %for.cond.i1899
+
+for.end.i1900:                                    ; preds = %for.cond.i1899
+  store %struct.LIST_HELP* %250, %struct.LIST_HELP** %List1.addr.0.idx15.i1896, align 4
+  br label %cond.end476
+
+cond.end476:                                      ; preds = %for.end.i1900, %if.end.i1894, %cond.false469, %sw.bb464
+  %cond477 = phi %struct.LIST_HELP* [ %247, %sw.bb464 ], [ %247, %for.end.i1900 ], [ %250, %cond.false469 ], [ %247, %if.end.i1894 ]
+  %cond477.c = ptrtoint %struct.LIST_HELP* %cond477 to i32
+  store i32 %cond477.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb479:                                         ; preds = %yyreduce
+  %252 = load i32* @dfg_IGNORE, align 4
+  %tobool480 = icmp eq i32 %252, 0
+  br i1 %tobool480, label %if.then481, label %sw.epilog1200
+
+if.then481:                                       ; preds = %sw.bb479
+  %string483 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %253 = load i8** %string483, align 4
+  %call484 = call fastcc i32 @dfg_Symbol(i8* %253, i32 0)
+  %cmp.i1903 = icmp sgt i32 %call484, 0
+  br i1 %cmp.i1903, label %if.end489, label %if.then487
+
+if.then487:                                       ; preds = %if.then481
+  %254 = load %struct._IO_FILE** @stdout, align 4
+  %call488 = call i32 @fflush(%struct._IO_FILE* %254) #1
+  %255 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([38 x i8]* @.str3, i32 0, i32 0), i32 %255) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end489:                                        ; preds = %if.then481
+  %call491 = call %struct.term* @term_Create(i32 %call484, %struct.LIST_HELP* null) #1
+  %call491.c = ptrtoint %struct.term* %call491 to i32
+  store i32 %call491.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb494:                                         ; preds = %yyreduce
+  %256 = load i32* @dfg_IGNORE, align 4
+  %tobool495 = icmp eq i32 %256, 0
+  br i1 %tobool495, label %if.then496, label %sw.epilog1200
+
+if.then496:                                       ; preds = %sw.bb494
+  %arrayidx497 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string498 = bitcast %union.yystype* %arrayidx497 to i8**
+  %257 = load i8** %string498, align 4
+  %call499 = call fastcc i32 @dfg_Symbol(i8* %257, i32 1)
+  %tobool.i = icmp sgt i32 %call499, -1
+  br i1 %tobool.i, label %if.then502, label %land.rhs.i
+
+land.rhs.i:                                       ; preds = %if.then496
+  %sub.i.i1904 = sub nsw i32 0, %call499
+  %and.i.i1905 = and i32 %3, %sub.i.i1904
+  %cmp.i1906 = icmp eq i32 %and.i.i1905, 2
+  br i1 %cmp.i1906, label %if.end504, label %if.then502
+
+if.then502:                                       ; preds = %if.then496, %land.rhs.i
+  %258 = load %struct._IO_FILE** @stdout, align 4
+  %call503 = call i32 @fflush(%struct._IO_FILE* %258) #1
+  %259 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([39 x i8]* @.str4, i32 0, i32 0), i32 %259) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end504:                                        ; preds = %land.rhs.i
+  %arrayidx505 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %string506 = bitcast %union.yystype* %arrayidx505 to i8**
+  %260 = load i8** %string506, align 4
+  %call507 = call fastcc i32 @dfg_Symbol(i8* %260, i32 0)
+  %cmp.i1907 = icmp sgt i32 %call507, 0
+  br i1 %cmp.i1907, label %if.end512, label %if.then510
+
+if.then510:                                       ; preds = %if.end504
+  %261 = load %struct._IO_FILE** @stdout, align 4
+  %call511 = call i32 @fflush(%struct._IO_FILE* %261) #1
+  %262 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([38 x i8]* @.str3, i32 0, i32 0), i32 %262) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end512:                                        ; preds = %if.end504
+  %call514 = call %struct.term* @term_Create(i32 %call507, %struct.LIST_HELP* null) #1
+  %263 = bitcast %struct.term* %call514 to i8*
+  %call.i.i1909 = call i8* @memory_Malloc(i32 8) #1
+  %264 = bitcast i8* %call.i.i1909 to %struct.LIST_HELP*
+  %car.i.i1910 = getelementptr inbounds i8* %call.i.i1909, i32 4
+  %265 = bitcast i8* %car.i.i1910 to i8**
+  store i8* %263, i8** %265, align 4
+  %cdr.i.i1911 = bitcast i8* %call.i.i1909 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1911, align 4
+  %call516 = call %struct.term* @term_Create(i32 %call499, %struct.LIST_HELP* %264) #1
+  %call516.c = ptrtoint %struct.term* %call516 to i32
+  store i32 %call516.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb519:                                         ; preds = %yyreduce
+  %arrayidx520 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list521 = bitcast %union.yystype* %arrayidx520 to %struct.LIST_HELP**
+  %266 = load %struct.LIST_HELP** %list521, align 4
+  %call522 = call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %266) #1
+  %bool524 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7, i32 0
+  %267 = load i32* %bool524, align 4
+  %tobool525 = icmp eq i32 %267, 0
+  br i1 %tobool525, label %if.else530, label %if.then526
+
+if.then526:                                       ; preds = %sw.bb519
+  %268 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %269 = load %struct.LIST_HELP** %list521, align 4
+  %cmp.i.i1912 = icmp eq %struct.LIST_HELP* %268, null
+  br i1 %cmp.i.i1912, label %list_Nconc.exit1922, label %if.end.i1914
+
+if.end.i1914:                                     ; preds = %if.then526
+  %cmp.i18.i1913 = icmp eq %struct.LIST_HELP* %269, null
+  br i1 %cmp.i18.i1913, label %list_Nconc.exit1922, label %for.cond.i1919
+
+for.cond.i1919:                                   ; preds = %if.end.i1914, %for.cond.i1919
+  %List1.addr.0.i1915 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1917, %for.cond.i1919 ], [ %268, %if.end.i1914 ]
+  %List1.addr.0.idx15.i1916 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1915, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1917 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1916, align 4
+  %cmp.i16.i1918 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1917, null
+  br i1 %cmp.i16.i1918, label %for.end.i1920, label %for.cond.i1919
+
+for.end.i1920:                                    ; preds = %for.cond.i1919
+  store %struct.LIST_HELP* %269, %struct.LIST_HELP** %List1.addr.0.idx15.i1916, align 4
+  br label %list_Nconc.exit1922
+
+list_Nconc.exit1922:                              ; preds = %if.then526, %if.end.i1914, %for.end.i1920
+  %retval.0.i1921 = phi %struct.LIST_HELP* [ %268, %for.end.i1920 ], [ %269, %if.then526 ], [ %268, %if.end.i1914 ]
+  store %struct.LIST_HELP* %retval.0.i1921, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  br label %sw.epilog1200
+
+if.else530:                                       ; preds = %sw.bb519
+  %270 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  %271 = load %struct.LIST_HELP** %list521, align 4
+  %cmp.i.i1923 = icmp eq %struct.LIST_HELP* %270, null
+  br i1 %cmp.i.i1923, label %list_Nconc.exit1933, label %if.end.i1925
+
+if.end.i1925:                                     ; preds = %if.else530
+  %cmp.i18.i1924 = icmp eq %struct.LIST_HELP* %271, null
+  br i1 %cmp.i18.i1924, label %list_Nconc.exit1933, label %for.cond.i1930
+
+for.cond.i1930:                                   ; preds = %if.end.i1925, %for.cond.i1930
+  %List1.addr.0.i1926 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1928, %for.cond.i1930 ], [ %270, %if.end.i1925 ]
+  %List1.addr.0.idx15.i1927 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1926, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1928 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1927, align 4
+  %cmp.i16.i1929 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1928, null
+  br i1 %cmp.i16.i1929, label %for.end.i1931, label %for.cond.i1930
+
+for.end.i1931:                                    ; preds = %for.cond.i1930
+  store %struct.LIST_HELP* %271, %struct.LIST_HELP** %List1.addr.0.idx15.i1927, align 4
+  br label %list_Nconc.exit1933
+
+list_Nconc.exit1933:                              ; preds = %if.else530, %if.end.i1925, %for.end.i1931
+  %retval.0.i1932 = phi %struct.LIST_HELP* [ %270, %for.end.i1931 ], [ %271, %if.else530 ], [ %270, %if.end.i1925 ]
+  store %struct.LIST_HELP* %retval.0.i1932, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  br label %sw.epilog1200
+
+sw.bb535:                                         ; preds = %yyreduce
+  %272 = load i32* @dfg_IGNORE, align 4
+  %273 = inttoptr i32 %272 to i8*
+  %274 = load i32* @stack_POINTER, align 4
+  %inc.i = add i32 %274, 1
+  store i32 %inc.i, i32* @stack_POINTER, align 4
+  %arrayidx.i = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %274
+  store i8* %273, i8** %arrayidx.i, align 4
+  store i32 1, i32* @dfg_IGNORE, align 4
+  br label %sw.epilog1200
+
+sw.bb536:                                         ; preds = %yyreduce
+  %275 = load i32* @stack_POINTER, align 4
+  %dec.i = add i32 %275, -1
+  store i32 %dec.i, i32* @stack_POINTER, align 4
+  %arrayidx.i1934 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %dec.i
+  %276 = load i8** %arrayidx.i1934, align 4
+  %277 = ptrtoint i8* %276 to i32
+  store i32 %277, i32* @dfg_IGNORE, align 4
+  br label %sw.epilog1200
+
+sw.bb538:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb541:                                         ; preds = %yyreduce
+  %arrayidx543 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %term544 = bitcast %union.yystype* %arrayidx543 to %struct.term**
+  %278 = load %struct.term** %term544, align 4
+  %cmp545 = icmp eq %struct.term* %278, null
+  %arrayidx548 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string549 = bitcast %union.yystype* %arrayidx548 to i8**
+  %279 = load i8** %string549, align 4
+  br i1 %cmp545, label %if.then547, label %if.else559
+
+if.then547:                                       ; preds = %sw.bb541
+  %cmp550 = icmp eq i8* %279, null
+  br i1 %cmp550, label %if.end555, label %if.then552
+
+if.then552:                                       ; preds = %if.then547
+  call void @string_StringFree(i8* %279) #1
+  br label %if.end555
+
+if.end555:                                        ; preds = %if.then547, %if.then552
+  %arrayidx556 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
+  %list557 = bitcast %union.yystype* %arrayidx556 to %struct.LIST_HELP**
+  %280 = load %struct.LIST_HELP** %list557, align 4
+  %.c1740 = ptrtoint %struct.LIST_HELP* %280 to i32
+  br label %if.end569
+
+if.else559:                                       ; preds = %sw.bb541
+  %281 = bitcast %struct.term* %278 to %struct.LIST_HELP*
+  %call.i.i1935 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1936 = getelementptr inbounds i8* %call.i.i1935, i32 4
+  %282 = bitcast i8* %car.i.i1936 to i8**
+  store i8* %279, i8** %282, align 4
+  %cdr.i.i1937 = bitcast i8* %call.i.i1935 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %281, %struct.LIST_HELP** %cdr.i.i1937, align 4
+  %arrayidx565 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
+  %list566 = bitcast %union.yystype* %arrayidx565 to %struct.LIST_HELP**
+  %283 = load %struct.LIST_HELP** %list566, align 4
+  %call.i1938 = call i8* @memory_Malloc(i32 8) #1
+  %car.i1939 = getelementptr inbounds i8* %call.i1938, i32 4
+  %284 = bitcast i8* %car.i1939 to i8**
+  store i8* %call.i.i1935, i8** %284, align 4
+  %cdr.i1940 = bitcast i8* %call.i1938 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %283, %struct.LIST_HELP** %cdr.i1940, align 4
+  %call567.c = ptrtoint i8* %call.i1938 to i32
+  br label %if.end569
+
+if.end569:                                        ; preds = %if.else559, %if.end555
+  %storemerge = phi i32 [ %call567.c, %if.else559 ], [ %.c1740, %if.end555 ]
+  store i32 %storemerge, i32* %2, align 4
+  %285 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %cmp.i.i1941 = icmp eq %struct.LIST_HELP* %285, null
+  br i1 %cmp.i.i1941, label %dfg_VarCheck.exit1946, label %if.then.i1944
+
+if.then.i1944:                                    ; preds = %if.end569
+  %286 = load %struct._IO_FILE** @stdout, align 4
+  %call1.i1942 = call i32 @fflush(%struct._IO_FILE* %286) #1
+  %287 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
+  %288 = load %struct._IO_FILE** @stderr, align 4
+  %289 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %288) #1
+  call fastcc void @misc_DumpCore() #1
+  unreachable
+
+dfg_VarCheck.exit1946:                            ; preds = %if.end569
+  store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
+  br label %sw.epilog1200
+
+sw.bb570:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb572:                                         ; preds = %yyreduce
+  %term574 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %290 = load %struct.term** %term574, align 4
+  %.c1739 = ptrtoint %struct.term* %290 to i32
+  store i32 %.c1739, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb576:                                         ; preds = %yyreduce
+  %term578 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %291 = load %struct.term** %term578, align 4
+  %.c1738 = ptrtoint %struct.term* %291 to i32
+  store i32 %.c1738, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb580:                                         ; preds = %yyreduce
+  %292 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %call.i.i.i1947 = call i8* @memory_Malloc(i32 8) #1
+  %293 = bitcast i8* %call.i.i.i1947 to %struct.LIST_HELP*
+  %car.i.i.i1948 = getelementptr inbounds i8* %call.i.i.i1947, i32 4
+  %294 = bitcast i8* %car.i.i.i1948 to i8**
+  store i8* null, i8** %294, align 4
+  %cdr.i.i.i1949 = bitcast i8* %call.i.i.i1947 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %292, %struct.LIST_HELP** %cdr.i.i.i1949, align 4
+  store %struct.LIST_HELP* %293, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  store i1 true, i1* @dfg_VARDECL, align 1
+  br label %sw.epilog1200
+
+sw.bb581:                                         ; preds = %yyreduce
+  store i1 false, i1* @dfg_VARDECL, align 1
+  br label %sw.epilog1200
+
+sw.bb582:                                         ; preds = %yyreduce
+  %295 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %.idx.i1950 = getelementptr %struct.LIST_HELP* %295, i32 0, i32 1
+  %.idx.val.i1951 = load i8** %.idx.i1950, align 4
+  %296 = bitcast i8* %.idx.val.i1951 to %struct.LIST_HELP*
+  call void @list_DeleteWithElement(%struct.LIST_HELP* %296, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
+  %297 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %L.idx.i.i1952 = getelementptr %struct.LIST_HELP* %297, i32 0, i32 0
+  %L.idx.val.i.i1953 = load %struct.LIST_HELP** %L.idx.i.i1952, align 4
+  %298 = bitcast %struct.LIST_HELP* %297 to i8*
+  %299 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i1954 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %299, i32 0, i32 4
+  %300 = load i32* %total_size.i.i.i.i1954, align 4
+  %301 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i1955 = add i32 %301, %300
+  store i32 %add24.i.i.i.i1955, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i1956 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %299, i32 0, i32 0
+  %302 = load i8** %free.i.i.i.i1956, align 4
+  %.c.i.i.i1957 = bitcast i8* %302 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i1957, %struct.LIST_HELP** %L.idx.i.i1952, align 4
+  %303 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i1958 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %303, i32 0, i32 0
+  store i8* %298, i8** %free27.i.i.i.i1958, align 4
+  store %struct.LIST_HELP* %L.idx.val.i.i1953, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %304 = load i32* @dfg_IGNORE, align 4
+  %tobool583 = icmp eq i32 %304, 0
+  br i1 %tobool583, label %cond.false585, label %cond.end592
+
+cond.false585:                                    ; preds = %sw.bb582
+  %305 = load i32* @fol_ALL, align 4
+  %arrayidx587 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -5
+  %list588 = bitcast %union.yystype* %arrayidx587 to %struct.LIST_HELP**
+  %306 = load %struct.LIST_HELP** %list588, align 4
+  %arrayidx589 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term590 = bitcast %union.yystype* %arrayidx589 to %struct.term**
+  %307 = load %struct.term** %term590, align 4
+  %call591 = call %struct.term* @dfg_CreateQuantifier(i32 %305, %struct.LIST_HELP* %306, %struct.term* %307)
+  %phitmp1737 = ptrtoint %struct.term* %call591 to i32
+  br label %cond.end592
+
+cond.end592:                                      ; preds = %sw.bb582, %cond.false585
+  %cond593 = phi i32 [ %phitmp1737, %cond.false585 ], [ 0, %sw.bb582 ]
+  store i32 %cond593, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb595:                                         ; preds = %yyreduce
+  %308 = load i32* @dfg_IGNORE, align 4
+  %tobool596 = icmp eq i32 %308, 0
+  br i1 %tobool596, label %cond.false598, label %cond.end603
+
+cond.false598:                                    ; preds = %sw.bb595
+  %309 = load i32* @fol_OR, align 4
+  %arrayidx600 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %list601 = bitcast %union.yystype* %arrayidx600 to %struct.LIST_HELP**
+  %310 = load %struct.LIST_HELP** %list601, align 4
+  %call602 = call %struct.term* @term_Create(i32 %309, %struct.LIST_HELP* %310) #1
+  %phitmp1736 = ptrtoint %struct.term* %call602 to i32
+  br label %cond.end603
+
+cond.end603:                                      ; preds = %sw.bb595, %cond.false598
+  %cond604 = phi i32 [ %phitmp1736, %cond.false598 ], [ 0, %sw.bb595 ]
+  store i32 %cond604, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb606:                                         ; preds = %yyreduce
+  %311 = load i32* @dfg_IGNORE, align 4
+  %tobool607 = icmp eq i32 %311, 0
+  br i1 %tobool607, label %cond.false610, label %cond.end614
+
+cond.false610:                                    ; preds = %sw.bb606
+  %term612 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %312 = load %struct.term** %term612, align 4
+  %313 = bitcast %struct.term* %312 to i8*
+  %call.i.i1959 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1960 = getelementptr inbounds i8* %call.i.i1959, i32 4
+  %314 = bitcast i8* %car.i.i1960 to i8**
+  store i8* %313, i8** %314, align 4
+  %cdr.i.i1961 = bitcast i8* %call.i.i1959 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1961, align 4
+  %phitmp1735 = ptrtoint i8* %call.i.i1959 to i32
+  br label %cond.end614
+
+cond.end614:                                      ; preds = %sw.bb606, %cond.false610
+  %cond615 = phi i32 [ %phitmp1735, %cond.false610 ], [ 0, %sw.bb606 ]
+  store i32 %cond615, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb617:                                         ; preds = %yyreduce
+  %315 = load i32* @dfg_IGNORE, align 4
+  %tobool618 = icmp eq i32 %315, 0
+  %arrayidx620 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list621 = bitcast %union.yystype* %arrayidx620 to %struct.LIST_HELP**
+  %316 = load %struct.LIST_HELP** %list621, align 4
+  br i1 %tobool618, label %cond.false622, label %cond.end629
+
+cond.false622:                                    ; preds = %sw.bb617
+  %term626 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %317 = load %struct.term** %term626, align 4
+  %318 = bitcast %struct.term* %317 to i8*
+  %call.i.i1962 = call i8* @memory_Malloc(i32 8) #1
+  %319 = bitcast i8* %call.i.i1962 to %struct.LIST_HELP*
+  %car.i.i1963 = getelementptr inbounds i8* %call.i.i1962, i32 4
+  %320 = bitcast i8* %car.i.i1963 to i8**
+  store i8* %318, i8** %320, align 4
+  %cdr.i.i1964 = bitcast i8* %call.i.i1962 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1964, align 4
+  %cmp.i.i1965 = icmp eq %struct.LIST_HELP* %316, null
+  br i1 %cmp.i.i1965, label %cond.end629, label %if.end.i1967
+
+if.end.i1967:                                     ; preds = %cond.false622
+  %cmp.i18.i1966 = icmp eq i8* %call.i.i1962, null
+  br i1 %cmp.i18.i1966, label %cond.end629, label %for.cond.i1972
+
+for.cond.i1972:                                   ; preds = %if.end.i1967, %for.cond.i1972
+  %List1.addr.0.i1968 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1970, %for.cond.i1972 ], [ %316, %if.end.i1967 ]
+  %List1.addr.0.idx15.i1969 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1968, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1970 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1969, align 4
+  %cmp.i16.i1971 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1970, null
+  br i1 %cmp.i16.i1971, label %for.end.i1973, label %for.cond.i1972
+
+for.end.i1973:                                    ; preds = %for.cond.i1972
+  store %struct.LIST_HELP* %319, %struct.LIST_HELP** %List1.addr.0.idx15.i1969, align 4
+  br label %cond.end629
+
+cond.end629:                                      ; preds = %for.end.i1973, %if.end.i1967, %cond.false622, %sw.bb617
+  %cond630 = phi %struct.LIST_HELP* [ %316, %sw.bb617 ], [ %316, %for.end.i1973 ], [ %319, %cond.false622 ], [ %316, %if.end.i1967 ]
+  %cond630.c = ptrtoint %struct.LIST_HELP* %cond630 to i32
+  store i32 %cond630.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb632:                                         ; preds = %yyreduce
+  %term634 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %321 = load %struct.term** %term634, align 4
+  %.c1734 = ptrtoint %struct.term* %321 to i32
+  store i32 %.c1734, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb636:                                         ; preds = %yyreduce
+  %322 = load i32* @dfg_IGNORE, align 4
+  %tobool637 = icmp eq i32 %322, 0
+  br i1 %tobool637, label %cond.false641, label %cond.true638
+
+cond.true638:                                     ; preds = %sw.bb636
+  %arrayidx639 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term640 = bitcast %union.yystype* %arrayidx639 to %struct.term**
+  %323 = load %struct.term** %term640, align 4
+  br label %cond.end647
+
+cond.false641:                                    ; preds = %sw.bb636
+  %324 = load i32* @fol_NOT, align 4
+  %arrayidx643 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term644 = bitcast %union.yystype* %arrayidx643 to %struct.term**
+  %325 = load %struct.term** %term644, align 4
+  %326 = bitcast %struct.term* %325 to i8*
+  %call.i.i1976 = call i8* @memory_Malloc(i32 8) #1
+  %327 = bitcast i8* %call.i.i1976 to %struct.LIST_HELP*
+  %car.i.i1977 = getelementptr inbounds i8* %call.i.i1976, i32 4
+  %328 = bitcast i8* %car.i.i1977 to i8**
+  store i8* %326, i8** %328, align 4
+  %cdr.i.i1978 = bitcast i8* %call.i.i1976 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1978, align 4
+  %call646 = call %struct.term* @term_Create(i32 %324, %struct.LIST_HELP* %327) #1
+  br label %cond.end647
+
+cond.end647:                                      ; preds = %cond.false641, %cond.true638
+  %cond648 = phi %struct.term* [ %323, %cond.true638 ], [ %call646, %cond.false641 ]
+  %cond648.c = ptrtoint %struct.term* %cond648 to i32
+  store i32 %cond648.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb650:                                         ; preds = %yyreduce
+  %term652 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %329 = load %struct.term** %term652, align 4
+  %330 = bitcast %struct.term* %329 to i8*
+  %call.i.i1979 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i1980 = getelementptr inbounds i8* %call.i.i1979, i32 4
+  %331 = bitcast i8* %car.i.i1980 to i8**
+  store i8* %330, i8** %331, align 4
+  %cdr.i.i1981 = bitcast i8* %call.i.i1979 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1981, align 4
+  %call653.c = ptrtoint i8* %call.i.i1979 to i32
+  store i32 %call653.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb655:                                         ; preds = %yyreduce
+  %arrayidx656 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list657 = bitcast %union.yystype* %arrayidx656 to %struct.LIST_HELP**
+  %332 = load %struct.LIST_HELP** %list657, align 4
+  %term659 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %333 = load %struct.term** %term659, align 4
+  %334 = bitcast %struct.term* %333 to i8*
+  %call.i.i1982 = call i8* @memory_Malloc(i32 8) #1
+  %335 = bitcast i8* %call.i.i1982 to %struct.LIST_HELP*
+  %car.i.i1983 = getelementptr inbounds i8* %call.i.i1982, i32 4
+  %336 = bitcast i8* %car.i.i1983 to i8**
+  store i8* %334, i8** %336, align 4
+  %cdr.i.i1984 = bitcast i8* %call.i.i1982 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i1984, align 4
+  %cmp.i.i1985 = icmp eq %struct.LIST_HELP* %332, null
+  br i1 %cmp.i.i1985, label %list_Nconc.exit1995, label %if.end.i1987
+
+if.end.i1987:                                     ; preds = %sw.bb655
+  %cmp.i18.i1986 = icmp eq i8* %call.i.i1982, null
+  br i1 %cmp.i18.i1986, label %list_Nconc.exit1995, label %for.cond.i1992
+
+for.cond.i1992:                                   ; preds = %if.end.i1987, %for.cond.i1992
+  %List1.addr.0.i1988 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i1990, %for.cond.i1992 ], [ %332, %if.end.i1987 ]
+  %List1.addr.0.idx15.i1989 = getelementptr %struct.LIST_HELP* %List1.addr.0.i1988, i32 0, i32 0
+  %List1.addr.0.idx15.val.i1990 = load %struct.LIST_HELP** %List1.addr.0.idx15.i1989, align 4
+  %cmp.i16.i1991 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i1990, null
+  br i1 %cmp.i16.i1991, label %for.end.i1993, label %for.cond.i1992
+
+for.end.i1993:                                    ; preds = %for.cond.i1992
+  store %struct.LIST_HELP* %335, %struct.LIST_HELP** %List1.addr.0.idx15.i1989, align 4
+  br label %list_Nconc.exit1995
+
+list_Nconc.exit1995:                              ; preds = %sw.bb655, %if.end.i1987, %for.end.i1993
+  %retval.0.i1994 = phi %struct.LIST_HELP* [ %332, %for.end.i1993 ], [ %335, %sw.bb655 ], [ %332, %if.end.i1987 ]
+  %call661.c = ptrtoint %struct.LIST_HELP* %retval.0.i1994 to i32
+  store i32 %call661.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb663:                                         ; preds = %yyreduce
+  %337 = load i32* @dfg_IGNORE, align 4
+  %tobool664 = icmp eq i32 %337, 0
+  br i1 %tobool664, label %cond.false666, label %cond.end671
+
+cond.false666:                                    ; preds = %sw.bb663
+  %string668 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %338 = load i8** %string668, align 4
+  %call.i1996 = call i32 @list_Length(%struct.LIST_HELP* null) #1
+  %call1.i1997 = call fastcc i32 @dfg_Symbol(i8* %338, i32 %call.i1996) #1
+  %tobool.i.i1998 = icmp sgt i32 %call1.i1997, -1
+  br i1 %tobool.i.i1998, label %if.then.i2002, label %land.rhs.i.i2001
+
+land.rhs.i.i2001:                                 ; preds = %cond.false666
+  %sub.i.i.i1999 = sub nsw i32 0, %call1.i1997
+  %and.i.i.i2000 = and i32 %3, %sub.i.i.i1999
+  %cmp.i10.i = icmp eq i32 %and.i.i.i2000, 2
+  br i1 %cmp.i10.i, label %dfg_AtomCreate.exit, label %if.then.i2002
+
+if.then.i2002:                                    ; preds = %land.rhs.i.i2001, %cond.false666
+  %339 = load %struct._IO_FILE** @stdout, align 4
+  %call5.i = call i32 @fflush(%struct._IO_FILE* %339) #1
+  %340 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([39 x i8]* @.str4, i32 0, i32 0), i32 %340) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+dfg_AtomCreate.exit:                              ; preds = %land.rhs.i.i2001
+  %call6.i = call %struct.term* @term_Create(i32 %call1.i1997, %struct.LIST_HELP* null) #1
+  %phitmp1733 = ptrtoint %struct.term* %call6.i to i32
+  br label %cond.end671
+
+cond.end671:                                      ; preds = %sw.bb663, %dfg_AtomCreate.exit
+  %cond672 = phi i32 [ %phitmp1733, %dfg_AtomCreate.exit ], [ 0, %sw.bb663 ]
+  store i32 %cond672, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb674:                                         ; preds = %yyreduce
+  %341 = load i32* @dfg_IGNORE, align 4
+  %tobool675 = icmp eq i32 %341, 0
+  br i1 %tobool675, label %cond.false677, label %cond.end681
+
+cond.false677:                                    ; preds = %sw.bb674
+  %342 = load i32* @fol_TRUE, align 4
+  %call680 = call %struct.term* @term_Create(i32 %342, %struct.LIST_HELP* null) #1
+  %phitmp1732 = ptrtoint %struct.term* %call680 to i32
+  br label %cond.end681
+
+cond.end681:                                      ; preds = %sw.bb674, %cond.false677
+  %cond682 = phi i32 [ %phitmp1732, %cond.false677 ], [ 0, %sw.bb674 ]
+  store i32 %cond682, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb684:                                         ; preds = %yyreduce
+  %343 = load i32* @dfg_IGNORE, align 4
+  %tobool685 = icmp eq i32 %343, 0
+  br i1 %tobool685, label %cond.false687, label %cond.end691
+
+cond.false687:                                    ; preds = %sw.bb684
+  %344 = load i32* @fol_FALSE, align 4
+  %call690 = call %struct.term* @term_Create(i32 %344, %struct.LIST_HELP* null) #1
+  %phitmp1731 = ptrtoint %struct.term* %call690 to i32
+  br label %cond.end691
+
+cond.end691:                                      ; preds = %sw.bb684, %cond.false687
+  %cond692 = phi i32 [ %phitmp1731, %cond.false687 ], [ 0, %sw.bb684 ]
+  store i32 %cond692, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb694:                                         ; preds = %yyreduce
+  %345 = load i32* @dfg_IGNORE, align 4
+  %tobool695 = icmp eq i32 %345, 0
+  br i1 %tobool695, label %cond.false697, label %cond.end706
+
+cond.false697:                                    ; preds = %sw.bb694
+  %346 = load i32* @fol_EQUALITY, align 4
+  %arrayidx699 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %term700 = bitcast %union.yystype* %arrayidx699 to %struct.term**
+  %347 = load %struct.term** %term700, align 4
+  %348 = bitcast %struct.term* %347 to i8*
+  %arrayidx701 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term702 = bitcast %union.yystype* %arrayidx701 to %struct.term**
+  %349 = load %struct.term** %term702, align 4
+  %350 = bitcast %struct.term* %349 to i8*
+  %call.i.i2004 = call i8* @memory_Malloc(i32 8) #1
+  %351 = bitcast i8* %call.i.i2004 to %struct.LIST_HELP*
+  %car.i.i2005 = getelementptr inbounds i8* %call.i.i2004, i32 4
+  %352 = bitcast i8* %car.i.i2005 to i8**
+  store i8* %350, i8** %352, align 4
+  %cdr.i.i2006 = bitcast i8* %call.i.i2004 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2006, align 4
+  %call.i2007 = call i8* @memory_Malloc(i32 8) #1
+  %353 = bitcast i8* %call.i2007 to %struct.LIST_HELP*
+  %car.i2008 = getelementptr inbounds i8* %call.i2007, i32 4
+  %354 = bitcast i8* %car.i2008 to i8**
+  store i8* %348, i8** %354, align 4
+  %cdr.i2009 = bitcast i8* %call.i2007 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %351, %struct.LIST_HELP** %cdr.i2009, align 4
+  %call705 = call %struct.term* @term_Create(i32 %346, %struct.LIST_HELP* %353) #1
+  %phitmp1730 = ptrtoint %struct.term* %call705 to i32
+  br label %cond.end706
+
+cond.end706:                                      ; preds = %sw.bb694, %cond.false697
+  %cond707 = phi i32 [ %phitmp1730, %cond.false697 ], [ 0, %sw.bb694 ]
+  store i32 %cond707, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb709:                                         ; preds = %yyreduce
+  %355 = load i32* @dfg_IGNORE, align 4
+  %tobool710 = icmp eq i32 %355, 0
+  br i1 %tobool710, label %cond.false712, label %cond.end718
+
+cond.false712:                                    ; preds = %sw.bb709
+  %arrayidx713 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string714 = bitcast %union.yystype* %arrayidx713 to i8**
+  %356 = load i8** %string714, align 4
+  %arrayidx715 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %list716 = bitcast %union.yystype* %arrayidx715 to %struct.LIST_HELP**
+  %357 = load %struct.LIST_HELP** %list716, align 4
+  %call.i2010 = call i32 @list_Length(%struct.LIST_HELP* %357) #1
+  %call1.i2011 = call fastcc i32 @dfg_Symbol(i8* %356, i32 %call.i2010) #1
+  %tobool.i.i2012 = icmp sgt i32 %call1.i2011, -1
+  br i1 %tobool.i.i2012, label %if.then.i2018, label %land.rhs.i.i2016
+
+land.rhs.i.i2016:                                 ; preds = %cond.false712
+  %sub.i.i.i2013 = sub nsw i32 0, %call1.i2011
+  %and.i.i.i2014 = and i32 %3, %sub.i.i.i2013
+  %cmp.i10.i2015 = icmp eq i32 %and.i.i.i2014, 2
+  br i1 %cmp.i10.i2015, label %dfg_AtomCreate.exit2021, label %if.then.i2018
+
+if.then.i2018:                                    ; preds = %land.rhs.i.i2016, %cond.false712
+  %358 = load %struct._IO_FILE** @stdout, align 4
+  %call5.i2017 = call i32 @fflush(%struct._IO_FILE* %358) #1
+  %359 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([39 x i8]* @.str4, i32 0, i32 0), i32 %359) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+dfg_AtomCreate.exit2021:                          ; preds = %land.rhs.i.i2016
+  %call6.i2019 = call %struct.term* @term_Create(i32 %call1.i2011, %struct.LIST_HELP* %357) #1
+  %phitmp1729 = ptrtoint %struct.term* %call6.i2019 to i32
+  br label %cond.end718
+
+cond.end718:                                      ; preds = %sw.bb709, %dfg_AtomCreate.exit2021
+  %cond719 = phi i32 [ %phitmp1729, %dfg_AtomCreate.exit2021 ], [ 0, %sw.bb709 ]
+  store i32 %cond719, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb721:                                         ; preds = %yyreduce
+  %360 = load i32* @dfg_IGNORE, align 4
+  %tobool722 = icmp eq i32 %360, 0
+  br i1 %tobool722, label %cond.false724, label %cond.end729
+
+cond.false724:                                    ; preds = %sw.bb721
+  %string726 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %361 = load i8** %string726, align 4
+  %call.i2022 = call i32 @list_Length(%struct.LIST_HELP* null) #1
+  %call1.i2023 = call fastcc i32 @dfg_Symbol(i8* %361, i32 %call.i2022) #1
+  %cmp.i.i2024 = icmp sgt i32 %call1.i2023, 0
+  br i1 %cmp.i.i2024, label %dfg_TermCreate.exit, label %land.lhs.true.i
+
+land.lhs.true.i:                                  ; preds = %cond.false724
+  %tobool.i.i2025 = icmp sgt i32 %call1.i2023, -1
+  br i1 %tobool.i.i2025, label %if.then.i2030, label %land.rhs.i.i2028
+
+land.rhs.i.i2028:                                 ; preds = %land.lhs.true.i
+  %sub.i6.i.i2026 = sub nsw i32 0, %call1.i2023
+  %and.i7.i.i2027 = and i32 %3, %sub.i6.i.i2026
+  %362 = icmp ult i32 %and.i7.i.i2027, 2
+  br i1 %362, label %dfg_TermCreate.exit, label %if.then.i2030
+
+if.then.i2030:                                    ; preds = %land.rhs.i.i2028, %land.lhs.true.i
+  %363 = load %struct._IO_FILE** @stdout, align 4
+  %call5.i2029 = call i32 @fflush(%struct._IO_FILE* %363) #1
+  %364 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([31 x i8]* @.str233, i32 0, i32 0), i32 %364) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+dfg_TermCreate.exit:                              ; preds = %cond.false724, %land.rhs.i.i2028
+  %call6.i2031 = call %struct.term* @term_Create(i32 %call1.i2023, %struct.LIST_HELP* null) #1
+  %phitmp1728 = ptrtoint %struct.term* %call6.i2031 to i32
+  br label %cond.end729
+
+cond.end729:                                      ; preds = %sw.bb721, %dfg_TermCreate.exit
+  %cond730 = phi i32 [ %phitmp1728, %dfg_TermCreate.exit ], [ 0, %sw.bb721 ]
+  store i32 %cond730, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb732:                                         ; preds = %yyreduce
+  %365 = load i32* @dfg_IGNORE, align 4
+  %tobool733 = icmp eq i32 %365, 0
+  br i1 %tobool733, label %cond.false735, label %cond.end741
+
+cond.false735:                                    ; preds = %sw.bb732
+  %arrayidx736 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string737 = bitcast %union.yystype* %arrayidx736 to i8**
+  %366 = load i8** %string737, align 4
+  %arrayidx738 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %list739 = bitcast %union.yystype* %arrayidx738 to %struct.LIST_HELP**
+  %367 = load %struct.LIST_HELP** %list739, align 4
+  %call.i2033 = call i32 @list_Length(%struct.LIST_HELP* %367) #1
+  %call1.i2034 = call fastcc i32 @dfg_Symbol(i8* %366, i32 %call.i2033) #1
+  %cmp.i.i2035 = icmp sgt i32 %call1.i2034, 0
+  br i1 %cmp.i.i2035, label %dfg_TermCreate.exit2045, label %land.lhs.true.i2037
+
+land.lhs.true.i2037:                              ; preds = %cond.false735
+  %tobool.i.i2036 = icmp sgt i32 %call1.i2034, -1
+  br i1 %tobool.i.i2036, label %if.then.i2042, label %land.rhs.i.i2040
+
+land.rhs.i.i2040:                                 ; preds = %land.lhs.true.i2037
+  %sub.i6.i.i2038 = sub nsw i32 0, %call1.i2034
+  %and.i7.i.i2039 = and i32 %3, %sub.i6.i.i2038
+  %368 = icmp ult i32 %and.i7.i.i2039, 2
+  br i1 %368, label %dfg_TermCreate.exit2045, label %if.then.i2042
+
+if.then.i2042:                                    ; preds = %land.rhs.i.i2040, %land.lhs.true.i2037
+  %369 = load %struct._IO_FILE** @stdout, align 4
+  %call5.i2041 = call i32 @fflush(%struct._IO_FILE* %369) #1
+  %370 = load i32* @dfg_LINENUMBER, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([31 x i8]* @.str233, i32 0, i32 0), i32 %370) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+dfg_TermCreate.exit2045:                          ; preds = %cond.false735, %land.rhs.i.i2040
+  %call6.i2043 = call %struct.term* @term_Create(i32 %call1.i2034, %struct.LIST_HELP* %367) #1
+  %phitmp1727 = ptrtoint %struct.term* %call6.i2043 to i32
+  br label %cond.end741
+
+cond.end741:                                      ; preds = %sw.bb732, %dfg_TermCreate.exit2045
+  %cond742 = phi i32 [ %phitmp1727, %dfg_TermCreate.exit2045 ], [ 0, %sw.bb732 ]
+  store i32 %cond742, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb744:                                         ; preds = %yyreduce
+  %371 = load i32* @dfg_IGNORE, align 4
+  %tobool745 = icmp eq i32 %371, 0
+  br i1 %tobool745, label %cond.false748, label %cond.end752
+
+cond.false748:                                    ; preds = %sw.bb744
+  %term750 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %372 = load %struct.term** %term750, align 4
+  %373 = bitcast %struct.term* %372 to i8*
+  %call.i.i2046 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i2047 = getelementptr inbounds i8* %call.i.i2046, i32 4
+  %374 = bitcast i8* %car.i.i2047 to i8**
+  store i8* %373, i8** %374, align 4
+  %cdr.i.i2048 = bitcast i8* %call.i.i2046 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2048, align 4
+  %phitmp1726 = ptrtoint i8* %call.i.i2046 to i32
+  br label %cond.end752
+
+cond.end752:                                      ; preds = %sw.bb744, %cond.false748
+  %cond753 = phi i32 [ %phitmp1726, %cond.false748 ], [ 0, %sw.bb744 ]
+  store i32 %cond753, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb755:                                         ; preds = %yyreduce
+  %375 = load i32* @dfg_IGNORE, align 4
+  %tobool756 = icmp eq i32 %375, 0
+  %arrayidx758 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list759 = bitcast %union.yystype* %arrayidx758 to %struct.LIST_HELP**
+  %376 = load %struct.LIST_HELP** %list759, align 4
+  br i1 %tobool756, label %cond.false760, label %cond.end767
+
+cond.false760:                                    ; preds = %sw.bb755
+  %term764 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %377 = load %struct.term** %term764, align 4
+  %378 = bitcast %struct.term* %377 to i8*
+  %call.i.i2049 = call i8* @memory_Malloc(i32 8) #1
+  %379 = bitcast i8* %call.i.i2049 to %struct.LIST_HELP*
+  %car.i.i2050 = getelementptr inbounds i8* %call.i.i2049, i32 4
+  %380 = bitcast i8* %car.i.i2050 to i8**
+  store i8* %378, i8** %380, align 4
+  %cdr.i.i2051 = bitcast i8* %call.i.i2049 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2051, align 4
+  %cmp.i.i2052 = icmp eq %struct.LIST_HELP* %376, null
+  br i1 %cmp.i.i2052, label %cond.end767, label %if.end.i2054
+
+if.end.i2054:                                     ; preds = %cond.false760
+  %cmp.i18.i2053 = icmp eq i8* %call.i.i2049, null
+  br i1 %cmp.i18.i2053, label %cond.end767, label %for.cond.i2059
+
+for.cond.i2059:                                   ; preds = %if.end.i2054, %for.cond.i2059
+  %List1.addr.0.i2055 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2057, %for.cond.i2059 ], [ %376, %if.end.i2054 ]
+  %List1.addr.0.idx15.i2056 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2055, i32 0, i32 0
+  %List1.addr.0.idx15.val.i2057 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2056, align 4
+  %cmp.i16.i2058 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2057, null
+  br i1 %cmp.i16.i2058, label %for.end.i2060, label %for.cond.i2059
+
+for.end.i2060:                                    ; preds = %for.cond.i2059
+  store %struct.LIST_HELP* %379, %struct.LIST_HELP** %List1.addr.0.idx15.i2056, align 4
+  br label %cond.end767
+
+cond.end767:                                      ; preds = %for.end.i2060, %if.end.i2054, %cond.false760, %sw.bb755
+  %cond768 = phi %struct.LIST_HELP* [ %376, %sw.bb755 ], [ %376, %for.end.i2060 ], [ %379, %cond.false760 ], [ %376, %if.end.i2054 ]
+  %cond768.c = ptrtoint %struct.LIST_HELP* %cond768 to i32
+  store i32 %cond768.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb770:                                         ; preds = %yyreduce
+  %arrayidx771 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string772 = bitcast %union.yystype* %arrayidx771 to i8**
+  %381 = load i8** %string772, align 4
+  %call.i2063 = call i32 @strcmp(i8* %381, i8* getelementptr inbounds ([6 x i8]* @.str5, i32 0, i32 0)) #1
+  %cmp.i2064 = icmp eq i32 %call.i2063, 0
+  br i1 %cmp.i2064, label %sw.epilog1200, label %if.then775
+
+if.then775:                                       ; preds = %sw.bb770
+  %382 = load i32* @dfg_IGNORE, align 4
+  %383 = inttoptr i32 %382 to i8*
+  %384 = load i32* @stack_POINTER, align 4
+  %inc.i2066 = add i32 %384, 1
+  store i32 %inc.i2066, i32* @stack_POINTER, align 4
+  %arrayidx.i2067 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %384
+  store i8* %383, i8** %arrayidx.i2067, align 4
+  store i32 1, i32* @dfg_IGNORE, align 4
+  br label %sw.epilog1200
+
+sw.bb777:                                         ; preds = %yyreduce
+  %arrayidx778 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -6
+  %string779 = bitcast %union.yystype* %arrayidx778 to i8**
+  %385 = load i8** %string779, align 4
+  %call.i2068 = call i32 @strcmp(i8* %385, i8* getelementptr inbounds ([6 x i8]* @.str5, i32 0, i32 0)) #1
+  %cmp.i2069 = icmp eq i32 %call.i2068, 0
+  br i1 %cmp.i2069, label %if.end784, label %if.then782
+
+if.then782:                                       ; preds = %sw.bb777
+  %386 = load i32* @stack_POINTER, align 4
+  %dec.i2071 = add i32 %386, -1
+  store i32 %dec.i2071, i32* @stack_POINTER, align 4
+  %arrayidx.i2072 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %dec.i2071
+  %387 = load i8** %arrayidx.i2072, align 4
+  %388 = ptrtoint i8* %387 to i32
+  store i32 %388, i32* @dfg_IGNORE, align 4
+  %.pre = load i8** %string779, align 4
+  br label %if.end784
+
+if.end784:                                        ; preds = %sw.bb777, %if.then782
+  %389 = phi i8* [ %385, %sw.bb777 ], [ %.pre, %if.then782 ]
+  call void @string_StringFree(i8* %389) #1
+  br label %sw.epilog1200
+
+sw.bb787:                                         ; preds = %yyreduce
+  %390 = load i32* @dfg_IGNORE, align 4
+  %tobool788 = icmp eq i32 %390, 0
+  %arrayidx789 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -11
+  %string790 = bitcast %union.yystype* %arrayidx789 to i8**
+  %391 = load i8** %string790, align 4
+  br i1 %tobool788, label %land.lhs.true, label %if.else823
+
+land.lhs.true:                                    ; preds = %sw.bb787
+  %cmp791 = icmp eq i8* %391, null
+  br i1 %cmp791, label %if.end831, label %land.lhs.true793
+
+land.lhs.true793:                                 ; preds = %land.lhs.true
+  %arrayidx794 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -9
+  %term795 = bitcast %union.yystype* %arrayidx794 to %struct.term**
+  %392 = load %struct.term** %term795, align 4
+  %cmp796 = icmp eq %struct.term* %392, null
+  br i1 %cmp796, label %if.then828, label %land.lhs.true798
+
+land.lhs.true798:                                 ; preds = %land.lhs.true793
+  %arrayidx799 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
+  %list800 = bitcast %union.yystype* %arrayidx799 to %struct.LIST_HELP**
+  %393 = load %struct.LIST_HELP** %list800, align 4
+  %cmp.i2073 = icmp eq %struct.LIST_HELP* %393, null
+  br i1 %cmp.i2073, label %if.else823, label %if.then803
+
+if.then803:                                       ; preds = %land.lhs.true798
+  %arrayidx804 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
+  %string805 = bitcast %union.yystype* %arrayidx804 to i8**
+  %394 = load i8** %string805, align 4
+  %call806 = call i32 @clause_GetOriginFromString(i8* %394) #1
+  %395 = load i8** %string805, align 4
+  call void @string_StringFree(i8* %395) #1
+  %number810 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2, i32 0
+  %396 = load i32* %number810, align 4
+  %397 = inttoptr i32 %396 to i8*
+  %398 = inttoptr i32 %call806 to i8*
+  %call.i.i2075 = call i8* @memory_Malloc(i32 8) #1
+  %399 = bitcast i8* %call.i.i2075 to %struct.LIST_HELP*
+  %car.i.i2076 = getelementptr inbounds i8* %call.i.i2075, i32 4
+  %400 = bitcast i8* %car.i.i2076 to i8**
+  store i8* %398, i8** %400, align 4
+  %cdr.i.i2077 = bitcast i8* %call.i.i2075 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2077, align 4
+  %call.i2078 = call i8* @memory_Malloc(i32 8) #1
+  %401 = bitcast i8* %call.i2078 to %struct.LIST_HELP*
+  %car.i2079 = getelementptr inbounds i8* %call.i2078, i32 4
+  %402 = bitcast i8* %car.i2079 to i8**
+  store i8* %397, i8** %402, align 4
+  %cdr.i2080 = bitcast i8* %call.i2078 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %399, %struct.LIST_HELP** %cdr.i2080, align 4
+  %403 = load i8** %string790, align 4
+  %404 = load %struct.term** %term795, align 4
+  %405 = bitcast %struct.term* %404 to i8*
+  %406 = load %struct.LIST_HELP** %list800, align 4
+  %407 = bitcast %struct.LIST_HELP* %406 to i8*
+  %call.i2081 = call i8* @memory_Malloc(i32 8) #1
+  %408 = bitcast i8* %call.i2081 to %struct.LIST_HELP*
+  %car.i2082 = getelementptr inbounds i8* %call.i2081, i32 4
+  %409 = bitcast i8* %car.i2082 to i8**
+  store i8* %407, i8** %409, align 4
+  %cdr.i2083 = bitcast i8* %call.i2081 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %401, %struct.LIST_HELP** %cdr.i2083, align 4
+  %call.i2084 = call i8* @memory_Malloc(i32 8) #1
+  %410 = bitcast i8* %call.i2084 to %struct.LIST_HELP*
+  %car.i2085 = getelementptr inbounds i8* %call.i2084, i32 4
+  %411 = bitcast i8* %car.i2085 to i8**
+  store i8* %405, i8** %411, align 4
+  %cdr.i2086 = bitcast i8* %call.i2084 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %408, %struct.LIST_HELP** %cdr.i2086, align 4
+  %call.i2087 = call i8* @memory_Malloc(i32 8) #1
+  %car.i2088 = getelementptr inbounds i8* %call.i2087, i32 4
+  %412 = bitcast i8* %car.i2088 to i8**
+  store i8* %403, i8** %412, align 4
+  %cdr.i2089 = bitcast i8* %call.i2087 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %410, %struct.LIST_HELP** %cdr.i2089, align 4
+  %413 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  %call.i2090 = call i8* @memory_Malloc(i32 8) #1
+  %414 = bitcast i8* %call.i2090 to %struct.LIST_HELP*
+  %car.i2091 = getelementptr inbounds i8* %call.i2090, i32 4
+  %415 = bitcast i8* %car.i2091 to i8**
+  store i8* %call.i2087, i8** %415, align 4
+  %cdr.i2092 = bitcast i8* %call.i2090 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %413, %struct.LIST_HELP** %cdr.i2092, align 4
+  store %struct.LIST_HELP* %414, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  br label %if.end850
+
+if.else823:                                       ; preds = %sw.bb787, %land.lhs.true798
+  %cmp826 = icmp eq i8* %391, null
+  br i1 %cmp826, label %if.end831, label %if.then828
+
+if.then828:                                       ; preds = %land.lhs.true793, %if.else823
+  call void @string_StringFree(i8* %391) #1
+  br label %if.end831
+
+if.end831:                                        ; preds = %land.lhs.true, %if.else823, %if.then828
+  %arrayidx832 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -9
+  %term833 = bitcast %union.yystype* %arrayidx832 to %struct.term**
+  %416 = load %struct.term** %term833, align 4
+  %cmp834 = icmp eq %struct.term* %416, null
+  br i1 %cmp834, label %if.end839, label %if.then836
+
+if.then836:                                       ; preds = %if.end831
+  call void @term_Delete(%struct.term* %416) #1
+  br label %if.end839
+
+if.end839:                                        ; preds = %if.end831, %if.then836
+  %arrayidx840 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -7
+  %string841 = bitcast %union.yystype* %arrayidx840 to i8**
+  %417 = load i8** %string841, align 4
+  %cmp842 = icmp eq i8* %417, null
+  br i1 %cmp842, label %if.end847, label %if.then844
+
+if.then844:                                       ; preds = %if.end839
+  call void @string_StringFree(i8* %417) #1
+  br label %if.end847
+
+if.end847:                                        ; preds = %if.end839, %if.then844
+  %arrayidx848 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
+  %list849 = bitcast %union.yystype* %arrayidx848 to %struct.LIST_HELP**
+  %418 = load %struct.LIST_HELP** %list849, align 4
+  call void @list_DeleteWithElement(%struct.LIST_HELP* %418, void (i8*)* @string_StringFree) #1
+  br label %if.end850
+
+if.end850:                                        ; preds = %if.end847, %if.then803
+  %419 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %cmp.i.i2093 = icmp eq %struct.LIST_HELP* %419, null
+  br i1 %cmp.i.i2093, label %dfg_VarCheck.exit2098, label %if.then.i2096
+
+if.then.i2096:                                    ; preds = %if.end850
+  %420 = load %struct._IO_FILE** @stdout, align 4
+  %call1.i2094 = call i32 @fflush(%struct._IO_FILE* %420) #1
+  %421 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
+  %422 = load %struct._IO_FILE** @stderr, align 4
+  %423 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %422) #1
+  call fastcc void @misc_DumpCore() #1
+  unreachable
+
+dfg_VarCheck.exit2098:                            ; preds = %if.end850
+  store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
+  br label %sw.epilog1200
+
+sw.bb851:                                         ; preds = %yyreduce
+  %424 = load i32* @dfg_IGNORE, align 4
+  %tobool852 = icmp eq i32 %424, 0
+  br i1 %tobool852, label %lor.lhs.false853, label %cond.end864
+
+lor.lhs.false853:                                 ; preds = %sw.bb851
+  %string855 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %425 = load i8** %string855, align 4
+  %cmp856 = icmp eq i8* %425, null
+  br i1 %cmp856, label %cond.end864, label %cond.false860
+
+cond.false860:                                    ; preds = %lor.lhs.false853
+  %call.i.i2099 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i2100 = getelementptr inbounds i8* %call.i.i2099, i32 4
+  %426 = bitcast i8* %car.i.i2100 to i8**
+  store i8* %425, i8** %426, align 4
+  %cdr.i.i2101 = bitcast i8* %call.i.i2099 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2101, align 4
+  %phitmp = ptrtoint i8* %call.i.i2099 to i32
+  br label %cond.end864
+
+cond.end864:                                      ; preds = %lor.lhs.false853, %sw.bb851, %cond.false860
+  %cond865 = phi i32 [ %phitmp, %cond.false860 ], [ 0, %sw.bb851 ], [ 0, %lor.lhs.false853 ]
+  store i32 %cond865, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb867:                                         ; preds = %yyreduce
+  %427 = load i32* @dfg_IGNORE, align 4
+  %tobool868 = icmp eq i32 %427, 0
+  br i1 %tobool868, label %lor.lhs.false869, label %cond.true874
+
+lor.lhs.false869:                                 ; preds = %sw.bb867
+  %string871 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %428 = load i8** %string871, align 4
+  %cmp872 = icmp eq i8* %428, null
+  br i1 %cmp872, label %cond.true874, label %cond.false877
+
+cond.true874:                                     ; preds = %sw.bb867, %lor.lhs.false869
+  %arrayidx875 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list876 = bitcast %union.yystype* %arrayidx875 to %struct.LIST_HELP**
+  %429 = load %struct.LIST_HELP** %list876, align 4
+  br label %cond.end884
+
+cond.false877:                                    ; preds = %lor.lhs.false869
+  %arrayidx878 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list879 = bitcast %union.yystype* %arrayidx878 to %struct.LIST_HELP**
+  %430 = load %struct.LIST_HELP** %list879, align 4
+  %call.i.i2102 = call i8* @memory_Malloc(i32 8) #1
+  %431 = bitcast i8* %call.i.i2102 to %struct.LIST_HELP*
+  %car.i.i2103 = getelementptr inbounds i8* %call.i.i2102, i32 4
+  %432 = bitcast i8* %car.i.i2103 to i8**
+  store i8* %428, i8** %432, align 4
+  %cdr.i.i2104 = bitcast i8* %call.i.i2102 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2104, align 4
+  %cmp.i.i2105 = icmp eq %struct.LIST_HELP* %430, null
+  br i1 %cmp.i.i2105, label %cond.end884, label %if.end.i2107
+
+if.end.i2107:                                     ; preds = %cond.false877
+  %cmp.i18.i2106 = icmp eq i8* %call.i.i2102, null
+  br i1 %cmp.i18.i2106, label %cond.end884, label %for.cond.i2112
+
+for.cond.i2112:                                   ; preds = %if.end.i2107, %for.cond.i2112
+  %List1.addr.0.i2108 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2110, %for.cond.i2112 ], [ %430, %if.end.i2107 ]
+  %List1.addr.0.idx15.i2109 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2108, i32 0, i32 0
+  %List1.addr.0.idx15.val.i2110 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2109, align 4
+  %cmp.i16.i2111 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2110, null
+  br i1 %cmp.i16.i2111, label %for.end.i2113, label %for.cond.i2112
+
+for.end.i2113:                                    ; preds = %for.cond.i2112
+  store %struct.LIST_HELP* %431, %struct.LIST_HELP** %List1.addr.0.idx15.i2109, align 4
+  br label %cond.end884
+
+cond.end884:                                      ; preds = %for.end.i2113, %if.end.i2107, %cond.false877, %cond.true874
+  %cond885 = phi %struct.LIST_HELP* [ %429, %cond.true874 ], [ %430, %for.end.i2113 ], [ %431, %cond.false877 ], [ %430, %if.end.i2107 ]
+  %cond885.c = ptrtoint %struct.LIST_HELP* %cond885 to i32
+  store i32 %cond885.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb887:                                         ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb889:                                         ; preds = %yyreduce
+  %number891 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
+  %433 = load i32* %number891, align 4
+  store i32 %433, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb893:                                         ; preds = %yyreduce
+  %434 = load i32* @dfg_IGNORE, align 4
+  %tobool894 = icmp eq i32 %434, 0
+  %arrayidx896 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string897 = bitcast %union.yystype* %arrayidx896 to i8**
+  br i1 %tobool894, label %land.lhs.true895, label %if.else915
+
+land.lhs.true895:                                 ; preds = %sw.bb893
+  %435 = load i8** %string897, align 4
+  %cmp898 = icmp eq i8* %435, null
+  br i1 %cmp898, label %if.else915, label %land.lhs.true900
+
+land.lhs.true900:                                 ; preds = %land.lhs.true895
+  %string902 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %436 = load i8** %string902, align 4
+  %cmp903 = icmp eq i8* %436, null
+  br i1 %cmp903, label %if.else915, label %land.lhs.true905
+
+land.lhs.true905:                                 ; preds = %land.lhs.true900
+  %call.i2116 = call i32 @strcmp(i8* %435, i8* getelementptr inbounds ([11 x i8]* @.str6, i32 0, i32 0)) #1
+  %cmp.i2117 = icmp eq i32 %call.i2116, 0
+  br i1 %cmp.i2117, label %if.then910, label %if.else915
+
+if.then910:                                       ; preds = %land.lhs.true905
+  %call914 = call i32 @string_StringToInt(i8* %436, i32 1, i32* %2) #1
+  br label %if.end917
+
+if.else915:                                       ; preds = %sw.bb893, %land.lhs.true905, %land.lhs.true900, %land.lhs.true895
+  store i32 0, i32* %2, align 4
+  br label %if.end917
+
+if.end917:                                        ; preds = %if.else915, %if.then910
+  %437 = load i8** %string897, align 4
+  %cmp920 = icmp eq i8* %437, null
+  br i1 %cmp920, label %if.end925, label %if.then922
+
+if.then922:                                       ; preds = %if.end917
+  call void @string_StringFree(i8* %437) #1
+  br label %if.end925
+
+if.end925:                                        ; preds = %if.end917, %if.then922
+  %string927 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %438 = load i8** %string927, align 4
+  %cmp928 = icmp eq i8* %438, null
+  br i1 %cmp928, label %sw.epilog1200, label %if.then930
+
+if.then930:                                       ; preds = %if.end925
+  call void @string_StringFree(i8* %438) #1
+  br label %sw.epilog1200
+
+sw.bb934:                                         ; preds = %yyreduce
+  %439 = load i32* @dfg_IGNORE, align 4
+  %tobool935 = icmp eq i32 %439, 0
+  %arrayidx937 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string938 = bitcast %union.yystype* %arrayidx937 to i8**
+  br i1 %tobool935, label %land.lhs.true936, label %if.else956
+
+land.lhs.true936:                                 ; preds = %sw.bb934
+  %440 = load i8** %string938, align 4
+  %cmp939 = icmp eq i8* %440, null
+  br i1 %cmp939, label %if.else956, label %land.lhs.true941
+
+land.lhs.true941:                                 ; preds = %land.lhs.true936
+  %string943 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %441 = load i8** %string943, align 4
+  %cmp944 = icmp eq i8* %441, null
+  br i1 %cmp944, label %if.else956, label %land.lhs.true946
+
+land.lhs.true946:                                 ; preds = %land.lhs.true941
+  %call.i2119 = call i32 @strcmp(i8* %440, i8* getelementptr inbounds ([11 x i8]* @.str6, i32 0, i32 0)) #1
+  %cmp.i2120 = icmp eq i32 %call.i2119, 0
+  br i1 %cmp.i2120, label %if.then951, label %if.else956
+
+if.then951:                                       ; preds = %land.lhs.true946
+  %call955 = call i32 @string_StringToInt(i8* %441, i32 1, i32* %2) #1
+  br label %if.end960
+
+if.else956:                                       ; preds = %sw.bb934, %land.lhs.true946, %land.lhs.true941, %land.lhs.true936
+  %number958 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4, i32 0
+  %442 = load i32* %number958, align 4
+  store i32 %442, i32* %2, align 4
+  br label %if.end960
+
+if.end960:                                        ; preds = %if.else956, %if.then951
+  %443 = load i8** %string938, align 4
+  %cmp963 = icmp eq i8* %443, null
+  br i1 %cmp963, label %if.end968, label %if.then965
+
+if.then965:                                       ; preds = %if.end960
+  call void @string_StringFree(i8* %443) #1
+  br label %if.end968
+
+if.end968:                                        ; preds = %if.end960, %if.then965
+  %string970 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %444 = load i8** %string970, align 4
+  %cmp971 = icmp eq i8* %444, null
+  br i1 %cmp971, label %sw.epilog1200, label %if.then973
+
+if.then973:                                       ; preds = %if.end968
+  call void @string_StringFree(i8* %444) #1
+  br label %sw.epilog1200
+
+sw.bb977:                                         ; preds = %yyreduce
+  %445 = load i32* @dfg_IGNORE, align 4
+  %446 = inttoptr i32 %445 to i8*
+  %447 = load i32* @stack_POINTER, align 4
+  %inc.i2122 = add i32 %447, 1
+  store i32 %inc.i2122, i32* @stack_POINTER, align 4
+  %arrayidx.i2123 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %447
+  store i8* %446, i8** %arrayidx.i2123, align 4
+  store i32 1, i32* @dfg_IGNORE, align 4
+  br label %sw.epilog1200
+
+sw.bb978:                                         ; preds = %yyreduce
+  %448 = load i32* @stack_POINTER, align 4
+  %dec.i2124 = add i32 %448, -1
+  store i32 %dec.i2124, i32* @stack_POINTER, align 4
+  %arrayidx.i2125 = getelementptr inbounds [10000 x i8*]* @stack_STACK, i32 0, i32 %dec.i2124
+  %449 = load i8** %arrayidx.i2125, align 4
+  %450 = ptrtoint i8* %449 to i32
+  store i32 %450, i32* @dfg_IGNORE, align 4
+  %bool981 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 0, i32 0
+  %451 = load i32* %bool981, align 4
+  %tobool982 = icmp eq i32 %451, 0
+  %arrayidx984 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %string985 = bitcast %union.yystype* %arrayidx984 to i8**
+  %452 = load i8** %string985, align 4
+  br i1 %tobool982, label %if.else993, label %if.then983
+
+if.then983:                                       ; preds = %sw.bb978
+  %cmp986 = icmp eq i8* %452, null
+  br i1 %cmp986, label %if.end991, label %if.then988
+
+if.then988:                                       ; preds = %if.then983
+  call void @string_StringFree(i8* %452) #1
+  br label %if.end991
+
+if.end991:                                        ; preds = %if.then983, %if.then988
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+if.else993:                                       ; preds = %sw.bb978
+  %.c1725 = ptrtoint i8* %452 to i32
+  store i32 %.c1725, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb998:                                         ; preds = %yyreduce
+  %string1000 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %453 = load i8** %string1000, align 4
+  %.c1724 = ptrtoint i8* %453 to i32
+  store i32 %.c1724, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1002:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1004:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1006:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1008:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1010:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1012:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1014:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1016:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1018:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1020:                                        ; preds = %yyreduce
+  store i32 1, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1022:                                        ; preds = %yyreduce
+  store i32 1, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1024:                                        ; preds = %yyreduce
+  %term1026 = bitcast %union.yystype* %yyvsp.2 to %struct.term**
+  %454 = load %struct.term** %term1026, align 4
+  %.c = ptrtoint %struct.term* %454 to i32
+  store i32 %.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1028:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1030:                                        ; preds = %yyreduce
+  %455 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %call.i.i.i2126 = call i8* @memory_Malloc(i32 8) #1
+  %456 = bitcast i8* %call.i.i.i2126 to %struct.LIST_HELP*
+  %car.i.i.i2127 = getelementptr inbounds i8* %call.i.i.i2126, i32 4
+  %457 = bitcast i8* %car.i.i.i2127 to i8**
+  store i8* null, i8** %457, align 4
+  %cdr.i.i.i2128 = bitcast i8* %call.i.i.i2126 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %455, %struct.LIST_HELP** %cdr.i.i.i2128, align 4
+  store %struct.LIST_HELP* %456, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  store i1 true, i1* @dfg_VARDECL, align 1
+  br label %sw.epilog1200
+
+sw.bb1031:                                        ; preds = %yyreduce
+  store i1 false, i1* @dfg_VARDECL, align 1
+  %458 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %.idx.i2129 = getelementptr %struct.LIST_HELP* %458, i32 0, i32 1
+  %.idx.val.i2130 = load i8** %.idx.i2129, align 4
+  %459 = bitcast i8* %.idx.val.i2130 to %struct.LIST_HELP*
+  call void @list_DeleteWithElement(%struct.LIST_HELP* %459, void (i8*)* bitcast (void (%struct.DFG_VARENTRY*)* @dfg_VarFree to void (i8*)*)) #1
+  %460 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %L.idx.i.i2131 = getelementptr %struct.LIST_HELP* %460, i32 0, i32 0
+  %L.idx.val.i.i2132 = load %struct.LIST_HELP** %L.idx.i.i2131, align 4
+  %461 = bitcast %struct.LIST_HELP* %460 to i8*
+  %462 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i2133 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %462, i32 0, i32 4
+  %463 = load i32* %total_size.i.i.i.i2133, align 4
+  %464 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i2134 = add i32 %464, %463
+  store i32 %add24.i.i.i.i2134, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i2135 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %462, i32 0, i32 0
+  %465 = load i8** %free.i.i.i.i2135, align 4
+  %.c.i.i.i2136 = bitcast i8* %465 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i2136, %struct.LIST_HELP** %L.idx.i.i2131, align 4
+  %466 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i2137 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %466, i32 0, i32 0
+  store i8* %461, i8** %free27.i.i.i.i2137, align 4
+  store %struct.LIST_HELP* %L.idx.val.i.i2132, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %cmp.i.i2138 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i2132, null
+  br i1 %cmp.i.i2138, label %dfg_VarCheck.exit2143, label %if.then.i2141
+
+if.then.i2141:                                    ; preds = %sw.bb1031
+  %467 = load %struct._IO_FILE** @stdout, align 4
+  %call1.i2139 = call i32 @fflush(%struct._IO_FILE* %467) #1
+  %468 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([55 x i8]* @.str41, i32 0, i32 0)) #1
+  %469 = load %struct._IO_FILE** @stderr, align 4
+  %470 = call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %469) #1
+  call fastcc void @misc_DumpCore() #1
+  unreachable
+
+dfg_VarCheck.exit2143:                            ; preds = %sw.bb1031
+  store i32 0, i32* @symbol_STANDARDVARCOUNTER, align 4
+  br label %sw.epilog1200
+
+sw.bb1032:                                        ; preds = %yyreduce
+  %471 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  %arrayidx1033 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1
+  %term1034 = bitcast %union.yystype* %arrayidx1033 to %struct.term**
+  %472 = load %struct.term** %term1034, align 4
+  %473 = bitcast %struct.term* %472 to i8*
+  %call.i.i2144 = call i8* @memory_Malloc(i32 8) #1
+  %474 = bitcast i8* %call.i.i2144 to %struct.LIST_HELP*
+  %car.i.i2145 = getelementptr inbounds i8* %call.i.i2144, i32 4
+  %475 = bitcast i8* %car.i.i2145 to i8**
+  store i8* %473, i8** %475, align 4
+  %cdr.i.i2146 = bitcast i8* %call.i.i2144 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2146, align 4
+  %cmp.i.i2147 = icmp eq %struct.LIST_HELP* %471, null
+  br i1 %cmp.i.i2147, label %list_Nconc.exit2157, label %if.end.i2149
+
+if.end.i2149:                                     ; preds = %sw.bb1032
+  %cmp.i18.i2148 = icmp eq i8* %call.i.i2144, null
+  br i1 %cmp.i18.i2148, label %list_Nconc.exit2157, label %for.cond.i2154
+
+for.cond.i2154:                                   ; preds = %if.end.i2149, %for.cond.i2154
+  %List1.addr.0.i2150 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2152, %for.cond.i2154 ], [ %471, %if.end.i2149 ]
+  %List1.addr.0.idx15.i2151 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2150, i32 0, i32 0
+  %List1.addr.0.idx15.val.i2152 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2151, align 4
+  %cmp.i16.i2153 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2152, null
+  br i1 %cmp.i16.i2153, label %for.end.i2155, label %for.cond.i2154
+
+for.end.i2155:                                    ; preds = %for.cond.i2154
+  store %struct.LIST_HELP* %474, %struct.LIST_HELP** %List1.addr.0.idx15.i2151, align 4
+  br label %list_Nconc.exit2157
+
+list_Nconc.exit2157:                              ; preds = %sw.bb1032, %if.end.i2149, %for.end.i2155
+  %retval.0.i2156 = phi %struct.LIST_HELP* [ %471, %for.end.i2155 ], [ %474, %sw.bb1032 ], [ %471, %if.end.i2149 ]
+  store %struct.LIST_HELP* %retval.0.i2156, %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  br label %sw.epilog1200
+
+sw.bb1037:                                        ; preds = %yyreduce
+  %string1039 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %476 = load i8** %string1039, align 4
+  %call.i2158 = call i32 @strcmp(i8* %476, i8* getelementptr inbounds ([6 x i8]* @.str5, i32 0, i32 0)) #1
+  %cmp.i2159 = icmp eq i32 %call.i2158, 0
+  br i1 %cmp.i2159, label %if.then1042, label %if.end1043
+
+if.then1042:                                      ; preds = %sw.bb1037
+  store i32 0, i32* @dfg_IGNORETEXT, align 4
+  %.pre2536 = load i8** %string1039, align 4
+  br label %if.end1043
+
+if.end1043:                                       ; preds = %sw.bb1037, %if.then1042
+  %477 = phi i8* [ %476, %sw.bb1037 ], [ %.pre2536, %if.then1042 ]
+  call void @string_StringFree(i8* %477) #1
+  br label %sw.epilog1200
+
+sw.bb1046:                                        ; preds = %yyreduce
+  store i32 1, i32* @dfg_IGNORETEXT, align 4
+  br label %sw.epilog1200
+
+sw.bb1047:                                        ; preds = %yyreduce
+  %string1049 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %478 = load i8** %string1049, align 4
+  call void @string_StringFree(i8* %478) #1
+  br label %sw.epilog1200
+
+for.body:                                         ; preds = %for.body.lr.ph, %if.end1075
+  %479 = phi %struct.LIST_HELP* [ %25, %for.body.lr.ph ], [ %L.idx.val.i, %if.end1075 ]
+  %.idx1760 = getelementptr %struct.LIST_HELP* %479, i32 0, i32 1
+  %.idx1760.val = load i8** %.idx1760, align 4
+  %call1059 = call i32 @symbol_Lookup(i8* %.idx1760.val) #1
+  %cmp1060 = icmp eq i32 %call1059, 0
+  br i1 %cmp1060, label %if.then1062, label %if.end1067
+
+if.then1062:                                      ; preds = %for.body
+  %480 = load %struct._IO_FILE** @stdout, align 4
+  %call1063 = call i32 @fflush(%struct._IO_FILE* %480) #1
+  %481 = load %struct.LIST_HELP** %list1053, align 4
+  %.idx1759 = getelementptr %struct.LIST_HELP* %481, i32 0, i32 1
+  %.idx1759.val = load i8** %.idx1759, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str7, i32 0, i32 0), i8* %.idx1759.val) #1
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([19 x i8]* @.str8, i32 0, i32 0)) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end1067:                                       ; preds = %for.body
+  %tobool.i2163 = icmp sgt i32 %call1059, -1
+  br i1 %tobool.i2163, label %if.then1070, label %land.rhs.i2167
+
+land.rhs.i2167:                                   ; preds = %if.end1067
+  %sub.i.i2164 = sub nsw i32 0, %call1059
+  %and.i.i2165 = and i32 %3, %sub.i.i2164
+  %cmp.i2166 = icmp eq i32 %and.i.i2165, 2
+  br i1 %cmp.i2166, label %if.end1075, label %if.then1070
+
+if.then1070:                                      ; preds = %if.end1067, %land.rhs.i2167
+  %482 = load %struct._IO_FILE** @stdout, align 4
+  %call1071 = call i32 @fflush(%struct._IO_FILE* %482) #1
+  %483 = load %struct.LIST_HELP** %list1053, align 4
+  %.idx1758 = getelementptr %struct.LIST_HELP* %483, i32 0, i32 1
+  %.idx1758.val = load i8** %.idx1758, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([30 x i8]* @.str9, i32 0, i32 0), i8* %.idx1758.val) #1
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([19 x i8]* @.str8, i32 0, i32 0)) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end1075:                                       ; preds = %land.rhs.i2167
+  %484 = load %struct.LIST_HELP** %list1053, align 4
+  %.idx = getelementptr %struct.LIST_HELP* %484, i32 0, i32 1
+  %.idx.val = load i8** %.idx, align 4
+  call void @string_StringFree(i8* %.idx.val) #1
+  %shr.i.i = ashr i32 %sub.i.i2164, %4
+  %485 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i = getelementptr inbounds %struct.signature** %485, i32 %shr.i.i
+  %486 = load %struct.signature** %arrayidx.i.i, align 4
+  %props.i = getelementptr inbounds %struct.signature* %486, i32 0, i32 4
+  %487 = load i32* %props.i, align 4
+  %or.i = or i32 %487, 64
+  store i32 %or.i, i32* %props.i, align 4
+  %488 = load %struct.LIST_HELP** %list1053, align 4
+  %L.idx.i = getelementptr %struct.LIST_HELP* %488, i32 0, i32 0
+  %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
+  %489 = bitcast %struct.LIST_HELP* %488 to i8*
+  %490 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %490, i32 0, i32 4
+  %491 = load i32* %total_size.i.i.i, align 4
+  %492 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %492, %491
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %490, i32 0, i32 0
+  %493 = load i8** %free.i.i.i, align 4
+  %.c.i.i = bitcast i8* %493 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
+  %494 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %494, i32 0, i32 0
+  store i8* %489, i8** %free27.i.i.i, align 4
+  %call1081.c = ptrtoint %struct.LIST_HELP* %L.idx.val.i to i32
+  store i32 %call1081.c, i32* %26, align 4
+  %cmp.i2161 = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
+  br i1 %cmp.i2161, label %sw.epilog1200, label %for.body
+
+sw.bb1084:                                        ; preds = %yyreduce
+  %arrayidx1085 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -3
+  %string1086 = bitcast %union.yystype* %arrayidx1085 to i8**
+  %495 = load i8** %string1086, align 4
+  %call1087 = call i32 @flag_Id(i8* %495) #1
+  %cmp1088 = icmp eq i32 %call1087, -1
+  br i1 %cmp1088, label %if.then1090, label %if.end1094
+
+if.then1090:                                      ; preds = %sw.bb1084
+  %496 = load %struct._IO_FILE** @stdout, align 4
+  %call1091 = call i32 @fflush(%struct._IO_FILE* %496) #1
+  %497 = load i8** %string1086, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([24 x i8]* @.str10, i32 0, i32 0), i8* %497) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end1094:                                       ; preds = %sw.bb1084
+  %498 = load i8** %string1086, align 4
+  call void @string_StringFree(i8* %498) #1
+  %499 = load i32** @dfg_FLAGS, align 4
+  %number1098 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
+  %500 = load i32* %number1098, align 4
+  %call.i.i2171 = call i32 @flag_Minimum(i32 %call1087) #1
+  %cmp.i.i2172 = icmp slt i32 %call.i.i2171, %500
+  br i1 %cmp.i.i2172, label %if.else.i.i, label %if.then.i.i2173
+
+if.then.i.i2173:                                  ; preds = %if.end1094
+  %501 = load %struct._IO_FILE** @stdout, align 4
+  %call1.i.i = call i32 @fflush(%struct._IO_FILE* %501) #1
+  %call2.i.i = call i8* @flag_Name(i32 %call1087) #1
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([50 x i8]* @.str231, i32 0, i32 0), i32 %500, i8* %call2.i.i) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+if.else.i.i:                                      ; preds = %if.end1094
+  %call3.i.i = call i32 @flag_Maximum(i32 %call1087) #1
+  %cmp4.i.i = icmp sgt i32 %call3.i.i, %500
+  br i1 %cmp4.i.i, label %flag_SetFlagValue.exit, label %if.then5.i.i
+
+if.then5.i.i:                                     ; preds = %if.else.i.i
+  %502 = load %struct._IO_FILE** @stdout, align 4
+  %call6.i.i = call i32 @fflush(%struct._IO_FILE* %502) #1
+  %call7.i.i = call i8* @flag_Name(i32 %call1087) #1
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([50 x i8]* @.str232, i32 0, i32 0), i32 %500, i8* %call7.i.i) #1
+  call fastcc void @misc_Error() #1
+  unreachable
+
+flag_SetFlagValue.exit:                           ; preds = %if.else.i.i
+  %arrayidx.i2174 = getelementptr inbounds i32* %499, i32 %call1087
+  store i32 %500, i32* %arrayidx.i2174, align 4
+  br label %sw.epilog1200
+
+sw.bb1099:                                        ; preds = %yyreduce
+  %string1102 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %503 = load i8** %string1102, align 4
+  %call1103 = call i32 @symbol_Lookup(i8* %503) #1
+  %cmp1104 = icmp eq i32 %call1103, 0
+  br i1 %cmp1104, label %if.then1106, label %if.end1110
+
+if.then1106:                                      ; preds = %sw.bb1099
+  %504 = load %struct._IO_FILE** @stdout, align 4
+  %call1107 = call i32 @fflush(%struct._IO_FILE* %504) #1
+  %505 = load i8** %string1102, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([23 x i8]* @.str11, i32 0, i32 0), i8* %505) #1
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str12, i32 0, i32 0)) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end1110:                                       ; preds = %sw.bb1099
+  %506 = load i8** %string1102, align 4
+  call void @string_StringFree(i8* %506) #1
+  %507 = load i32** @dfg_PRECEDENCE, align 4
+  %call.i2175 = call i32 @symbol_GetIncreasedOrderingCounter() #1
+  %sub.i.i.i2176 = sub nsw i32 0, %call1103
+  %shr.i.i.i = ashr i32 %sub.i.i.i2176, %4
+  %arrayidx.i.i2177 = getelementptr inbounds i32* %507, i32 %shr.i.i.i
+  store i32 %call.i2175, i32* %arrayidx.i.i2177, align 4
+  %508 = inttoptr i32 %call1103 to i8*
+  %509 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  %call.i2178 = call i8* @memory_Malloc(i32 8) #1
+  %510 = bitcast i8* %call.i2178 to %struct.LIST_HELP*
+  %car.i2179 = getelementptr inbounds i8* %call.i2178, i32 4
+  %511 = bitcast i8* %car.i2179 to i8**
+  store i8* %508, i8** %511, align 4
+  %cdr.i2180 = bitcast i8* %call.i2178 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %509, %struct.LIST_HELP** %cdr.i2180, align 4
+  store %struct.LIST_HELP* %510, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  br label %sw.epilog1200
+
+sw.bb1114:                                        ; preds = %yyreduce
+  %arrayidx1116 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -4
+  %string1117 = bitcast %union.yystype* %arrayidx1116 to i8**
+  %512 = load i8** %string1117, align 4
+  %call1118 = call i32 @symbol_Lookup(i8* %512) #1
+  %cmp1119 = icmp eq i32 %call1118, 0
+  br i1 %cmp1119, label %if.then1121, label %if.end1125
+
+if.then1121:                                      ; preds = %sw.bb1114
+  %513 = load %struct._IO_FILE** @stdout, align 4
+  %call1122 = call i32 @fflush(%struct._IO_FILE* %513) #1
+  %514 = load i8** %string1117, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str7, i32 0, i32 0), i8* %514) #1
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([21 x i8]* @.str13, i32 0, i32 0)) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end1125:                                       ; preds = %sw.bb1114
+  %515 = load i8** %string1117, align 4
+  call void @string_StringFree(i8* %515) #1
+  %516 = load i32** @dfg_PRECEDENCE, align 4
+  %call.i2181 = call i32 @symbol_GetIncreasedOrderingCounter() #1
+  %sub.i.i.i2182 = sub nsw i32 0, %call1118
+  %shr.i.i.i2183 = ashr i32 %sub.i.i.i2182, %4
+  %arrayidx.i.i2184 = getelementptr inbounds i32* %516, i32 %shr.i.i.i2183
+  store i32 %call.i2181, i32* %arrayidx.i.i2184, align 4
+  %517 = inttoptr i32 %call1118 to i8*
+  %518 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  %call.i2185 = call i8* @memory_Malloc(i32 8) #1
+  %519 = bitcast i8* %call.i2185 to %struct.LIST_HELP*
+  %car.i2186 = getelementptr inbounds i8* %call.i2185, i32 4
+  %520 = bitcast i8* %car.i2186 to i8**
+  store i8* %517, i8** %520, align 4
+  %cdr.i2187 = bitcast i8* %call.i2185 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %518, %struct.LIST_HELP** %cdr.i2187, align 4
+  store %struct.LIST_HELP* %519, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  %number1130 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2, i32 0
+  %521 = load i32* %number1130, align 4
+  %522 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i2190 = getelementptr inbounds %struct.signature** %522, i32 %shr.i.i.i2183
+  %523 = load %struct.signature** %arrayidx.i.i2190, align 4
+  %weight.i = getelementptr inbounds %struct.signature* %523, i32 0, i32 2
+  store i32 %521, i32* %weight.i, align 4
+  %property = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -1, i32 0
+  %524 = load i32* %property, align 4
+  %cmp1132 = icmp eq i32 %524, 0
+  br i1 %cmp1132, label %sw.epilog1200, label %if.then1134
+
+if.then1134:                                      ; preds = %if.end1125
+  %525 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i2193 = getelementptr inbounds %struct.signature** %525, i32 %shr.i.i.i2183
+  %526 = load %struct.signature** %arrayidx.i.i2193, align 4
+  %props.i2194 = getelementptr inbounds %struct.signature* %526, i32 0, i32 4
+  %527 = load i32* %props.i2194, align 4
+  %or.i2195 = or i32 %527, %524
+  store i32 %or.i2195, i32* %props.i2194, align 4
+  br label %sw.epilog1200
+
+sw.bb1138:                                        ; preds = %yyreduce
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1140:                                        ; preds = %yyreduce
+  %string1142 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %528 = load i8** %string1142, align 4
+  %arrayidx1143 = getelementptr inbounds i8* %528, i32 1
+  %529 = load i8* %arrayidx1143, align 1
+  %cmp1145 = icmp eq i8 %529, 0
+  br i1 %cmp1145, label %lor.lhs.false1147, label %if.then1168
+
+lor.lhs.false1147:                                ; preds = %sw.bb1140
+  %530 = load i8* %528, align 1
+  switch i8 %530, label %if.then1168 [
+    i8 108, label %if.end1172
+    i8 109, label %if.end1172
+    i8 114, label %if.end1172
+  ]
+
+if.then1168:                                      ; preds = %lor.lhs.false1147, %sw.bb1140
+  %531 = load %struct._IO_FILE** @stdout, align 4
+  %call1169 = call i32 @fflush(%struct._IO_FILE* %531) #1
+  %532 = load i8** %string1142, align 4
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([27 x i8]* @.str14, i32 0, i32 0), i8* %532) #1
+  call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([21 x i8]* @.str15, i32 0, i32 0)) #1
+  call fastcc void @misc_Error()
+  unreachable
+
+if.end1172:                                       ; preds = %lor.lhs.false1147, %lor.lhs.false1147, %lor.lhs.false1147
+  %conv1176 = sext i8 %530 to i32
+  switch i32 %conv1176, label %sw.default [
+    i32 109, label %sw.bb1177
+    i32 114, label %sw.bb1179
+  ]
+
+sw.bb1177:                                        ; preds = %if.end1172
+  store i32 16, i32* %2, align 4
+  br label %sw.epilog
+
+sw.bb1179:                                        ; preds = %if.end1172
+  store i32 8, i32* %2, align 4
+  br label %sw.epilog
+
+sw.default:                                       ; preds = %if.end1172
+  store i32 0, i32* %2, align 4
+  br label %sw.epilog
+
+sw.epilog:                                        ; preds = %sw.default, %sw.bb1179, %sw.bb1177
+  %533 = load i8** %string1142, align 4
+  call void @string_StringFree(i8* %533) #1
+  br label %sw.epilog1200
+
+sw.bb1184:                                        ; preds = %yyreduce
+  %arrayidx1185 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list1186 = bitcast %union.yystype* %arrayidx1185 to %struct.LIST_HELP**
+  %534 = load %struct.LIST_HELP** %list1186, align 4
+  call void @list_DeleteWithElement(%struct.LIST_HELP* %534, void (i8*)* @string_StringFree) #1
+  br label %sw.epilog1200
+
+sw.bb1187:                                        ; preds = %yyreduce
+  %string1189 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %535 = load i8** %string1189, align 4
+  %call.i.i2196 = call i8* @memory_Malloc(i32 8) #1
+  %car.i.i2197 = getelementptr inbounds i8* %call.i.i2196, i32 4
+  %536 = bitcast i8* %car.i.i2197 to i8**
+  store i8* %535, i8** %536, align 4
+  %cdr.i.i2198 = bitcast i8* %call.i.i2196 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2198, align 4
+  %call1190.c = ptrtoint i8* %call.i.i2196 to i32
+  store i32 %call1190.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+sw.bb1192:                                        ; preds = %yyreduce
+  %arrayidx1193 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 -2
+  %list1194 = bitcast %union.yystype* %arrayidx1193 to %struct.LIST_HELP**
+  %537 = load %struct.LIST_HELP** %list1194, align 4
+  %string1196 = bitcast %union.yystype* %yyvsp.2 to i8**
+  %538 = load i8** %string1196, align 4
+  %call.i.i2199 = call i8* @memory_Malloc(i32 8) #1
+  %539 = bitcast i8* %call.i.i2199 to %struct.LIST_HELP*
+  %car.i.i2200 = getelementptr inbounds i8* %call.i.i2199, i32 4
+  %540 = bitcast i8* %car.i.i2200 to i8**
+  store i8* %538, i8** %540, align 4
+  %cdr.i.i2201 = bitcast i8* %call.i.i2199 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i2201, align 4
+  %cmp.i.i2202 = icmp eq %struct.LIST_HELP* %537, null
+  br i1 %cmp.i.i2202, label %list_Nconc.exit2212, label %if.end.i2204
+
+if.end.i2204:                                     ; preds = %sw.bb1192
+  %cmp.i18.i2203 = icmp eq i8* %call.i.i2199, null
+  br i1 %cmp.i18.i2203, label %list_Nconc.exit2212, label %for.cond.i2209
+
+for.cond.i2209:                                   ; preds = %if.end.i2204, %for.cond.i2209
+  %List1.addr.0.i2205 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i2207, %for.cond.i2209 ], [ %537, %if.end.i2204 ]
+  %List1.addr.0.idx15.i2206 = getelementptr %struct.LIST_HELP* %List1.addr.0.i2205, i32 0, i32 0
+  %List1.addr.0.idx15.val.i2207 = load %struct.LIST_HELP** %List1.addr.0.idx15.i2206, align 4
+  %cmp.i16.i2208 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i2207, null
+  br i1 %cmp.i16.i2208, label %for.end.i2210, label %for.cond.i2209
+
+for.end.i2210:                                    ; preds = %for.cond.i2209
+  store %struct.LIST_HELP* %539, %struct.LIST_HELP** %List1.addr.0.idx15.i2206, align 4
+  br label %list_Nconc.exit2212
+
+list_Nconc.exit2212:                              ; preds = %sw.bb1192, %if.end.i2204, %for.end.i2210
+  %retval.0.i2211 = phi %struct.LIST_HELP* [ %537, %for.end.i2210 ], [ %539, %sw.bb1192 ], [ %537, %if.end.i2204 ]
+  %call1198.c = ptrtoint %struct.LIST_HELP* %retval.0.i2211 to i32
+  store i32 %call1198.c, i32* %2, align 4
+  br label %sw.epilog1200
+
+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
+  %idx.neg = sub i32 0, %conv112
+  %add.ptr1203 = getelementptr inbounds i16* %yyssp.2, i32 %idx.neg
+  %incdec.ptr1204 = getelementptr inbounds %union.yystype* %yyvsp.2, i32 %sub113
+  %541 = load i32* %2, align 4
+  %542 = getelementptr inbounds %union.yystype* %incdec.ptr1204, i32 0, i32 0
+  store i32 %541, i32* %542, align 4
+  %arrayidx1205 = getelementptr inbounds [197 x i8]* @yyr1, i32 0, i32 %conv106
+  %543 = load i8* %arrayidx1205, align 1
+  %conv1206 = zext i8 %543 to i32
+  %sub1207 = add nsw i32 %conv1206, -71
+  %arrayidx1208 = getelementptr inbounds [100 x i16]* @yypgoto, i32 0, i32 %sub1207
+  %544 = load i16* %arrayidx1208, align 2
+  %conv1209 = sext i16 %544 to i32
+  %545 = load i16* %add.ptr1203, align 2
+  %conv1210 = sext i16 %545 to i32
+  %add1211 = add nsw i32 %conv1210, %conv1209
+  %546 = icmp ult i32 %add1211, 507
+  br i1 %546, label %land.lhs.true1217, label %if.else1226
+
+land.lhs.true1217:                                ; preds = %sw.epilog1200
+  %arrayidx1218 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add1211
+  %547 = load i16* %arrayidx1218, align 2
+  %cmp1221 = icmp eq i16 %547, %545
+  br i1 %cmp1221, label %if.then1223, label %if.else1226
+
+if.then1223:                                      ; preds = %land.lhs.true1217
+  %arrayidx1224 = getelementptr inbounds [507 x i16]* @yytable, i32 0, i32 %add1211
+  %548 = load i16* %arrayidx1224, align 2
+  %conv1225 = zext i16 %548 to i32
+  br label %yynewstate
+
+if.else1226:                                      ; preds = %land.lhs.true1217, %sw.epilog1200
+  %arrayidx1228 = getelementptr inbounds [100 x i16]* @yydefgoto, i32 0, i32 %sub1207
+  %549 = load i16* %arrayidx1228, align 2
+  %conv1229 = sext i16 %549 to i32
+  br label %yynewstate
+
+if.then1232:                                      ; preds = %yydefault, %if.end79
+  %550 = load i32* @dfg_nerrs, align 4
+  %inc = add nsw i32 %550, 1
+  store i32 %inc, i32* @dfg_nerrs, align 4
+  %cmp1235 = icmp sgt i16 %11, -356
+  br i1 %cmp1235, label %if.then1240, label %if.else1329
+
+if.then1240:                                      ; preds = %if.then1232
+  %551 = load i32* @dfg_char, align 4
+  %cmp1242 = icmp ult i32 %551, 319
+  br i1 %cmp1242, label %cond.true1244, label %cond.end1248
+
+cond.true1244:                                    ; preds = %if.then1240
+  %arrayidx1245 = getelementptr inbounds [319 x i8]* @yytranslate, i32 0, i32 %551
+  %552 = load i8* %arrayidx1245, align 1
+  %conv1246 = zext i8 %552 to i32
+  br label %cond.end1248
+
+cond.end1248:                                     ; preds = %if.then1240, %cond.true1244
+  %cond1249 = phi i32 [ %conv1246, %cond.true1244 ], [ 2, %if.then1240 ]
+  %cmp1250 = icmp slt i16 %11, 0
+  %sub1253 = sub nsw i32 0, %conv51
+  %sub1253. = select i1 %cmp1250, i32 %sub1253, i32 0
+  %cmp12582218 = icmp slt i32 %sub1253., 172
+  br i1 %cmp12582218, label %for.body1260, label %for.end1278
+
+for.body1260:                                     ; preds = %cond.end1248, %for.inc1276
+  %yycount.02221 = phi i32 [ %yycount.1, %for.inc1276 ], [ 0, %cond.end1248 ]
+  %yyx.02220 = phi i32 [ %inc1277, %for.inc1276 ], [ %sub1253., %cond.end1248 ]
+  %yysize1241.02219 = phi i32 [ %yysize1241.1, %for.inc1276 ], [ 0, %cond.end1248 ]
+  %add1261 = add nsw i32 %yyx.02220, %conv51
+  %arrayidx1262 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add1261
+  %553 = load i16* %arrayidx1262, align 2
+  %conv1263 = sext i16 %553 to i32
+  %cmp1264 = icmp eq i32 %conv1263, %yyx.02220
+  %cmp1267 = icmp ne i32 %yyx.02220, 1
+  %or.cond1400 = and i1 %cmp1264, %cmp1267
+  br i1 %or.cond1400, label %if.then1269, label %for.inc1276
+
+if.then1269:                                      ; preds = %for.body1260
+  %arrayidx1270 = getelementptr inbounds [172 x i8*]* @yytname, i32 0, i32 %yyx.02220
+  %554 = load i8** %arrayidx1270, align 4
+  %call1271 = call i32 @strlen(i8* %554) #6
+  %add1272 = add i32 %yysize1241.02219, 15
+  %add1273 = add i32 %add1272, %call1271
+  %inc1274 = add nsw i32 %yycount.02221, 1
+  br label %for.inc1276
+
+for.inc1276:                                      ; preds = %for.body1260, %if.then1269
+  %yysize1241.1 = phi i32 [ %add1273, %if.then1269 ], [ %yysize1241.02219, %for.body1260 ]
+  %yycount.1 = phi i32 [ %inc1274, %if.then1269 ], [ %yycount.02221, %for.body1260 ]
+  %inc1277 = add nsw i32 %yyx.02220, 1
+  %exitcond2382 = icmp eq i32 %inc1277, 172
+  br i1 %exitcond2382, label %for.end1278, label %for.body1260
+
+for.end1278:                                      ; preds = %for.inc1276, %cond.end1248
+  %yycount.0.lcssa = phi i32 [ 0, %cond.end1248 ], [ %yycount.1, %for.inc1276 ]
+  %yysize1241.0.lcssa = phi i32 [ 0, %cond.end1248 ], [ %yysize1241.1, %for.inc1276 ]
+  %add1279 = add i32 %yysize1241.0.lcssa, 25
+  %arrayidx1280 = getelementptr inbounds [172 x i8*]* @yytname, i32 0, i32 %cond1249
+  %555 = load i8** %arrayidx1280, align 4
+  %call1281 = call i32 @strlen(i8* %555) #6
+  %add1282 = add i32 %add1279, %call1281
+  %556 = alloca i8, i32 %add1282, align 4
+  %557 = getelementptr i8* %556, i32 24
+  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)
+  %call1288 = call i8* @stpcpy(i8* %557, i8* %555) #1
+  %cmp1289.not = icmp sgt i32 %yycount.0.lcssa, 4
+  %cmp12582218.not = xor i1 %cmp12582218, true
+  %brmerge = or i1 %cmp1289.not, %cmp12582218.not
+  br i1 %brmerge, label %if.end1323, label %for.body1302
+
+for.body1302:                                     ; preds = %for.end1278, %for.inc1320
+  %yyp.02217 = phi i8* [ %yyp.1, %for.inc1320 ], [ %call1288, %for.end1278 ]
+  %yycount.22216 = phi i32 [ %yycount.3, %for.inc1320 ], [ 0, %for.end1278 ]
+  %yyx.12215 = phi i32 [ %inc1321, %for.inc1320 ], [ %sub1253., %for.end1278 ]
+  %add1303 = add nsw i32 %yyx.12215, %conv51
+  %arrayidx1304 = getelementptr inbounds [507 x i16]* @yycheck, i32 0, i32 %add1303
+  %558 = load i16* %arrayidx1304, align 2
+  %conv1305 = sext i16 %558 to i32
+  %cmp1306 = icmp eq i32 %conv1305, %yyx.12215
+  %cmp1309 = icmp ne i32 %yyx.12215, 1
+  %or.cond1401 = and i1 %cmp1306, %cmp1309
+  br i1 %or.cond1401, label %if.then1311, label %for.inc1320
+
+if.then1311:                                      ; preds = %for.body1302
+  %lnot1313 = icmp eq i32 %yycount.22216, 0
+  %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)
+  %call1315 = call i8* @stpcpy(i8* %yyp.02217, i8* %cond1314) #1
+  %arrayidx1316 = getelementptr inbounds [172 x i8*]* @yytname, i32 0, i32 %yyx.12215
+  %559 = load i8** %arrayidx1316, align 4
+  %call1317 = call i8* @stpcpy(i8* %call1315, i8* %559) #1
+  %inc1318 = add nsw i32 %yycount.22216, 1
+  br label %for.inc1320
+
+for.inc1320:                                      ; preds = %for.body1302, %if.then1311
+  %yycount.3 = phi i32 [ %inc1318, %if.then1311 ], [ %yycount.22216, %for.body1302 ]
+  %yyp.1 = phi i8* [ %call1317, %if.then1311 ], [ %yyp.02217, %for.body1302 ]
+  %inc1321 = add nsw i32 %yyx.12215, 1
+  %exitcond = icmp eq i32 %inc1321, 172
+  br i1 %exitcond, label %if.end1323, label %for.body1302
+
+if.end1323:                                       ; preds = %for.end1278, %for.inc1320
+  call void @dfg_error(i8* %556)
+  unreachable
+
+if.else1329:                                      ; preds = %if.then1232
+  call void @dfg_error(i8* getelementptr inbounds ([12 x i8]* @.str20, i32 0, i32 0))
+  unreachable
+
+yyoverflowlab:                                    ; preds = %if.then
+  call void @dfg_error(i8* getelementptr inbounds ([22 x i8]* @.str21, i32 0, i32 0))
+  unreachable
+
+yyreturn:                                         ; preds = %if.end, %if.end92, %sw.bb
+  %yyresult.0 = phi i32 [ 0, %sw.bb ], [ 1, %if.end ], [ 0, %if.end92 ]
+  call void @llvm.lifetime.end(i64 800, i8* %1) #1
+  call void @llvm.lifetime.end(i64 400, i8* %0) #1
+  ret i32 %yyresult.0
+}
+
+; Function Attrs: nounwind
+declare void @llvm.lifetime.start(i64, i8* nocapture) #1
+
+; Function Attrs: nounwind
+declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) #1
+
+declare i32 @dfg_lex() #2
+
+declare void @string_StringFree(i8*) #2
+
+; cmp16: 	.ent	dfg_parse
+; cmp16:	.end	dfg_parse 
+
+; Function Attrs: nounwind
+define internal fastcc void @dfg_SymbolDecl(i32 %SymbolType, i8* %Name, i32 %Arity) #0 {
+entry:
+  switch i32 %Arity, label %sw.default [
+    i32 -2, label %sw.epilog
+    i32 -1, label %sw.bb1
+  ]
+
+sw.bb1:                                           ; preds = %entry
+  %0 = load %struct._IO_FILE** @stdout, align 4
+  %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
+  %1 = load i32* @dfg_LINENUMBER, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([58 x i8]* @.str52, i32 0, i32 0), i32 %1) #1
+  tail call fastcc void @misc_Error()
+  unreachable
+
+sw.default:                                       ; preds = %entry
+  br label %sw.epilog
+
+sw.epilog:                                        ; preds = %entry, %sw.default
+  %arity.0 = phi i32 [ %Arity, %sw.default ], [ 0, %entry ]
+  %call2 = tail call i32 @strlen(i8* %Name) #6
+  %cmp = icmp ugt i32 %call2, 63
+  br i1 %cmp, label %if.then, label %if.end
+
+if.then:                                          ; preds = %sw.epilog
+  %arrayidx = getelementptr inbounds i8* %Name, i32 63
+  store i8 0, i8* %arrayidx, align 1
+  br label %if.end
+
+if.end:                                           ; preds = %if.then, %sw.epilog
+  %call3 = tail call i32 @symbol_Lookup(i8* %Name) #1
+  %cmp4 = icmp eq i32 %call3, 0
+  br i1 %cmp4, label %if.else, label %if.then5
+
+if.then5:                                         ; preds = %if.end
+  switch i32 %SymbolType, label %if.end27 [
+    i32 284, label %land.lhs.true
+    i32 298, label %land.lhs.true9
+    i32 300, label %land.lhs.true16
+    i32 294, label %land.lhs.true16
+  ]
+
+land.lhs.true:                                    ; preds = %if.then5
+  %tobool.i = icmp sgt i32 %call3, -1
+  br i1 %tobool.i, label %if.then19, label %land.rhs.i
+
+land.rhs.i:                                       ; preds = %land.lhs.true
+  %sub.i6.i = sub nsw i32 0, %call3
+  %2 = load i32* @symbol_TYPEMASK, align 4
+  %and.i7.i = and i32 %2, %sub.i6.i
+  %3 = icmp ult i32 %and.i7.i, 2
+  br i1 %3, label %if.end27, label %if.then19
+
+land.lhs.true9:                                   ; preds = %if.then5
+  %tobool.i77 = icmp sgt i32 %call3, -1
+  br i1 %tobool.i77, label %if.then19, label %land.rhs.i78
+
+land.rhs.i78:                                     ; preds = %land.lhs.true9
+  %sub.i.i = sub nsw i32 0, %call3
+  %4 = load i32* @symbol_TYPEMASK, align 4
+  %and.i.i = and i32 %4, %sub.i.i
+  %cmp.i = icmp eq i32 %and.i.i, 2
+  br i1 %cmp.i, label %lor.lhs.false12, label %if.then19
+
+lor.lhs.false12:                                  ; preds = %land.rhs.i78
+  switch i32 %SymbolType, label %if.end27 [
+    i32 300, label %land.lhs.true16
+    i32 294, label %land.lhs.true16
+  ]
+
+land.lhs.true16:                                  ; preds = %if.then5, %if.then5, %lor.lhs.false12, %lor.lhs.false12
+  %tobool.i80 = icmp sgt i32 %call3, -1
+  br i1 %tobool.i80, label %if.then19, label %land.rhs.i84
+
+land.rhs.i84:                                     ; preds = %land.lhs.true16
+  %sub.i.i81 = sub nsw i32 0, %call3
+  %5 = load i32* @symbol_TYPEMASK, align 4
+  %and.i.i82 = and i32 %5, %sub.i.i81
+  %cmp.i83 = icmp eq i32 %and.i.i82, 3
+  br i1 %cmp.i83, label %if.end27, label %if.then19
+
+if.then19:                                        ; preds = %land.lhs.true16, %land.lhs.true9, %land.lhs.true, %land.rhs.i, %land.rhs.i78, %land.rhs.i84
+  %6 = load %struct._IO_FILE** @stdout, align 4
+  %call20 = tail call i32 @fflush(%struct._IO_FILE* %6) #1
+  %7 = load i32* @dfg_LINENUMBER, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([46 x i8]* @.str53, i32 0, i32 0), i32 %7, i8* %Name) #1
+  %sub.i = sub nsw i32 0, %call3
+  %8 = load i32* @symbol_TYPEMASK, align 4
+  %and.i = and i32 %8, %sub.i
+  switch i32 %and.i, label %sw.default25 [
+    i32 0, label %sw.bb22
+    i32 1, label %sw.bb22
+    i32 2, label %sw.bb23
+    i32 3, label %sw.bb24
+  ]
+
+sw.bb22:                                          ; preds = %if.then19, %if.then19
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([11 x i8]* @.str54, i32 0, i32 0)) #1
+  br label %sw.epilog26
+
+sw.bb23:                                          ; preds = %if.then19
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([12 x i8]* @.str55, i32 0, i32 0)) #1
+  br label %sw.epilog26
+
+sw.bb24:                                          ; preds = %if.then19
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([10 x i8]* @.str56, i32 0, i32 0)) #1
+  br label %sw.epilog26
+
+sw.default25:                                     ; preds = %if.then19
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([15 x i8]* @.str57, i32 0, i32 0)) #1
+  br label %sw.epilog26
+
+sw.epilog26:                                      ; preds = %sw.default25, %sw.bb24, %sw.bb23, %sw.bb22
+  tail call fastcc void @misc_Error()
+  unreachable
+
+if.end27:                                         ; preds = %land.rhs.i, %land.rhs.i84, %if.then5, %lor.lhs.false12
+  %cmp28 = icmp eq i32 %Arity, -2
+  br i1 %cmp28, label %if.end46, label %land.lhs.true29
+
+land.lhs.true29:                                  ; preds = %if.end27
+  %sub.i.i88 = sub nsw i32 0, %call3
+  %9 = load i32* @symbol_TYPESTATBITS, align 4
+  %shr.i.i89 = ashr i32 %sub.i.i88, %9
+  %10 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i90 = getelementptr inbounds %struct.signature** %10, i32 %shr.i.i89
+  %11 = load %struct.signature** %arrayidx.i.i90, align 4
+  %arity.i91 = getelementptr inbounds %struct.signature* %11, i32 0, i32 3
+  %12 = load i32* %arity.i91, align 4
+  %cmp31 = icmp eq i32 %12, %Arity
+  br i1 %cmp31, label %if.end46, label %if.then32
+
+if.then32:                                        ; preds = %land.lhs.true29
+  %13 = load %struct._IO_FILE** @stdout, align 4
+  %call33 = tail call i32 @fflush(%struct._IO_FILE* %13) #1
+  %14 = load i32* @dfg_LINENUMBER, align 4
+  %15 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i = getelementptr inbounds %struct.signature** %15, i32 %shr.i.i89
+  %16 = load %struct.signature** %arrayidx.i.i, align 4
+  %arity.i87 = getelementptr inbounds %struct.signature* %16, i32 0, i32 3
+  %17 = load i32* %arity.i87, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([57 x i8]* @.str58, i32 0, i32 0), i32 %14, i8* %Name, i32 %17) #1
+  tail call fastcc void @misc_Error()
+  unreachable
+
+if.else:                                          ; preds = %if.end
+  switch i32 %SymbolType, label %sw.default40 [
+    i32 284, label %sw.bb36
+    i32 298, label %sw.bb38
+  ]
+
+sw.bb36:                                          ; preds = %if.else
+  %18 = load i32** @dfg_PRECEDENCE, align 4
+  %call37 = tail call i32 @symbol_CreateFunction(i8* %Name, i32 %arity.0, i32 0, i32* %18) #1
+  br label %sw.epilog42
+
+sw.bb38:                                          ; preds = %if.else
+  %19 = load i32** @dfg_PRECEDENCE, align 4
+  %call39 = tail call i32 @symbol_CreatePredicate(i8* %Name, i32 %arity.0, i32 0, i32* %19) #1
+  br label %sw.epilog42
+
+sw.default40:                                     ; preds = %if.else
+  %20 = load i32** @dfg_PRECEDENCE, align 4
+  %call41 = tail call i32 @symbol_CreateJunctor(i8* %Name, i32 %arity.0, i32 0, i32* %20) #1
+  br label %sw.epilog42
+
+sw.epilog42:                                      ; preds = %sw.default40, %sw.bb38, %sw.bb36
+  %symbol.0 = phi i32 [ %call41, %sw.default40 ], [ %call39, %sw.bb38 ], [ %call37, %sw.bb36 ]
+  %cmp43 = icmp eq i32 %Arity, -2
+  br i1 %cmp43, label %if.then44, label %if.end46
+
+if.then44:                                        ; preds = %sw.epilog42
+  %call.i.i = tail call i8* @memory_Malloc(i32 12) #1
+  %symbol.i = bitcast i8* %call.i.i to i32*
+  store i32 %symbol.0, i32* %symbol.i, align 4
+  %valid.i = getelementptr inbounds i8* %call.i.i, i32 4
+  %21 = bitcast i8* %valid.i to i32*
+  store i32 0, i32* %21, align 4
+  %arity.i = getelementptr inbounds i8* %call.i.i, i32 8
+  %22 = bitcast i8* %arity.i to i32*
+  store i32 0, i32* %22, align 4
+  %23 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %call.i5.i = tail call i8* @memory_Malloc(i32 8) #1
+  %24 = bitcast i8* %call.i5.i to %struct.LIST_HELP*
+  %car.i.i = getelementptr inbounds i8* %call.i5.i, i32 4
+  %25 = bitcast i8* %car.i.i to i8**
+  store i8* %call.i.i, i8** %25, align 4
+  %cdr.i.i = bitcast i8* %call.i5.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %23, %struct.LIST_HELP** %cdr.i.i, align 4
+  store %struct.LIST_HELP* %24, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  br label %if.end46
+
+if.end46:                                         ; preds = %land.lhs.true29, %if.end27, %sw.epilog42, %if.then44
+  br i1 %cmp, label %if.then48, label %if.end50
+
+if.then48:                                        ; preds = %if.end46
+  %arrayidx49 = getelementptr inbounds i8* %Name, i32 63
+  store i8 32, i8* %arrayidx49, align 1
+  br label %if.end50
+
+if.end50:                                         ; preds = %if.then48, %if.end46
+  tail call void @string_StringFree(i8* %Name) #1
+  ret void
+}
+
+; Function Attrs: nounwind
+define %struct.term* @dfg_CreateQuantifier(i32 %Symbol, %struct.LIST_HELP* %VarTermList, %struct.term* %Term) #0 {
+entry:
+  %cmp.i240 = icmp eq %struct.LIST_HELP* %VarTermList, null
+  br i1 %cmp.i240, label %for.end, label %for.body
+
+for.body:                                         ; preds = %entry, %for.inc
+  %VarTermList.addr.0243 = phi %struct.LIST_HELP* [ %L.idx.val.i, %for.inc ], [ %VarTermList, %entry ]
+  %sortlist.0242 = phi %struct.LIST_HELP* [ %sortlist.1, %for.inc ], [ null, %entry ]
+  %varlist.0241 = phi %struct.LIST_HELP* [ %varlist.1, %for.inc ], [ null, %entry ]
+  %VarTermList.addr.0.idx = getelementptr %struct.LIST_HELP* %VarTermList.addr.0243, i32 0, i32 1
+  %VarTermList.addr.0.idx.val = load i8** %VarTermList.addr.0.idx, align 4
+  %0 = bitcast i8* %VarTermList.addr.0.idx.val to %struct.term*
+  %.idx135 = bitcast i8* %VarTermList.addr.0.idx.val to i32*
+  %.idx135.val = load i32* %.idx135, align 4
+  %cmp.i.i157 = icmp sgt i32 %.idx135.val, 0
+  br i1 %cmp.i.i157, label %if.then, label %if.else
+
+if.then:                                          ; preds = %for.body
+  %1 = inttoptr i32 %.idx135.val to i8*
+  %call.i.i165 = tail call i8* @memory_Malloc(i32 8) #1
+  %2 = bitcast i8* %call.i.i165 to %struct.LIST_HELP*
+  %car.i.i166 = getelementptr inbounds i8* %call.i.i165, i32 4
+  %3 = bitcast i8* %car.i.i166 to i8**
+  store i8* %1, i8** %3, align 4
+  %cdr.i.i167 = bitcast i8* %call.i.i165 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i167, align 4
+  %cmp.i.i168 = icmp eq %struct.LIST_HELP* %varlist.0241, null
+  br i1 %cmp.i.i168, label %list_Nconc.exit178, label %if.end.i170
+
+if.end.i170:                                      ; preds = %if.then
+  %cmp.i18.i169 = icmp eq i8* %call.i.i165, null
+  br i1 %cmp.i18.i169, label %list_Nconc.exit178, label %for.cond.i175
+
+for.cond.i175:                                    ; preds = %if.end.i170, %for.cond.i175
+  %List1.addr.0.i171 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i173, %for.cond.i175 ], [ %varlist.0241, %if.end.i170 ]
+  %List1.addr.0.idx15.i172 = getelementptr %struct.LIST_HELP* %List1.addr.0.i171, i32 0, i32 0
+  %List1.addr.0.idx15.val.i173 = load %struct.LIST_HELP** %List1.addr.0.idx15.i172, align 4
+  %cmp.i16.i174 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i173, null
+  br i1 %cmp.i16.i174, label %for.end.i176, label %for.cond.i175
+
+for.end.i176:                                     ; preds = %for.cond.i175
+  store %struct.LIST_HELP* %2, %struct.LIST_HELP** %List1.addr.0.idx15.i172, align 4
+  br label %list_Nconc.exit178
+
+list_Nconc.exit178:                               ; preds = %if.then, %if.end.i170, %for.end.i176
+  %retval.0.i177 = phi %struct.LIST_HELP* [ %varlist.0241, %for.end.i176 ], [ %2, %if.then ], [ %varlist.0241, %if.end.i170 ]
+  tail call void @term_Delete(%struct.term* %0) #1
+  br label %for.inc
+
+if.else:                                          ; preds = %for.body
+  %.idx136 = getelementptr i8* %VarTermList.addr.0.idx.val, i32 8
+  %4 = bitcast i8* %.idx136 to %struct.LIST_HELP**
+  %.idx136.val = load %struct.LIST_HELP** %4, align 4
+  %.idx136.val.idx = getelementptr %struct.LIST_HELP* %.idx136.val, i32 0, i32 1
+  %.idx136.val.idx.val = load i8** %.idx136.val.idx, align 4
+  %call8.idx = bitcast i8* %.idx136.val.idx.val to i32*
+  %call8.idx.val = load i32* %call8.idx, align 4
+  %5 = inttoptr i32 %call8.idx.val to i8*
+  %call.i.i233 = tail call i8* @memory_Malloc(i32 8) #1
+  %6 = bitcast i8* %call.i.i233 to %struct.LIST_HELP*
+  %car.i.i234 = getelementptr inbounds i8* %call.i.i233, i32 4
+  %7 = bitcast i8* %car.i.i234 to i8**
+  store i8* %5, i8** %7, align 4
+  %cdr.i.i235 = bitcast i8* %call.i.i233 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i235, align 4
+  %cmp.i.i222 = icmp eq %struct.LIST_HELP* %varlist.0241, null
+  br i1 %cmp.i.i222, label %list_Nconc.exit232, label %if.end.i224
+
+if.end.i224:                                      ; preds = %if.else
+  %cmp.i18.i223 = icmp eq i8* %call.i.i233, null
+  br i1 %cmp.i18.i223, label %list_Nconc.exit232, label %for.cond.i229
+
+for.cond.i229:                                    ; preds = %if.end.i224, %for.cond.i229
+  %List1.addr.0.i225 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i227, %for.cond.i229 ], [ %varlist.0241, %if.end.i224 ]
+  %List1.addr.0.idx15.i226 = getelementptr %struct.LIST_HELP* %List1.addr.0.i225, i32 0, i32 0
+  %List1.addr.0.idx15.val.i227 = load %struct.LIST_HELP** %List1.addr.0.idx15.i226, align 4
+  %cmp.i16.i228 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i227, null
+  br i1 %cmp.i16.i228, label %for.end.i230, label %for.cond.i229
+
+for.end.i230:                                     ; preds = %for.cond.i229
+  store %struct.LIST_HELP* %6, %struct.LIST_HELP** %List1.addr.0.idx15.i226, align 4
+  br label %list_Nconc.exit232
+
+list_Nconc.exit232:                               ; preds = %if.else, %if.end.i224, %for.end.i230
+  %retval.0.i231 = phi %struct.LIST_HELP* [ %varlist.0241, %for.end.i230 ], [ %6, %if.else ], [ %varlist.0241, %if.end.i224 ]
+  %call.i.i219 = tail call i8* @memory_Malloc(i32 8) #1
+  %8 = bitcast i8* %call.i.i219 to %struct.LIST_HELP*
+  %car.i.i220 = getelementptr inbounds i8* %call.i.i219, i32 4
+  %9 = bitcast i8* %car.i.i220 to i8**
+  store i8* %VarTermList.addr.0.idx.val, i8** %9, align 4
+  %cdr.i.i221 = bitcast i8* %call.i.i219 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i221, align 4
+  %cmp.i.i208 = icmp eq %struct.LIST_HELP* %sortlist.0242, null
+  br i1 %cmp.i.i208, label %for.inc, label %if.end.i210
+
+if.end.i210:                                      ; preds = %list_Nconc.exit232
+  %cmp.i18.i209 = icmp eq i8* %call.i.i219, null
+  br i1 %cmp.i18.i209, label %for.inc, label %for.cond.i215
+
+for.cond.i215:                                    ; preds = %if.end.i210, %for.cond.i215
+  %List1.addr.0.i211 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i213, %for.cond.i215 ], [ %sortlist.0242, %if.end.i210 ]
+  %List1.addr.0.idx15.i212 = getelementptr %struct.LIST_HELP* %List1.addr.0.i211, i32 0, i32 0
+  %List1.addr.0.idx15.val.i213 = load %struct.LIST_HELP** %List1.addr.0.idx15.i212, align 4
+  %cmp.i16.i214 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i213, null
+  br i1 %cmp.i16.i214, label %for.end.i216, label %for.cond.i215
+
+for.end.i216:                                     ; preds = %for.cond.i215
+  store %struct.LIST_HELP* %8, %struct.LIST_HELP** %List1.addr.0.idx15.i212, align 4
+  br label %for.inc
+
+for.inc:                                          ; preds = %for.end.i216, %if.end.i210, %list_Nconc.exit232, %list_Nconc.exit178
+  %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 ]
+  %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 ]
+  %L.idx.i = getelementptr %struct.LIST_HELP* %VarTermList.addr.0243, i32 0, i32 0
+  %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
+  %10 = bitcast %struct.LIST_HELP* %VarTermList.addr.0243 to i8*
+  %11 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 4
+  %12 = load i32* %total_size.i.i.i, align 4
+  %13 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %13, %12
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 0
+  %14 = load i8** %free.i.i.i, align 4
+  %.c.i.i = bitcast i8* %14 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
+  %15 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %15, i32 0, i32 0
+  store i8* %10, i8** %free27.i.i.i, align 4
+  %cmp.i = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
+  br i1 %cmp.i, label %for.end, label %for.body
+
+for.end:                                          ; preds = %for.inc, %entry
+  %sortlist.0.lcssa = phi %struct.LIST_HELP* [ null, %entry ], [ %sortlist.1, %for.inc ]
+  %varlist.0.lcssa = phi %struct.LIST_HELP* [ null, %entry ], [ %varlist.1, %for.inc ]
+  %call15 = tail call %struct.LIST_HELP* @list_PointerDeleteDuplicates(%struct.LIST_HELP* %varlist.0.lcssa) #1
+  %cmp.i206238 = icmp eq %struct.LIST_HELP* %call15, null
+  br i1 %cmp.i206238, label %for.end26, label %for.body20
+
+for.body20:                                       ; preds = %for.end, %for.body20
+  %scan.0239 = phi %struct.LIST_HELP* [ %scan.0.idx133.val, %for.body20 ], [ %call15, %for.end ]
+  %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.0239, i32 0, i32 1
+  %scan.0.idx.val = load i8** %scan.0.idx, align 4
+  %16 = ptrtoint i8* %scan.0.idx.val to i32
+  %call23 = tail call %struct.term* @term_Create(i32 %16, %struct.LIST_HELP* null) #1
+  %17 = bitcast %struct.term* %call23 to i8*
+  store i8* %17, i8** %scan.0.idx, align 4
+  %scan.0.idx133 = getelementptr %struct.LIST_HELP* %scan.0239, i32 0, i32 0
+  %scan.0.idx133.val = load %struct.LIST_HELP** %scan.0.idx133, align 4
+  %cmp.i206 = icmp eq %struct.LIST_HELP* %scan.0.idx133.val, null
+  br i1 %cmp.i206, label %for.end26, label %for.body20
+
+for.end26:                                        ; preds = %for.body20, %for.end
+  %cmp.i203 = icmp eq %struct.LIST_HELP* %sortlist.0.lcssa, null
+  br i1 %cmp.i203, label %if.end90, label %if.then29
+
+if.then29:                                        ; preds = %for.end26
+  %18 = load i32* @fol_ALL, align 4
+  %cmp.i201 = icmp eq i32 %18, %Symbol
+  br i1 %cmp.i201, label %if.then33, label %if.else70
+
+if.then33:                                        ; preds = %if.then29
+  %19 = load i32* @fol_OR, align 4
+  %Term.idx134 = getelementptr %struct.term* %Term, i32 0, i32 0
+  %Term.idx134.val = load i32* %Term.idx134, align 4
+  %cmp.i199 = icmp eq i32 %19, %Term.idx134.val
+  br i1 %cmp.i199, label %for.body43, label %if.else53
+
+for.body43:                                       ; preds = %if.then33, %for.body43
+  %scan.1237 = phi %struct.LIST_HELP* [ %scan.1.idx132.val, %for.body43 ], [ %sortlist.0.lcssa, %if.then33 ]
+  %20 = load i32* @fol_NOT, align 4
+  %scan.1.idx = getelementptr %struct.LIST_HELP* %scan.1237, i32 0, i32 1
+  %scan.1.idx.val = load i8** %scan.1.idx, align 4
+  %call.i.i194 = tail call i8* @memory_Malloc(i32 8) #1
+  %21 = bitcast i8* %call.i.i194 to %struct.LIST_HELP*
+  %car.i.i195 = getelementptr inbounds i8* %call.i.i194, i32 4
+  %22 = bitcast i8* %car.i.i195 to i8**
+  store i8* %scan.1.idx.val, i8** %22, align 4
+  %cdr.i.i196 = bitcast i8* %call.i.i194 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i196, align 4
+  %call47 = tail call %struct.term* @term_Create(i32 %20, %struct.LIST_HELP* %21) #1
+  %23 = bitcast %struct.term* %call47 to i8*
+  store i8* %23, i8** %scan.1.idx, align 4
+  %scan.1.idx132 = getelementptr %struct.LIST_HELP* %scan.1237, i32 0, i32 0
+  %scan.1.idx132.val = load %struct.LIST_HELP** %scan.1.idx132, align 4
+  %cmp.i197 = icmp eq %struct.LIST_HELP* %scan.1.idx132.val, null
+  br i1 %cmp.i197, label %if.end.i184, label %for.body43
+
+if.end.i184:                                      ; preds = %for.body43
+  %Term.idx138 = getelementptr %struct.term* %Term, i32 0, i32 2
+  %Term.idx138.val = load %struct.LIST_HELP** %Term.idx138, align 4
+  %cmp.i18.i183 = icmp eq %struct.LIST_HELP* %Term.idx138.val, null
+  br i1 %cmp.i18.i183, label %list_Nconc.exit192, label %for.cond.i189
+
+for.cond.i189:                                    ; preds = %if.end.i184, %for.cond.i189
+  %List1.addr.0.i185 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i187, %for.cond.i189 ], [ %sortlist.0.lcssa, %if.end.i184 ]
+  %List1.addr.0.idx15.i186 = getelementptr %struct.LIST_HELP* %List1.addr.0.i185, i32 0, i32 0
+  %List1.addr.0.idx15.val.i187 = load %struct.LIST_HELP** %List1.addr.0.idx15.i186, align 4
+  %cmp.i16.i188 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i187, null
+  br i1 %cmp.i16.i188, label %for.end.i190, label %for.cond.i189
+
+for.end.i190:                                     ; preds = %for.cond.i189
+  store %struct.LIST_HELP* %Term.idx138.val, %struct.LIST_HELP** %List1.addr.0.idx15.i186, align 4
+  br label %list_Nconc.exit192
+
+list_Nconc.exit192:                               ; preds = %if.end.i184, %for.end.i190
+  store %struct.LIST_HELP* %sortlist.0.lcssa, %struct.LIST_HELP** %Term.idx138, align 4
+  br label %if.end90
+
+if.else53:                                        ; preds = %if.then33
+  %sortlist.0.idx = getelementptr %struct.LIST_HELP* %sortlist.0.lcssa, i32 0, i32 0
+  %sortlist.0.idx.val = load %struct.LIST_HELP** %sortlist.0.idx, align 4
+  %cmp.i179 = icmp eq %struct.LIST_HELP* %sortlist.0.idx.val, null
+  br i1 %cmp.i179, label %if.then57, label %if.else61
+
+if.then57:                                        ; preds = %if.else53
+  %24 = bitcast %struct.term* %Term to i8*
+  %call.i.i162 = tail call i8* @memory_Malloc(i32 8) #1
+  %25 = bitcast i8* %call.i.i162 to %struct.LIST_HELP*
+  %car.i.i163 = getelementptr inbounds i8* %call.i.i162, i32 4
+  %26 = bitcast i8* %car.i.i163 to i8**
+  store i8* %24, i8** %26, align 4
+  %cdr.i.i164 = bitcast i8* %call.i.i162 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i164, align 4
+  store %struct.LIST_HELP* %25, %struct.LIST_HELP** %sortlist.0.idx, align 4
+  %27 = load i32* @fol_IMPLIES, align 4
+  %call60 = tail call %struct.term* @term_Create(i32 %27, %struct.LIST_HELP* %sortlist.0.lcssa) #1
+  br label %if.end90
+
+if.else61:                                        ; preds = %if.else53
+  %28 = load i32* @fol_AND, align 4
+  %call63 = tail call %struct.term* @term_Create(i32 %28, %struct.LIST_HELP* %sortlist.0.lcssa) #1
+  %29 = load i32* @fol_IMPLIES, align 4
+  %30 = bitcast %struct.term* %call63 to i8*
+  %31 = bitcast %struct.term* %Term to i8*
+  %call.i.i158 = tail call i8* @memory_Malloc(i32 8) #1
+  %32 = bitcast i8* %call.i.i158 to %struct.LIST_HELP*
+  %car.i.i159 = getelementptr inbounds i8* %call.i.i158, i32 4
+  %33 = bitcast i8* %car.i.i159 to i8**
+  store i8* %31, i8** %33, align 4
+  %cdr.i.i160 = bitcast i8* %call.i.i158 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i160, align 4
+  %call.i = tail call i8* @memory_Malloc(i32 8) #1
+  %34 = bitcast i8* %call.i to %struct.LIST_HELP*
+  %car.i = getelementptr inbounds i8* %call.i, i32 4
+  %35 = bitcast i8* %car.i to i8**
+  store i8* %30, i8** %35, align 4
+  %cdr.i = bitcast i8* %call.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %32, %struct.LIST_HELP** %cdr.i, align 4
+  %call67 = tail call %struct.term* @term_Create(i32 %29, %struct.LIST_HELP* %34) #1
+  br label %if.end90
+
+if.else70:                                        ; preds = %if.then29
+  %36 = load i32* @fol_EXIST, align 4
+  %cmp.i155 = icmp eq i32 %36, %Symbol
+  br i1 %cmp.i155, label %if.then74, label %if.end90
+
+if.then74:                                        ; preds = %if.else70
+  %37 = load i32* @fol_AND, align 4
+  %Term.idx = getelementptr %struct.term* %Term, i32 0, i32 0
+  %Term.idx.val = load i32* %Term.idx, align 4
+  %cmp.i153 = icmp eq i32 %37, %Term.idx.val
+  br i1 %cmp.i153, label %if.end.i144, label %if.end.i
+
+if.end.i144:                                      ; preds = %if.then74
+  %Term.idx137 = getelementptr %struct.term* %Term, i32 0, i32 2
+  %Term.idx137.val = load %struct.LIST_HELP** %Term.idx137, align 4
+  %cmp.i18.i143 = icmp eq %struct.LIST_HELP* %Term.idx137.val, null
+  br i1 %cmp.i18.i143, label %list_Nconc.exit152, label %for.cond.i149
+
+for.cond.i149:                                    ; preds = %if.end.i144, %for.cond.i149
+  %List1.addr.0.i145 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i147, %for.cond.i149 ], [ %sortlist.0.lcssa, %if.end.i144 ]
+  %List1.addr.0.idx15.i146 = getelementptr %struct.LIST_HELP* %List1.addr.0.i145, i32 0, i32 0
+  %List1.addr.0.idx15.val.i147 = load %struct.LIST_HELP** %List1.addr.0.idx15.i146, align 4
+  %cmp.i16.i148 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i147, null
+  br i1 %cmp.i16.i148, label %for.end.i150, label %for.cond.i149
+
+for.end.i150:                                     ; preds = %for.cond.i149
+  store %struct.LIST_HELP* %Term.idx137.val, %struct.LIST_HELP** %List1.addr.0.idx15.i146, align 4
+  br label %list_Nconc.exit152
+
+list_Nconc.exit152:                               ; preds = %if.end.i144, %for.end.i150
+  store %struct.LIST_HELP* %sortlist.0.lcssa, %struct.LIST_HELP** %Term.idx137, align 4
+  br label %if.end90
+
+if.end.i:                                         ; preds = %if.then74
+  %38 = bitcast %struct.term* %Term to i8*
+  %call.i.i139 = tail call i8* @memory_Malloc(i32 8) #1
+  %39 = bitcast i8* %call.i.i139 to %struct.LIST_HELP*
+  %car.i.i140 = getelementptr inbounds i8* %call.i.i139, i32 4
+  %40 = bitcast i8* %car.i.i140 to i8**
+  store i8* %38, i8** %40, align 4
+  %cdr.i.i141 = bitcast i8* %call.i.i139 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i141, align 4
+  %cmp.i18.i = icmp eq i8* %call.i.i139, null
+  br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
+
+for.cond.i:                                       ; preds = %if.end.i, %for.cond.i
+  %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %sortlist.0.lcssa, %if.end.i ]
+  %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
+  %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
+  br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
+
+for.end.i:                                        ; preds = %for.cond.i
+  store %struct.LIST_HELP* %39, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  br label %list_Nconc.exit
+
+list_Nconc.exit:                                  ; preds = %if.end.i, %for.end.i
+  %41 = load i32* @fol_AND, align 4
+  %call86 = tail call %struct.term* @term_Create(i32 %41, %struct.LIST_HELP* %sortlist.0.lcssa) #1
+  br label %if.end90
+
+if.end90:                                         ; preds = %if.else70, %for.end26, %if.then57, %if.else61, %list_Nconc.exit192, %list_Nconc.exit152, %list_Nconc.exit
+  %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 ]
+  %42 = bitcast %struct.term* %Term.addr.0 to i8*
+  %call.i.i = tail call i8* @memory_Malloc(i32 8) #1
+  %43 = bitcast i8* %call.i.i to %struct.LIST_HELP*
+  %car.i.i = getelementptr inbounds i8* %call.i.i, i32 4
+  %44 = bitcast i8* %car.i.i to i8**
+  store i8* %42, i8** %44, align 4
+  %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i, align 4
+  %call92 = tail call %struct.term* @fol_CreateQuantifier(i32 %Symbol, %struct.LIST_HELP* %call15, %struct.LIST_HELP* %43) #1
+  ret %struct.term* %call92
+}
+
+; Function Attrs: nounwind
+define internal fastcc i32 @dfg_Symbol(i8* %Name, i32 %Arity) #0 {
+entry:
+  %call = tail call i32 @strlen(i8* %Name) #6
+  %cmp = icmp ugt i32 %call, 63
+  br i1 %cmp, label %if.then4, label %if.end
+
+if.end:                                           ; preds = %entry
+  %call2 = tail call i32 @symbol_Lookup(i8* %Name) #1
+  br label %if.end6
+
+if.then4:                                         ; preds = %entry
+  %arrayidx = getelementptr inbounds i8* %Name, i32 63
+  %0 = load i8* %arrayidx, align 1
+  store i8 0, i8* %arrayidx, align 1
+  %call234 = tail call i32 @symbol_Lookup(i8* %Name) #1
+  store i8 %0, i8* %arrayidx, align 1
+  br label %if.end6
+
+if.end6:                                          ; preds = %if.end, %if.then4
+  %call236 = phi i32 [ %call234, %if.then4 ], [ %call2, %if.end ]
+  %cmp7 = icmp eq i32 %call236, 0
+  br i1 %cmp7, label %if.else, label %if.then8
+
+if.then8:                                         ; preds = %if.end6
+  tail call void @string_StringFree(i8* %Name) #1
+  %scan.047.i = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %cmp.i48.i = icmp eq %struct.LIST_HELP* %scan.047.i, null
+  br i1 %cmp.i48.i, label %while.end.i, label %while.body.i
+
+while.cond.i:                                     ; preds = %while.body.i
+  %scan.0.idx35.i = getelementptr %struct.LIST_HELP* %scan.049.i, i32 0, i32 0
+  %scan.0.i = load %struct.LIST_HELP** %scan.0.idx35.i, align 4
+  %cmp.i.i = icmp eq %struct.LIST_HELP* %scan.0.i, null
+  br i1 %cmp.i.i, label %while.end.i, label %while.body.i
+
+while.body.i:                                     ; preds = %if.then8, %while.cond.i
+  %scan.049.i = phi %struct.LIST_HELP* [ %scan.0.i, %while.cond.i ], [ %scan.047.i, %if.then8 ]
+  %scan.0.idx.i = getelementptr %struct.LIST_HELP* %scan.049.i, i32 0, i32 1
+  %scan.0.idx.val.i = load i8** %scan.0.idx.i, align 4
+  %symbol.i = bitcast i8* %scan.0.idx.val.i to i32*
+  %1 = load i32* %symbol.i, align 4
+  %cmp.i = icmp eq i32 %1, %call236
+  br i1 %cmp.i, label %if.then.i, label %while.cond.i
+
+if.then.i:                                        ; preds = %while.body.i
+  %valid.i = getelementptr inbounds i8* %scan.0.idx.val.i, i32 4
+  %2 = bitcast i8* %valid.i to i32*
+  %3 = load i32* %2, align 4
+  %tobool2.i = icmp eq i32 %3, 0
+  %arity9.i = getelementptr inbounds i8* %scan.0.idx.val.i, i32 8
+  %4 = bitcast i8* %arity9.i to i32*
+  br i1 %tobool2.i, label %if.else.i, label %if.then3.i
+
+if.then3.i:                                       ; preds = %if.then.i
+  %5 = load i32* %4, align 4
+  %cmp4.i = icmp eq i32 %5, %Arity
+  br i1 %cmp4.i, label %if.end14, label %if.then5.i
+
+if.then5.i:                                       ; preds = %if.then3.i
+  %6 = load %struct._IO_FILE** @stdout, align 4
+  %call6.i = tail call i32 @fflush(%struct._IO_FILE* %6) #1
+  %7 = load i32* @dfg_LINENUMBER, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([11 x i8]* @.str47, i32 0, i32 0), i32 %7) #1
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([21 x i8]* @.str48, i32 0, i32 0), i32 %Arity) #1
+  %sub.i.i43.i = sub nsw i32 0, %call236
+  %8 = load i32* @symbol_TYPESTATBITS, align 4
+  %shr.i.i44.i = ashr i32 %sub.i.i43.i, %8
+  %9 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i45.i = getelementptr inbounds %struct.signature** %9, i32 %shr.i.i44.i
+  %10 = load %struct.signature** %arrayidx.i.i45.i, align 4
+  %name.i46.i = getelementptr inbounds %struct.signature* %10, i32 0, i32 0
+  %11 = load i8** %name.i46.i, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([22 x i8]* @.str49, i32 0, i32 0), i8* %11) #1
+  %12 = load i32* %4, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([30 x i8]* @.str50, i32 0, i32 0), i32 %12) #1
+  tail call fastcc void @misc_Error() #1
+  unreachable
+
+if.else.i:                                        ; preds = %if.then.i
+  store i32 %Arity, i32* %4, align 4
+  store i32 1, i32* %2, align 4
+  br label %if.end14
+
+while.end.i:                                      ; preds = %while.cond.i, %if.then8
+  %sub.i.i39.i = sub nsw i32 0, %call236
+  %13 = load i32* @symbol_TYPESTATBITS, align 4
+  %shr.i.i40.i = ashr i32 %sub.i.i39.i, %13
+  %14 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i41.i = getelementptr inbounds %struct.signature** %14, i32 %shr.i.i40.i
+  %15 = load %struct.signature** %arrayidx.i.i41.i, align 4
+  %arity.i42.i = getelementptr inbounds %struct.signature* %15, i32 0, i32 3
+  %16 = load i32* %arity.i42.i, align 4
+  %cmp15.i = icmp eq i32 %16, %Arity
+  br i1 %cmp15.i, label %if.end14, label %if.then16.i
+
+if.then16.i:                                      ; preds = %while.end.i
+  %17 = load %struct._IO_FILE** @stdout, align 4
+  %call17.i = tail call i32 @fflush(%struct._IO_FILE* %17) #1
+  %18 = load i32* @dfg_LINENUMBER, align 4
+  %19 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i38.i = getelementptr inbounds %struct.signature** %19, i32 %shr.i.i40.i
+  %20 = load %struct.signature** %arrayidx.i.i38.i, align 4
+  %name.i.i = getelementptr inbounds %struct.signature* %20, i32 0, i32 0
+  %21 = load i8** %name.i.i, align 4
+  %arity.i.i = getelementptr inbounds %struct.signature* %20, i32 0, i32 3
+  %22 = load i32* %arity.i.i, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([50 x i8]* @.str51, i32 0, i32 0), i32 %18, i8* %21, i32 %22) #1
+  tail call fastcc void @misc_Error() #1
+  unreachable
+
+if.else:                                          ; preds = %if.end6
+  %cmp9 = icmp eq i32 %Arity, 0
+  br i1 %cmp9, label %if.end12, label %if.then10
+
+if.then10:                                        ; preds = %if.else
+  %23 = load %struct._IO_FILE** @stdout, align 4
+  %call11 = tail call i32 @fflush(%struct._IO_FILE* %23) #1
+  %24 = load i32* @dfg_LINENUMBER, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([33 x i8]* @.str45, i32 0, i32 0), i32 %24, i8* %Name) #1
+  tail call fastcc void @misc_Error()
+  unreachable
+
+if.end12:                                         ; preds = %if.else
+  %scan.064.i = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %cmp.i65.i = icmp eq %struct.LIST_HELP* %scan.064.i, null
+  br i1 %cmp.i65.i, label %if.else.i33, label %while.body.i28
+
+while.body.i28:                                   ; preds = %if.end12, %while.end.i31
+  %scan.066.i = phi %struct.LIST_HELP* [ %scan.0.i29, %while.end.i31 ], [ %scan.064.i, %if.end12 ]
+  %scan.0.idx.i26 = getelementptr %struct.LIST_HELP* %scan.066.i, i32 0, i32 1
+  %scan.0.idx.val.i27 = load i8** %scan.0.idx.i26, align 4
+  %25 = bitcast i8* %scan.0.idx.val.i27 to %struct.LIST_HELP*
+  %cmp.i6062.i = icmp eq i8* %scan.0.idx.val.i27, null
+  br i1 %cmp.i6062.i, label %while.end.i31, label %land.rhs9.i
+
+land.rhs9.i:                                      ; preds = %while.body.i28, %while.body15.i
+  %scan2.163.i = phi %struct.LIST_HELP* [ %scan2.1.idx48.val.i, %while.body15.i ], [ %25, %while.body.i28 ]
+  %scan2.1.idx.i = getelementptr %struct.LIST_HELP* %scan2.163.i, i32 0, i32 1
+  %scan2.1.idx.val.i = load i8** %scan2.1.idx.i, align 4
+  %.idx49.i = bitcast i8* %scan2.1.idx.val.i to i8**
+  %.idx49.val.i = load i8** %.idx49.i, align 4
+  %call.i57.i = tail call i32 @strcmp(i8* %.idx49.val.i, i8* %Name) #1
+  %cmp.i58.i = icmp eq i32 %call.i57.i, 0
+  br i1 %cmp.i58.i, label %while.end.i31, label %while.body15.i
+
+while.body15.i:                                   ; preds = %land.rhs9.i
+  %scan2.1.idx48.i = getelementptr %struct.LIST_HELP* %scan2.163.i, i32 0, i32 0
+  %scan2.1.idx48.val.i = load %struct.LIST_HELP** %scan2.1.idx48.i, align 4
+  %cmp.i60.i = icmp eq %struct.LIST_HELP* %scan2.1.idx48.val.i, null
+  br i1 %cmp.i60.i, label %while.end.i31, label %land.rhs9.i
+
+while.end.i31:                                    ; preds = %while.body15.i, %land.rhs9.i, %while.body.i28
+  %scan2.1.lcssa.i = phi %struct.LIST_HELP* [ %25, %while.body.i28 ], [ null, %while.body15.i ], [ %scan2.163.i, %land.rhs9.i ]
+  %scan.0.idx47.i = getelementptr %struct.LIST_HELP* %scan.066.i, i32 0, i32 0
+  %scan.0.i29 = load %struct.LIST_HELP** %scan.0.idx47.i, align 4
+  %cmp.i.i30 = icmp ne %struct.LIST_HELP* %scan.0.i29, null
+  %cmp.i53.i = icmp eq %struct.LIST_HELP* %scan2.1.lcssa.i, null
+  %or.cond.i = and i1 %cmp.i.i30, %cmp.i53.i
+  br i1 %or.cond.i, label %while.body.i28, label %while.end18.i
+
+while.end18.i:                                    ; preds = %while.end.i31
+  br i1 %cmp.i53.i, label %if.else.i33, label %if.then.i32
+
+if.then.i32:                                      ; preds = %while.end18.i
+  tail call void @string_StringFree(i8* %Name) #1
+  %scan2.0.idx.i = getelementptr %struct.LIST_HELP* %scan2.1.lcssa.i, i32 0, i32 1
+  %scan2.0.idx.val.i = load i8** %scan2.0.idx.i, align 4
+  br label %dfg_VarLookup.exit
+
+if.else.i33:                                      ; preds = %while.end18.i, %if.end12
+  %.b.i = load i1* @dfg_VARDECL, align 1
+  br i1 %.b.i, label %if.then24.i, label %if.else31.i
+
+if.then24.i:                                      ; preds = %if.else.i33
+  %call.i52.i = tail call i8* @memory_Malloc(i32 8) #1
+  %name.i = bitcast i8* %call.i52.i to i8**
+  store i8* %Name, i8** %name.i, align 4
+  %26 = load i32* @symbol_STANDARDVARCOUNTER, align 4
+  %inc.i.i = add nsw i32 %26, 1
+  store i32 %inc.i.i, i32* @symbol_STANDARDVARCOUNTER, align 4
+  %symbol27.i = getelementptr inbounds i8* %call.i52.i, i32 4
+  %27 = bitcast i8* %symbol27.i to i32*
+  store i32 %inc.i.i, i32* %27, align 4
+  %28 = load %struct.LIST_HELP** @dfg_VARLIST, align 4
+  %.idx.i = getelementptr %struct.LIST_HELP* %28, i32 0, i32 1
+  %.idx.val.i = load i8** %.idx.i, align 4
+  %29 = bitcast i8* %.idx.val.i to %struct.LIST_HELP*
+  %call.i.i = tail call i8* @memory_Malloc(i32 8) #1
+  %car.i51.i = getelementptr inbounds i8* %call.i.i, i32 4
+  %30 = bitcast i8* %car.i51.i to i8**
+  store i8* %call.i52.i, i8** %30, align 4
+  %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %29, %struct.LIST_HELP** %cdr.i.i, align 4
+  store i8* %call.i.i, i8** %.idx.i, align 4
+  br label %dfg_VarLookup.exit
+
+if.else31.i:                                      ; preds = %if.else.i33
+  %31 = load %struct._IO_FILE** @stdout, align 4
+  %call32.i = tail call i32 @fflush(%struct._IO_FILE* %31) #1
+  %32 = load i32* @dfg_LINENUMBER, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([30 x i8]* @.str46, i32 0, i32 0), i32 %32, i8* %Name) #1
+  tail call fastcc void @misc_Error() #1
+  unreachable
+
+dfg_VarLookup.exit:                               ; preds = %if.then.i32, %if.then24.i
+  %call.i52.pn.i = phi i8* [ %call.i52.i, %if.then24.i ], [ %scan2.0.idx.val.i, %if.then.i32 ]
+  %symbol.0.in.in.i = getelementptr i8* %call.i52.pn.i, i32 4
+  %symbol.0.in.i = bitcast i8* %symbol.0.in.in.i to i32*
+  %symbol.0.i = load i32* %symbol.0.in.i, align 4
+  br label %if.end14
+
+if.end14:                                         ; preds = %while.end.i, %if.else.i, %if.then3.i, %dfg_VarLookup.exit
+  %symbol.0 = phi i32 [ %symbol.0.i, %dfg_VarLookup.exit ], [ %call236, %if.then3.i ], [ %call236, %if.else.i ], [ %call236, %while.end.i ]
+  ret i32 %symbol.0
+}
+
+declare %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP*) #2
+
+declare %struct.term* @term_Create(i32, %struct.LIST_HELP*) #2
+
+declare i8* @string_IntToString(i32) #2
+
+declare i8* @string_StringCopy(i8*) #2
+
+; Function Attrs: nounwind
+declare i32 @fflush(%struct._IO_FILE* nocapture) #0
+
+declare void @misc_UserErrorReport(i8*, ...) #2
+
+; Function Attrs: inlinehint noreturn nounwind
+define internal fastcc void @misc_Error() #3 {
+entry:
+  %0 = load %struct._IO_FILE** @stderr, align 4
+  %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
+  %1 = load %struct._IO_FILE** @stdout, align 4
+  %call1 = tail call i32 @fflush(%struct._IO_FILE* %1) #1
+  %2 = load %struct._IO_FILE** @stderr, align 4
+  %call2 = tail call i32 @fflush(%struct._IO_FILE* %2) #1
+  tail call void @exit(i32 1) #7
+  unreachable
+}
+
+declare i32 @clause_GetOriginFromString(i8*) #2
+
+declare void @term_Delete(%struct.term*) #2
+
+declare i32 @string_StringToInt(i8*, i32, i32*) #2
+
+declare i32 @symbol_Lookup(i8*) #2
+
+declare i32 @flag_Id(i8*) #2
+
+; Function Attrs: nounwind readonly
+declare i32 @strlen(i8* nocapture) #4
+
+; Function Attrs: nounwind
+declare i8* @stpcpy(i8*, i8* nocapture) #0
+
+; Function Attrs: noreturn nounwind
+define void @dfg_error(i8* %s) #5 {
+entry:
+  %0 = load %struct._IO_FILE** @stdout, align 4
+  %call = tail call i32 @fflush(%struct._IO_FILE* %0) #1
+  %1 = load i32* @dfg_LINENUMBER, align 4
+  tail call void (i8*, ...)* @misc_UserErrorReport(i8* getelementptr inbounds ([15 x i8]* @.str22, i32 0, i32 0), i32 %1, i8* %s) #1
+  tail call fastcc void @misc_Error()
+  unreachable
+}
+
+; Function Attrs: nounwind
+declare void @llvm.lifetime.end(i64, i8* nocapture) #1
+
+; Function Attrs: nounwind
+define void @dfg_Free() #0 {
+entry:
+  %0 = load i8** @dfg_DESC.0, align 4
+  %cmp = icmp eq i8* %0, null
+  br i1 %cmp, label %if.end, label %if.then
+
+if.then:                                          ; preds = %entry
+  tail call void @string_StringFree(i8* %0) #1
+  br label %if.end
+
+if.end:                                           ; preds = %entry, %if.then
+  %1 = load i8** @dfg_DESC.1, align 4
+  %cmp1 = icmp eq i8* %1, null
+  br i1 %cmp1, label %if.end3, label %if.then2
+
+if.then2:                                         ; preds = %if.end
+  tail call void @string_StringFree(i8* %1) #1
+  br label %if.end3
+
+if.end3:                                          ; preds = %if.end, %if.then2
+  %2 = load i8** @dfg_DESC.2, align 4
+  %cmp4 = icmp eq i8* %2, null
+  br i1 %cmp4, label %if.end6, label %if.then5
+
+if.then5:                                         ; preds = %if.end3
+  tail call void @string_StringFree(i8* %2) #1
+  br label %if.end6
+
+if.end6:                                          ; preds = %if.end3, %if.then5
+  %3 = load i8** @dfg_DESC.3, align 4
+  %cmp7 = icmp eq i8* %3, null
+  br i1 %cmp7, label %if.end9, label %if.then8
+
+if.then8:                                         ; preds = %if.end6
+  tail call void @string_StringFree(i8* %3) #1
+  br label %if.end9
+
+if.end9:                                          ; preds = %if.end6, %if.then8
+  %4 = load i8** @dfg_DESC.5, align 4
+  %cmp10 = icmp eq i8* %4, null
+  br i1 %cmp10, label %if.end12, label %if.then11
+
+if.then11:                                        ; preds = %if.end9
+  tail call void @string_StringFree(i8* %4) #1
+  br label %if.end12
+
+if.end12:                                         ; preds = %if.end9, %if.then11
+  %5 = load i8** @dfg_DESC.6, align 4
+  %cmp13 = icmp eq i8* %5, null
+  br i1 %cmp13, label %if.end15, label %if.then14
+
+if.then14:                                        ; preds = %if.end12
+  tail call void @string_StringFree(i8* %5) #1
+  br label %if.end15
+
+if.end15:                                         ; preds = %if.end12, %if.then14
+  ret void
+}
+
+; Function Attrs: nounwind readonly
+define i8* @dfg_ProblemName() #4 {
+entry:
+  %0 = load i8** @dfg_DESC.0, align 4
+  ret i8* %0
+}
+
+; Function Attrs: nounwind readonly
+define i8* @dfg_ProblemAuthor() #4 {
+entry:
+  %0 = load i8** @dfg_DESC.1, align 4
+  ret i8* %0
+}
+
+; Function Attrs: nounwind readonly
+define i8* @dfg_ProblemVersion() #4 {
+entry:
+  %0 = load i8** @dfg_DESC.2, align 4
+  ret i8* %0
+}
+
+; Function Attrs: nounwind readonly
+define i8* @dfg_ProblemLogic() #4 {
+entry:
+  %0 = load i8** @dfg_DESC.3, align 4
+  ret i8* %0
+}
+
+; Function Attrs: nounwind readonly
+define i32 @dfg_ProblemStatus() #4 {
+entry:
+  %0 = load i32* @dfg_DESC.4, align 4
+  ret i32 %0
+}
+
+; Function Attrs: nounwind
+define i8* @dfg_ProblemStatusString() #0 {
+entry:
+  %0 = load i32* @dfg_DESC.4, align 4
+  switch i32 %0, label %sw.default [
+    i32 0, label %sw.epilog
+    i32 1, label %sw.bb1
+    i32 2, label %sw.bb2
+  ]
+
+sw.bb1:                                           ; preds = %entry
+  br label %sw.epilog
+
+sw.bb2:                                           ; preds = %entry
+  br label %sw.epilog
+
+sw.default:                                       ; preds = %entry
+  %1 = load %struct._IO_FILE** @stdout, align 4
+  %call = tail call i32 @fflush(%struct._IO_FILE* %1) #1
+  %2 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  tail call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([47 x i8]* @.str29, i32 0, i32 0)) #1
+  %3 = load %struct._IO_FILE** @stderr, align 4
+  %4 = tail call i32 @fwrite(i8* getelementptr inbounds ([133 x i8]* @.str30, i32 0, i32 0), i32 132, i32 1, %struct._IO_FILE* %3)
+  tail call fastcc void @misc_DumpCore()
+  unreachable
+
+sw.epilog:                                        ; preds = %entry, %sw.bb2, %sw.bb1
+  %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 ]
+  ret i8* %result.0
+}
+
+; Function Attrs: nounwind
+declare i32 @fprintf(%struct._IO_FILE* nocapture, i8* nocapture, ...) #0
+
+declare void @misc_ErrorReport(i8*, ...) #2
+
+; Function Attrs: nounwind
+declare i32 @fputs(i8* nocapture, %struct._IO_FILE* nocapture) #0
+
+; Function Attrs: inlinehint noreturn nounwind
+define internal fastcc void @misc_DumpCore() #3 {
+entry:
+  %0 = load %struct._IO_FILE** @stderr, align 4
+  %1 = tail call i32 @fwrite(i8* getelementptr inbounds ([3 x i8]* @.str59, i32 0, i32 0), i32 2, i32 1, %struct._IO_FILE* %0)
+  %2 = load %struct._IO_FILE** @stderr, align 4
+  %call1 = tail call i32 @fflush(%struct._IO_FILE* %2) #1
+  %3 = load %struct._IO_FILE** @stdout, align 4
+  %call2 = tail call i32 @fflush(%struct._IO_FILE* %3) #1
+  %4 = load %struct._IO_FILE** @stderr, align 4
+  %call3 = tail call i32 @fflush(%struct._IO_FILE* %4) #1
+  tail call void @abort() #7
+  unreachable
+}
+
+; Function Attrs: nounwind readonly
+define i8* @dfg_ProblemDescription() #4 {
+entry:
+  %0 = load i8** @dfg_DESC.5, align 4
+  ret i8* %0
+}
+
+; Function Attrs: nounwind readonly
+define i8* @dfg_ProblemDate() #4 {
+entry:
+  %0 = load i8** @dfg_DESC.6, align 4
+  ret i8* %0
+}
+
+; Function Attrs: nounwind
+define void @dfg_FPrintDescription(%struct._IO_FILE* %File) #0 {
+entry:
+  %0 = tail call i32 @fwrite(i8* getelementptr inbounds ([30 x i8]* @.str31, i32 0, i32 0), i32 29, i32 1, %struct._IO_FILE* %File)
+  %1 = load i8** @dfg_DESC.0, align 4
+  %cmp = icmp eq i8* %1, null
+  br i1 %cmp, label %if.else, label %if.then
+
+if.then:                                          ; preds = %entry
+  %call1 = tail call i32 @fputs(i8* %1, %struct._IO_FILE* %File) #1
+  br label %if.end
+
+if.else:                                          ; preds = %entry
+  %2 = tail call i32 @fwrite(i8* getelementptr inbounds ([6 x i8]* @.str32, i32 0, i32 0), i32 5, i32 1, %struct._IO_FILE* %File)
+  br label %if.end
+
+if.end:                                           ; preds = %if.else, %if.then
+  %3 = tail call i32 @fwrite(i8* getelementptr inbounds ([13 x i8]* @.str33, i32 0, i32 0), i32 12, i32 1, %struct._IO_FILE* %File)
+  %4 = load i8** @dfg_DESC.1, align 4
+  %cmp4 = icmp eq i8* %4, null
+  br i1 %cmp4, label %if.else7, label %if.then5
+
+if.then5:                                         ; preds = %if.end
+  %call6 = tail call i32 @fputs(i8* %4, %struct._IO_FILE* %File) #1
+  br label %if.end9
+
+if.else7:                                         ; preds = %if.end
+  %5 = tail call i32 @fwrite(i8* getelementptr inbounds ([6 x i8]* @.str32, i32 0, i32 0), i32 5, i32 1, %struct._IO_FILE* %File)
+  br label %if.end9
+
+if.end9:                                          ; preds = %if.else7, %if.then5
+  %6 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
+  %7 = load i8** @dfg_DESC.2, align 4
+  %cmp11 = icmp eq i8* %7, null
+  br i1 %cmp11, label %if.end16, label %if.then12
+
+if.then12:                                        ; preds = %if.end9
+  %8 = tail call i32 @fwrite(i8* getelementptr inbounds ([11 x i8]* @.str35, i32 0, i32 0), i32 10, i32 1, %struct._IO_FILE* %File)
+  %9 = load i8** @dfg_DESC.2, align 4
+  %call14 = tail call i32 @fputs(i8* %9, %struct._IO_FILE* %File) #1
+  %10 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
+  br label %if.end16
+
+if.end16:                                         ; preds = %if.end9, %if.then12
+  %11 = load i8** @dfg_DESC.3, align 4
+  %cmp17 = icmp eq i8* %11, null
+  br i1 %cmp17, label %if.end22, label %if.then18
+
+if.then18:                                        ; preds = %if.end16
+  %12 = tail call i32 @fwrite(i8* getelementptr inbounds ([9 x i8]* @.str36, i32 0, i32 0), i32 8, i32 1, %struct._IO_FILE* %File)
+  %13 = load i8** @dfg_DESC.3, align 4
+  %call20 = tail call i32 @fputs(i8* %13, %struct._IO_FILE* %File) #1
+  %14 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
+  br label %if.end22
+
+if.end22:                                         ; preds = %if.end16, %if.then18
+  %15 = tail call i32 @fwrite(i8* getelementptr inbounds ([10 x i8]* @.str37, i32 0, i32 0), i32 9, i32 1, %struct._IO_FILE* %File)
+  %16 = load i32* @dfg_DESC.4, align 4
+  switch i32 %16, label %sw.default.i [
+    i32 0, label %dfg_ProblemStatusString.exit
+    i32 1, label %sw.bb1.i
+    i32 2, label %sw.bb2.i
+  ]
+
+sw.bb1.i:                                         ; preds = %if.end22
+  br label %dfg_ProblemStatusString.exit
+
+sw.bb2.i:                                         ; preds = %if.end22
+  br label %dfg_ProblemStatusString.exit
+
+sw.default.i:                                     ; preds = %if.end22
+  %17 = load %struct._IO_FILE** @stdout, align 4
+  %call.i = tail call i32 @fflush(%struct._IO_FILE* %17) #1
+  %18 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  tail call void (i8*, ...)* @misc_ErrorReport(i8* getelementptr inbounds ([47 x i8]* @.str29, i32 0, i32 0)) #1
+  %19 = load %struct._IO_FILE** @stderr, align 4
+  %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
+  tail call fastcc void @misc_DumpCore() #1
+  unreachable
+
+dfg_ProblemStatusString.exit:                     ; preds = %if.end22, %sw.bb1.i, %sw.bb2.i
+  %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 ]
+  %call25 = tail call i32 @fputs(i8* %result.0.i, %struct._IO_FILE* %File) #1
+  %21 = tail call i32 @fwrite(i8* getelementptr inbounds ([18 x i8]* @.str38, i32 0, i32 0), i32 17, i32 1, %struct._IO_FILE* %File)
+  %22 = load i8** @dfg_DESC.5, align 4
+  %cmp27 = icmp eq i8* %22, null
+  br i1 %cmp27, label %if.else30, label %if.then28
+
+if.then28:                                        ; preds = %dfg_ProblemStatusString.exit
+  %call29 = tail call i32 @fputs(i8* %22, %struct._IO_FILE* %File) #1
+  br label %if.end32
+
+if.else30:                                        ; preds = %dfg_ProblemStatusString.exit
+  %23 = tail call i32 @fwrite(i8* getelementptr inbounds ([6 x i8]* @.str32, i32 0, i32 0), i32 5, i32 1, %struct._IO_FILE* %File)
+  br label %if.end32
+
+if.end32:                                         ; preds = %if.else30, %if.then28
+  %24 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
+  %25 = load i8** @dfg_DESC.6, align 4
+  %cmp34 = icmp eq i8* %25, null
+  br i1 %cmp34, label %if.end39, label %if.then35
+
+if.then35:                                        ; preds = %if.end32
+  %26 = tail call i32 @fwrite(i8* getelementptr inbounds ([8 x i8]* @.str39, i32 0, i32 0), i32 7, i32 1, %struct._IO_FILE* %File)
+  %27 = load i8** @dfg_DESC.6, align 4
+  %call37 = tail call i32 @fputs(i8* %27, %struct._IO_FILE* %File) #1
+  %28 = tail call i32 @fwrite(i8* getelementptr inbounds ([4 x i8]* @.str34, i32 0, i32 0), i32 3, i32 1, %struct._IO_FILE* %File)
+  br label %if.end39
+
+if.end39:                                         ; preds = %if.end32, %if.then35
+  %29 = tail call i32 @fwrite(i8* getelementptr inbounds ([13 x i8]* @.str40, i32 0, i32 0), i32 12, i32 1, %struct._IO_FILE* %File)
+  ret void
+}
+
+; Function Attrs: nounwind
+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 {
+entry:
+  store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
+  store i32 1, i32* @dfg_LINENUMBER, align 4
+  store i32 1, i32* @dfg_IGNORETEXT, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  store i1 false, i1* @dfg_VARDECL, align 1
+  store i32 0, i32* @dfg_IGNORE, align 4
+  store i32* %Flags, i32** @dfg_FLAGS, align 4
+  store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
+  store i8* null, i8** @dfg_DESC.0, align 4
+  store i8* null, i8** @dfg_DESC.1, align 4
+  store i8* null, i8** @dfg_DESC.2, align 4
+  store i8* null, i8** @dfg_DESC.3, align 4
+  store i32 2, i32* @dfg_DESC.4, align 4
+  store i8* null, i8** @dfg_DESC.5, align 4
+  store i8* null, i8** @dfg_DESC.6, align 4
+  %call1 = tail call i32 @dfg_parse()
+  %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
+  br i1 %cmp.i13.i, label %for.cond.preheader, label %while.body.lr.ph.i
+
+while.body.lr.ph.i:                               ; preds = %entry
+  %1 = load i32* @symbol_TYPESTATBITS, align 4
+  br label %while.body.i
+
+while.body.i:                                     ; preds = %if.end.i109, %while.body.lr.ph.i
+  %2 = phi %struct.LIST_HELP* [ %0, %while.body.lr.ph.i ], [ %L.idx.val.i.i, %if.end.i109 ]
+  %.idx.i = getelementptr %struct.LIST_HELP* %2, i32 0, i32 1
+  %.idx.val.i = load i8** %.idx.i, align 4
+  %symbol.i = bitcast i8* %.idx.val.i to i32*
+  %3 = load i32* %symbol.i, align 4
+  %arity.i = getelementptr inbounds i8* %.idx.val.i, i32 8
+  %4 = bitcast i8* %arity.i to i32*
+  %5 = load i32* %4, align 4
+  %sub.i.i9.i = sub nsw i32 0, %3
+  %shr.i.i10.i = ashr i32 %sub.i.i9.i, %1
+  %6 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i11.i = getelementptr inbounds %struct.signature** %6, i32 %shr.i.i10.i
+  %7 = load %struct.signature** %arrayidx.i.i11.i, align 4
+  %arity.i12.i = getelementptr inbounds %struct.signature* %7, i32 0, i32 3
+  %8 = load i32* %arity.i12.i, align 4
+  %cmp.i = icmp eq i32 %5, %8
+  br i1 %cmp.i, label %if.end.i109, label %if.then.i
+
+if.then.i:                                        ; preds = %while.body.i
+  store i32 %5, i32* %arity.i12.i, align 4
+  br label %if.end.i109
+
+if.end.i109:                                      ; preds = %if.then.i, %while.body.i
+  %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 4
+  %10 = load i32* %total_size.i.i.i, align 4
+  %11 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %11, %10
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
+  %12 = load i8** %free.i.i.i, align 4
+  %.c.i.i = ptrtoint i8* %12 to i32
+  store i32 %.c.i.i, i32* %symbol.i, align 4
+  %13 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %13, i32 0, i32 0
+  store i8* %.idx.val.i, i8** %free27.i.i.i, align 4
+  %14 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %L.idx.i.i = getelementptr %struct.LIST_HELP* %14, i32 0, i32 0
+  %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
+  %15 = bitcast %struct.LIST_HELP* %14 to i8*
+  %16 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 4
+  %17 = load i32* %total_size.i.i.i.i, align 4
+  %18 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i = add i32 %18, %17
+  store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 0
+  %19 = load i8** %free.i.i.i.i, align 4
+  %.c.i.i.i = bitcast i8* %19 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
+  %20 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %20, i32 0, i32 0
+  store i8* %15, i8** %free27.i.i.i.i, align 4
+  store %struct.LIST_HELP* %L.idx.val.i.i, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %cmp.i.i108 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
+  br i1 %cmp.i.i108, label %for.cond.preheader, label %while.body.i
+
+for.cond.preheader:                               ; preds = %if.end.i109, %entry
+  %scan.0127 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %cmp.i115128 = icmp eq %struct.LIST_HELP* %scan.0127, null
+  br i1 %cmp.i115128, label %for.end, label %for.body
+
+for.body:                                         ; preds = %for.cond.preheader, %if.end
+  %scan.0129 = phi %struct.LIST_HELP* [ %scan.0, %if.end ], [ %scan.0127, %for.cond.preheader ]
+  %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.0129, i32 0, i32 1
+  %scan.0.idx.val = load i8** %scan.0.idx, align 4
+  %.idx59 = bitcast i8* %scan.0.idx.val to %struct.LIST_HELP**
+  %.idx59.val = load %struct.LIST_HELP** %.idx59, align 4
+  %21 = bitcast %struct.LIST_HELP* %.idx59.val to %struct.term*
+  %call5 = tail call %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %21, i32 1, i32* %Flags, i32* %Precedence)
+  %22 = bitcast %struct.CLAUSE_HELP* %call5 to i8*
+  store i8* %22, i8** %scan.0.idx, align 4
+  %.idx63 = getelementptr i8* %scan.0.idx.val, i32 4
+  %23 = bitcast i8* %.idx63 to i8**
+  %.idx63.val = load i8** %23, align 4
+  %cmp = icmp eq i8* %.idx63.val, null
+  br i1 %cmp, label %if.end, label %if.then
+
+if.then:                                          ; preds = %for.body
+  tail call void @string_StringFree(i8* %.idx63.val) #1
+  br label %if.end
+
+if.end:                                           ; preds = %for.body, %if.then
+  %24 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i118 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 4
+  %25 = load i32* %total_size.i.i.i118, align 4
+  %26 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i119 = add i32 %26, %25
+  store i32 %add24.i.i.i119, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i120 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 0
+  %27 = load i8** %free.i.i.i120, align 4
+  %.c.i.i121 = bitcast i8* %27 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i121, %struct.LIST_HELP** %.idx59, align 4
+  %28 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i122 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %28, i32 0, i32 0
+  store i8* %scan.0.idx.val, i8** %free27.i.i.i122, align 4
+  %scan.0.idx58 = getelementptr %struct.LIST_HELP* %scan.0129, i32 0, i32 0
+  %scan.0 = load %struct.LIST_HELP** %scan.0.idx58, align 4
+  %cmp.i115 = icmp eq %struct.LIST_HELP* %scan.0, null
+  br i1 %cmp.i115, label %for.cond.for.end_crit_edge, label %for.body
+
+for.cond.for.end_crit_edge:                       ; preds = %if.end
+  %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  br label %for.end
+
+for.end:                                          ; preds = %for.cond.for.end_crit_edge, %for.cond.preheader
+  %29 = phi %struct.LIST_HELP* [ %.pre, %for.cond.for.end_crit_edge ], [ null, %for.cond.preheader ]
+  %call9 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %29, i8* null) #1
+  store %struct.LIST_HELP* %call9, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %scan.1124 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  %cmp.i116125 = icmp eq %struct.LIST_HELP* %scan.1124, null
+  br i1 %cmp.i116125, label %for.end25, label %for.body14
+
+for.body14:                                       ; preds = %for.end, %if.end22
+  %scan.1126 = phi %struct.LIST_HELP* [ %scan.1, %if.end22 ], [ %scan.1124, %for.end ]
+  %scan.1.idx = getelementptr %struct.LIST_HELP* %scan.1126, i32 0, i32 1
+  %scan.1.idx.val = load i8** %scan.1.idx, align 4
+  %.idx = bitcast i8* %scan.1.idx.val to %struct.LIST_HELP**
+  %.idx.val = load %struct.LIST_HELP** %.idx, align 4
+  %30 = bitcast %struct.LIST_HELP* %.idx.val to %struct.term*
+  %call17 = tail call %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %30, i32 0, i32* %Flags, i32* %Precedence)
+  %31 = bitcast %struct.CLAUSE_HELP* %call17 to i8*
+  store i8* %31, i8** %scan.1.idx, align 4
+  %.idx61 = getelementptr i8* %scan.1.idx.val, i32 4
+  %32 = bitcast i8* %.idx61 to i8**
+  %.idx61.val = load i8** %32, align 4
+  %cmp19 = icmp eq i8* %.idx61.val, null
+  br i1 %cmp19, label %if.end22, label %if.then20
+
+if.then20:                                        ; preds = %for.body14
+  tail call void @string_StringFree(i8* %.idx61.val) #1
+  br label %if.end22
+
+if.end22:                                         ; preds = %for.body14, %if.then20
+  %33 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i110 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %33, i32 0, i32 4
+  %34 = load i32* %total_size.i.i.i110, align 4
+  %35 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i111 = add i32 %35, %34
+  store i32 %add24.i.i.i111, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i112 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %33, i32 0, i32 0
+  %36 = load i8** %free.i.i.i112, align 4
+  %.c.i.i113 = bitcast i8* %36 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i113, %struct.LIST_HELP** %.idx, align 4
+  %37 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i114 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %37, i32 0, i32 0
+  store i8* %scan.1.idx.val, i8** %free27.i.i.i114, align 4
+  %scan.1.idx57 = getelementptr %struct.LIST_HELP* %scan.1126, i32 0, i32 0
+  %scan.1 = load %struct.LIST_HELP** %scan.1.idx57, align 4
+  %cmp.i116 = icmp eq %struct.LIST_HELP* %scan.1, null
+  br i1 %cmp.i116, label %for.cond10.for.end25_crit_edge, label %for.body14
+
+for.cond10.for.end25_crit_edge:                   ; preds = %if.end22
+  %.pre130 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  br label %for.end25
+
+for.end25:                                        ; preds = %for.cond10.for.end25_crit_edge, %for.end
+  %38 = phi %struct.LIST_HELP* [ %.pre130, %for.cond10.for.end25_crit_edge ], [ null, %for.end ]
+  %call26 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %38, i8* null) #1
+  store %struct.LIST_HELP* %call26, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  %39 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  tail call void @dfg_DeleteProofList(%struct.LIST_HELP* %39)
+  %40 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  tail call void @list_DeleteWithElement(%struct.LIST_HELP* %40, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
+  %41 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %42 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  %cmp.i.i97 = icmp eq %struct.LIST_HELP* %41, null
+  br i1 %cmp.i.i97, label %list_Nconc.exit107, label %if.end.i99
+
+if.end.i99:                                       ; preds = %for.end25
+  %cmp.i18.i98 = icmp eq %struct.LIST_HELP* %42, null
+  br i1 %cmp.i18.i98, label %list_Nconc.exit107, label %for.cond.i104
+
+for.cond.i104:                                    ; preds = %if.end.i99, %for.cond.i104
+  %List1.addr.0.i100 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i102, %for.cond.i104 ], [ %41, %if.end.i99 ]
+  %List1.addr.0.idx15.i101 = getelementptr %struct.LIST_HELP* %List1.addr.0.i100, i32 0, i32 0
+  %List1.addr.0.idx15.val.i102 = load %struct.LIST_HELP** %List1.addr.0.idx15.i101, align 4
+  %cmp.i16.i103 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i102, null
+  br i1 %cmp.i16.i103, label %for.end.i105, label %for.cond.i104
+
+for.end.i105:                                     ; preds = %for.cond.i104
+  store %struct.LIST_HELP* %42, %struct.LIST_HELP** %List1.addr.0.idx15.i101, align 4
+  br label %list_Nconc.exit107
+
+list_Nconc.exit107:                               ; preds = %for.end25, %if.end.i99, %for.end.i105
+  %retval.0.i106 = phi %struct.LIST_HELP* [ %41, %for.end.i105 ], [ %42, %for.end25 ], [ %41, %if.end.i99 ]
+  %43 = load %struct.LIST_HELP** %Axioms, align 4
+  %44 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  %cmp.i.i86 = icmp eq %struct.LIST_HELP* %43, null
+  br i1 %cmp.i.i86, label %list_Nconc.exit96, label %if.end.i88
+
+if.end.i88:                                       ; preds = %list_Nconc.exit107
+  %cmp.i18.i87 = icmp eq %struct.LIST_HELP* %44, null
+  br i1 %cmp.i18.i87, label %list_Nconc.exit96, label %for.cond.i93
+
+for.cond.i93:                                     ; preds = %if.end.i88, %for.cond.i93
+  %List1.addr.0.i89 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i91, %for.cond.i93 ], [ %43, %if.end.i88 ]
+  %List1.addr.0.idx15.i90 = getelementptr %struct.LIST_HELP* %List1.addr.0.i89, i32 0, i32 0
+  %List1.addr.0.idx15.val.i91 = load %struct.LIST_HELP** %List1.addr.0.idx15.i90, align 4
+  %cmp.i16.i92 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i91, null
+  br i1 %cmp.i16.i92, label %for.end.i94, label %for.cond.i93
+
+for.end.i94:                                      ; preds = %for.cond.i93
+  store %struct.LIST_HELP* %44, %struct.LIST_HELP** %List1.addr.0.idx15.i90, align 4
+  br label %list_Nconc.exit96
+
+list_Nconc.exit96:                                ; preds = %list_Nconc.exit107, %if.end.i88, %for.end.i94
+  %retval.0.i95 = phi %struct.LIST_HELP* [ %43, %for.end.i94 ], [ %44, %list_Nconc.exit107 ], [ %43, %if.end.i88 ]
+  store %struct.LIST_HELP* %retval.0.i95, %struct.LIST_HELP** %Axioms, align 4
+  %45 = load %struct.LIST_HELP** %Conjectures, align 4
+  %46 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  %cmp.i.i75 = icmp eq %struct.LIST_HELP* %45, null
+  br i1 %cmp.i.i75, label %list_Nconc.exit85, label %if.end.i77
+
+if.end.i77:                                       ; preds = %list_Nconc.exit96
+  %cmp.i18.i76 = icmp eq %struct.LIST_HELP* %46, null
+  br i1 %cmp.i18.i76, label %list_Nconc.exit85, label %for.cond.i82
+
+for.cond.i82:                                     ; preds = %if.end.i77, %for.cond.i82
+  %List1.addr.0.i78 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i80, %for.cond.i82 ], [ %45, %if.end.i77 ]
+  %List1.addr.0.idx15.i79 = getelementptr %struct.LIST_HELP* %List1.addr.0.i78, i32 0, i32 0
+  %List1.addr.0.idx15.val.i80 = load %struct.LIST_HELP** %List1.addr.0.idx15.i79, align 4
+  %cmp.i16.i81 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i80, null
+  br i1 %cmp.i16.i81, label %for.end.i83, label %for.cond.i82
+
+for.end.i83:                                      ; preds = %for.cond.i82
+  store %struct.LIST_HELP* %46, %struct.LIST_HELP** %List1.addr.0.idx15.i79, align 4
+  br label %list_Nconc.exit85
+
+list_Nconc.exit85:                                ; preds = %list_Nconc.exit96, %if.end.i77, %for.end.i83
+  %retval.0.i84 = phi %struct.LIST_HELP* [ %45, %for.end.i83 ], [ %46, %list_Nconc.exit96 ], [ %45, %if.end.i77 ]
+  store %struct.LIST_HELP* %retval.0.i84, %struct.LIST_HELP** %Conjectures, align 4
+  %47 = load %struct.LIST_HELP** %SortDecl, align 4
+  %48 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  %cmp.i.i64 = icmp eq %struct.LIST_HELP* %47, null
+  br i1 %cmp.i.i64, label %list_Nconc.exit74, label %if.end.i66
+
+if.end.i66:                                       ; preds = %list_Nconc.exit85
+  %cmp.i18.i65 = icmp eq %struct.LIST_HELP* %48, null
+  br i1 %cmp.i18.i65, label %list_Nconc.exit74, label %for.cond.i71
+
+for.cond.i71:                                     ; preds = %if.end.i66, %for.cond.i71
+  %List1.addr.0.i67 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i69, %for.cond.i71 ], [ %47, %if.end.i66 ]
+  %List1.addr.0.idx15.i68 = getelementptr %struct.LIST_HELP* %List1.addr.0.i67, i32 0, i32 0
+  %List1.addr.0.idx15.val.i69 = load %struct.LIST_HELP** %List1.addr.0.idx15.i68, align 4
+  %cmp.i16.i70 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i69, null
+  br i1 %cmp.i16.i70, label %for.end.i72, label %for.cond.i71
+
+for.end.i72:                                      ; preds = %for.cond.i71
+  store %struct.LIST_HELP* %48, %struct.LIST_HELP** %List1.addr.0.idx15.i68, align 4
+  br label %list_Nconc.exit74
+
+list_Nconc.exit74:                                ; preds = %list_Nconc.exit85, %if.end.i66, %for.end.i72
+  %retval.0.i73 = phi %struct.LIST_HELP* [ %47, %for.end.i72 ], [ %48, %list_Nconc.exit85 ], [ %47, %if.end.i66 ]
+  store %struct.LIST_HELP* %retval.0.i73, %struct.LIST_HELP** %SortDecl, align 4
+  %49 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  %call31 = tail call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %49) #1
+  %50 = load %struct.LIST_HELP** %UserDefinedPrecedence, align 4
+  %51 = load %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  %cmp.i.i = icmp eq %struct.LIST_HELP* %50, null
+  br i1 %cmp.i.i, label %list_Nconc.exit, label %if.end.i
+
+if.end.i:                                         ; preds = %list_Nconc.exit74
+  %cmp.i18.i = icmp eq %struct.LIST_HELP* %51, null
+  br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
+
+for.cond.i:                                       ; preds = %if.end.i, %for.cond.i
+  %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %50, %if.end.i ]
+  %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
+  %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
+  br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
+
+for.end.i:                                        ; preds = %for.cond.i
+  store %struct.LIST_HELP* %51, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  br label %list_Nconc.exit
+
+list_Nconc.exit:                                  ; preds = %list_Nconc.exit74, %if.end.i, %for.end.i
+  %retval.0.i = phi %struct.LIST_HELP* [ %50, %for.end.i ], [ %51, %list_Nconc.exit74 ], [ %50, %if.end.i ]
+  store %struct.LIST_HELP* %retval.0.i, %struct.LIST_HELP** %UserDefinedPrecedence, align 4
+  ret %struct.LIST_HELP* %retval.0.i106
+}
+
+; Function Attrs: nounwind
+define %struct.CLAUSE_HELP* @dfg_CreateClauseFromTerm(%struct.term* %Clause, i32 %IsAxiom, i32* %Flags, i32* %Precedence) #0 {
+entry:
+  %Clause.idx = getelementptr %struct.term* %Clause, i32 0, i32 0
+  %Clause.idx.val = load i32* %Clause.idx, align 4
+  %0 = load i32* @fol_ALL, align 4
+  %cmp = icmp eq i32 %Clause.idx.val, %0
+  %Clause.idx66 = getelementptr %struct.term* %Clause, i32 0, i32 2
+  %Clause.idx66.val = load %struct.LIST_HELP** %Clause.idx66, align 4
+  br i1 %cmp, label %if.then, label %if.else
+
+if.then:                                          ; preds = %entry
+  %Clause.idx66.val.idx = getelementptr %struct.LIST_HELP* %Clause.idx66.val, i32 0, i32 0
+  %Clause.idx66.val.idx.val = load %struct.LIST_HELP** %Clause.idx66.val.idx, align 4
+  %Clause.idx66.val.idx.val.idx = getelementptr %struct.LIST_HELP* %Clause.idx66.val.idx.val, i32 0, i32 1
+  %Clause.idx66.val.idx.val.idx.val = load i8** %Clause.idx66.val.idx.val.idx, align 4
+  %call2.idx = getelementptr i8* %Clause.idx66.val.idx.val.idx.val, i32 8
+  %1 = bitcast i8* %call2.idx to %struct.LIST_HELP**
+  %call2.idx.val = load %struct.LIST_HELP** %1, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %1, align 4
+  br label %if.end
+
+if.else:                                          ; preds = %entry
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %Clause.idx66, align 4
+  br label %if.end
+
+if.end:                                           ; preds = %if.else, %if.then
+  %literals.0 = phi %struct.LIST_HELP* [ %call2.idx.val, %if.then ], [ %Clause.idx66.val, %if.else ]
+  tail call void @term_Delete(%struct.term* %Clause) #1
+  %cmp.i7880 = icmp eq %struct.LIST_HELP* %literals.0, null
+  br i1 %cmp.i7880, label %for.end, label %for.body.lr.ph
+
+for.body.lr.ph:                                   ; preds = %if.end
+  %car.i = getelementptr inbounds %struct.LIST_HELP* %literals.0, i32 0, i32 1
+  %2 = load i32* @symbol_TYPEMASK, align 4
+  br label %for.body
+
+for.body:                                         ; preds = %for.body.lr.ph, %for.inc
+  %scan.081 = phi %struct.LIST_HELP* [ %literals.0, %for.body.lr.ph ], [ %scan.0.idx62.val, %for.inc ]
+  %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.081, i32 0, i32 1
+  %scan.0.idx.val = load i8** %scan.0.idx, align 4
+  %3 = bitcast i8* %scan.0.idx.val to %struct.term*
+  %.idx = bitcast i8* %scan.0.idx.val to i32*
+  %.idx.val = load i32* %.idx, align 4
+  %tobool.i = icmp sgt i32 %.idx.val, -1
+  br i1 %tobool.i, label %if.else24, label %land.rhs.i
+
+land.rhs.i:                                       ; preds = %for.body
+  %sub.i.i = sub nsw i32 0, %.idx.val
+  %and.i.i = and i32 %2, %sub.i.i
+  %cmp.i = icmp eq i32 %and.i.i, 2
+  br i1 %cmp.i, label %if.then13, label %if.else24
+
+if.then13:                                        ; preds = %land.rhs.i
+  %4 = load i32* @fol_TRUE, align 4
+  %cmp.i.i76 = icmp eq i32 %4, %.idx.val
+  br i1 %cmp.i.i76, label %if.then16, label %if.else18
+
+if.then16:                                        ; preds = %if.then13
+  %call17 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %literals.0, i8* null) #1
+  tail call void @list_DeleteWithElement(%struct.LIST_HELP* %literals.0, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
+  br label %return
+
+if.else18:                                        ; preds = %if.then13
+  %5 = load i32* @fol_FALSE, align 4
+  %cmp.i.i74 = icmp eq i32 %5, %.idx.val
+  br i1 %cmp.i.i74, label %if.then21, label %for.inc
+
+if.then21:                                        ; preds = %if.else18
+  tail call void @term_Delete(%struct.term* %3) #1
+  store i8* null, i8** %scan.0.idx, align 4
+  br label %for.inc
+
+if.else24:                                        ; preds = %for.body, %land.rhs.i
+  %.idx63 = getelementptr i8* %scan.0.idx.val, i32 8
+  %6 = bitcast i8* %.idx63 to %struct.LIST_HELP**
+  %.idx63.val = load %struct.LIST_HELP** %6, align 4
+  %.idx63.val.idx = getelementptr %struct.LIST_HELP* %.idx63.val, i32 0, i32 1
+  %.idx63.val.idx.val = load i8** %.idx63.val.idx, align 4
+  %call25.idx68 = bitcast i8* %.idx63.val.idx.val to i32*
+  %call25.idx68.val = load i32* %call25.idx68, align 4
+  %7 = load i32* @fol_FALSE, align 4
+  %cmp.i.i71 = icmp eq i32 %7, %call25.idx68.val
+  br i1 %cmp.i.i71, label %if.then28, label %if.else30
+
+if.then28:                                        ; preds = %if.else24
+  %call29 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %literals.0, i8* null) #1
+  tail call void @list_DeleteWithElement(%struct.LIST_HELP* %literals.0, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
+  br label %return
+
+if.else30:                                        ; preds = %if.else24
+  %8 = load i32* @fol_TRUE, align 4
+  %cmp.i.i70 = icmp eq i32 %8, %call25.idx68.val
+  br i1 %cmp.i.i70, label %if.then33, label %for.inc
+
+if.then33:                                        ; preds = %if.else30
+  tail call void @term_Delete(%struct.term* %3) #1
+  store i8* null, i8** %car.i, align 4
+  br label %for.inc
+
+for.inc:                                          ; preds = %if.else30, %if.else18, %if.then21, %if.then33
+  %scan.0.idx62 = getelementptr %struct.LIST_HELP* %scan.081, i32 0, i32 0
+  %scan.0.idx62.val = load %struct.LIST_HELP** %scan.0.idx62, align 4
+  %cmp.i78 = icmp eq %struct.LIST_HELP* %scan.0.idx62.val, null
+  br i1 %cmp.i78, label %for.end, label %for.body
+
+for.end:                                          ; preds = %for.inc, %if.end
+  %call38 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %literals.0, i8* null) #1
+  %lnot40 = icmp eq i32 %IsAxiom, 0
+  %lnot.ext = zext i1 %lnot40 to i32
+  %call41 = tail call %struct.CLAUSE_HELP* @clause_CreateFromLiterals(%struct.LIST_HELP* %call38, i32 0, i32 %lnot.ext, i32 0, i32* %Flags, i32* %Precedence) #1
+  %cmp.i5.i = icmp eq %struct.LIST_HELP* %call38, null
+  br i1 %cmp.i5.i, label %return, label %while.body.i
+
+while.body.i:                                     ; preds = %for.end, %while.body.i
+  %L.addr.06.i = phi %struct.LIST_HELP* [ %L.addr.0.idx.val.i, %while.body.i ], [ %call38, %for.end ]
+  %L.addr.0.idx.i = getelementptr %struct.LIST_HELP* %L.addr.06.i, i32 0, i32 0
+  %L.addr.0.idx.val.i = load %struct.LIST_HELP** %L.addr.0.idx.i, align 4
+  %9 = bitcast %struct.LIST_HELP* %L.addr.06.i to i8*
+  %10 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %10, i32 0, i32 4
+  %11 = load i32* %total_size.i.i.i, align 4
+  %12 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %12, %11
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %10, i32 0, i32 0
+  %13 = load i8** %free.i.i.i, align 4
+  %.c.i.i = bitcast i8* %13 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.addr.0.idx.i, align 4
+  %14 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %14, i32 0, i32 0
+  store i8* %9, i8** %free27.i.i.i, align 4
+  %cmp.i.i = icmp eq %struct.LIST_HELP* %L.addr.0.idx.val.i, null
+  br i1 %cmp.i.i, label %return, label %while.body.i
+
+return:                                           ; preds = %while.body.i, %for.end, %if.then28, %if.then16
+  %retval.0 = phi %struct.CLAUSE_HELP* [ null, %if.then16 ], [ null, %if.then28 ], [ %call41, %for.end ], [ %call41, %while.body.i ]
+  ret %struct.CLAUSE_HELP* %retval.0
+}
+
+declare %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP*, i8*) #2
+
+; Function Attrs: nounwind
+define void @dfg_DeleteProofList(%struct.LIST_HELP* %Proof) #0 {
+entry:
+  %cmp.i18 = icmp eq %struct.LIST_HELP* %Proof, null
+  br i1 %cmp.i18, label %for.end, label %for.body
+
+for.body:                                         ; preds = %entry, %list_Delete.exit
+  %Proof.addr.019 = phi %struct.LIST_HELP* [ %L.idx.val.i, %list_Delete.exit ], [ %Proof, %entry ]
+  %Proof.addr.0.idx = getelementptr %struct.LIST_HELP* %Proof.addr.019, i32 0, i32 1
+  %Proof.addr.0.idx.val = load i8** %Proof.addr.0.idx, align 4
+  %.idx = getelementptr i8* %Proof.addr.0.idx.val, i32 4
+  %0 = bitcast i8* %.idx to i8**
+  %.idx.val = load i8** %0, align 4
+  tail call void @string_StringFree(i8* %.idx.val) #1
+  %.idx11 = bitcast i8* %Proof.addr.0.idx.val to %struct.LIST_HELP**
+  %.idx11.val = load %struct.LIST_HELP** %.idx11, align 4
+  %.idx11.val.idx = getelementptr %struct.LIST_HELP* %.idx11.val, i32 0, i32 1
+  %.idx11.val.idx.val = load i8** %.idx11.val.idx, align 4
+  %1 = bitcast i8* %.idx11.val.idx.val to %struct.term*
+  tail call void @term_Delete(%struct.term* %1) #1
+  %.idx12.val = load %struct.LIST_HELP** %.idx11, align 4
+  %.idx12.val.idx = getelementptr %struct.LIST_HELP* %.idx12.val, i32 0, i32 0
+  %.idx12.val.idx.val = load %struct.LIST_HELP** %.idx12.val.idx, align 4
+  %.idx12.val.idx.val.idx = getelementptr %struct.LIST_HELP* %.idx12.val.idx.val, i32 0, i32 1
+  %.idx12.val.idx.val.idx.val = load i8** %.idx12.val.idx.val.idx, align 4
+  %2 = bitcast i8* %.idx12.val.idx.val.idx.val to %struct.LIST_HELP*
+  tail call void @list_DeleteWithElement(%struct.LIST_HELP* %2, void (i8*)* @string_StringFree) #1
+  %cmp.i5.i = icmp eq i8* %Proof.addr.0.idx.val, null
+  br i1 %cmp.i5.i, label %list_Delete.exit, label %while.body.i.preheader
+
+while.body.i.preheader:                           ; preds = %for.body
+  %3 = bitcast i8* %Proof.addr.0.idx.val to %struct.LIST_HELP*
+  br label %while.body.i
+
+while.body.i:                                     ; preds = %while.body.i.preheader, %while.body.i
+  %L.addr.06.i = phi %struct.LIST_HELP* [ %L.addr.0.idx.val.i, %while.body.i ], [ %3, %while.body.i.preheader ]
+  %L.addr.0.idx.i = getelementptr %struct.LIST_HELP* %L.addr.06.i, i32 0, i32 0
+  %L.addr.0.idx.val.i = load %struct.LIST_HELP** %L.addr.0.idx.i, align 4
+  %4 = bitcast %struct.LIST_HELP* %L.addr.06.i to i8*
+  %5 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %5, i32 0, i32 4
+  %6 = load i32* %total_size.i.i.i13, align 4
+  %7 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14 = add i32 %7, %6
+  store i32 %add24.i.i.i14, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %5, i32 0, i32 0
+  %8 = load i8** %free.i.i.i15, align 4
+  %.c.i.i16 = bitcast i8* %8 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16, %struct.LIST_HELP** %L.addr.0.idx.i, align 4
+  %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
+  store i8* %4, i8** %free27.i.i.i17, align 4
+  %cmp.i.i = icmp eq %struct.LIST_HELP* %L.addr.0.idx.val.i, null
+  br i1 %cmp.i.i, label %list_Delete.exit, label %while.body.i
+
+list_Delete.exit:                                 ; preds = %while.body.i, %for.body
+  %L.idx.i = getelementptr %struct.LIST_HELP* %Proof.addr.019, i32 0, i32 0
+  %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
+  %10 = bitcast %struct.LIST_HELP* %Proof.addr.019 to i8*
+  %11 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 4
+  %12 = load i32* %total_size.i.i.i, align 4
+  %13 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %13, %12
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %11, i32 0, i32 0
+  %14 = load i8** %free.i.i.i, align 4
+  %.c.i.i = bitcast i8* %14 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
+  %15 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %15, i32 0, i32 0
+  store i8* %10, i8** %free27.i.i.i, align 4
+  %cmp.i = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
+  br i1 %cmp.i, label %for.end, label %for.body
+
+for.end:                                          ; preds = %list_Delete.exit, %entry
+  ret void
+}
+
+; Function Attrs: nounwind
+define %struct.LIST_HELP* @dfg_ProofParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
+entry:
+  store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
+  store i32 1, i32* @dfg_LINENUMBER, align 4
+  store i32 1, i32* @dfg_IGNORETEXT, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  store i1 false, i1* @dfg_VARDECL, align 1
+  store i32 0, i32* @dfg_IGNORE, align 4
+  store i32* %Flags, i32** @dfg_FLAGS, align 4
+  store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
+  store i8* null, i8** @dfg_DESC.0, align 4
+  store i8* null, i8** @dfg_DESC.1, align 4
+  store i8* null, i8** @dfg_DESC.2, align 4
+  store i8* null, i8** @dfg_DESC.3, align 4
+  store i32 2, i32* @dfg_DESC.4, align 4
+  store i8* null, i8** @dfg_DESC.5, align 4
+  store i8* null, i8** @dfg_DESC.6, align 4
+  %call1 = tail call i32 @dfg_parse()
+  %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
+  br i1 %cmp.i13.i, label %dfg_SymCleanUp.exit, label %while.body.lr.ph.i
+
+while.body.lr.ph.i:                               ; preds = %entry
+  %1 = load i32* @symbol_TYPESTATBITS, align 4
+  br label %while.body.i
+
+while.body.i:                                     ; preds = %if.end.i42, %while.body.lr.ph.i
+  %2 = phi %struct.LIST_HELP* [ %0, %while.body.lr.ph.i ], [ %L.idx.val.i.i35, %if.end.i42 ]
+  %.idx.i30 = getelementptr %struct.LIST_HELP* %2, i32 0, i32 1
+  %.idx.val.i31 = load i8** %.idx.i30, align 4
+  %symbol.i = bitcast i8* %.idx.val.i31 to i32*
+  %3 = load i32* %symbol.i, align 4
+  %arity.i = getelementptr inbounds i8* %.idx.val.i31, i32 8
+  %4 = bitcast i8* %arity.i to i32*
+  %5 = load i32* %4, align 4
+  %sub.i.i9.i = sub nsw i32 0, %3
+  %shr.i.i10.i = ashr i32 %sub.i.i9.i, %1
+  %6 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i11.i = getelementptr inbounds %struct.signature** %6, i32 %shr.i.i10.i
+  %7 = load %struct.signature** %arrayidx.i.i11.i, align 4
+  %arity.i12.i = getelementptr inbounds %struct.signature* %7, i32 0, i32 3
+  %8 = load i32* %arity.i12.i, align 4
+  %cmp.i32 = icmp eq i32 %5, %8
+  br i1 %cmp.i32, label %if.end.i42, label %if.then.i33
+
+if.then.i33:                                      ; preds = %while.body.i
+  store i32 %5, i32* %arity.i12.i, align 4
+  br label %if.end.i42
+
+if.end.i42:                                       ; preds = %if.then.i33, %while.body.i
+  %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 4
+  %10 = load i32* %total_size.i.i.i, align 4
+  %11 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %11, %10
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
+  %12 = load i8** %free.i.i.i, align 4
+  %.c.i.i = ptrtoint i8* %12 to i32
+  store i32 %.c.i.i, i32* %symbol.i, align 4
+  %13 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %13, i32 0, i32 0
+  store i8* %.idx.val.i31, i8** %free27.i.i.i, align 4
+  %14 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %L.idx.i.i34 = getelementptr %struct.LIST_HELP* %14, i32 0, i32 0
+  %L.idx.val.i.i35 = load %struct.LIST_HELP** %L.idx.i.i34, align 4
+  %15 = bitcast %struct.LIST_HELP* %14 to i8*
+  %16 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i36 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 4
+  %17 = load i32* %total_size.i.i.i.i36, align 4
+  %18 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i37 = add i32 %18, %17
+  store i32 %add24.i.i.i.i37, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i38 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 0
+  %19 = load i8** %free.i.i.i.i38, align 4
+  %.c.i.i.i39 = bitcast i8* %19 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i39, %struct.LIST_HELP** %L.idx.i.i34, align 4
+  %20 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i40 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %20, i32 0, i32 0
+  store i8* %15, i8** %free27.i.i.i.i40, align 4
+  store %struct.LIST_HELP* %L.idx.val.i.i35, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %cmp.i.i41 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i35, null
+  br i1 %cmp.i.i41, label %dfg_SymCleanUp.exit, label %while.body.i
+
+dfg_SymCleanUp.exit:                              ; preds = %if.end.i42, %entry
+  %21 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %22 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  %cmp.i.i43 = icmp eq %struct.LIST_HELP* %21, null
+  br i1 %cmp.i.i43, label %list_Nconc.exit53, label %if.end.i45
+
+if.end.i45:                                       ; preds = %dfg_SymCleanUp.exit
+  %cmp.i18.i44 = icmp eq %struct.LIST_HELP* %22, null
+  br i1 %cmp.i18.i44, label %list_Nconc.exit53.thread, label %for.cond.i50
+
+list_Nconc.exit53.thread:                         ; preds = %if.end.i45
+  store %struct.LIST_HELP* %21, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  br label %for.body
+
+for.cond.i50:                                     ; preds = %if.end.i45, %for.cond.i50
+  %List1.addr.0.i46 = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i48, %for.cond.i50 ], [ %21, %if.end.i45 ]
+  %List1.addr.0.idx15.i47 = getelementptr %struct.LIST_HELP* %List1.addr.0.i46, i32 0, i32 0
+  %List1.addr.0.idx15.val.i48 = load %struct.LIST_HELP** %List1.addr.0.idx15.i47, align 4
+  %cmp.i16.i49 = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i48, null
+  br i1 %cmp.i16.i49, label %for.end.i51, label %for.cond.i50
+
+for.end.i51:                                      ; preds = %for.cond.i50
+  store %struct.LIST_HELP* %22, %struct.LIST_HELP** %List1.addr.0.idx15.i47, align 4
+  br label %list_Nconc.exit53
+
+list_Nconc.exit53:                                ; preds = %dfg_SymCleanUp.exit, %for.end.i51
+  %retval.0.i52 = phi %struct.LIST_HELP* [ %21, %for.end.i51 ], [ %22, %dfg_SymCleanUp.exit ]
+  store %struct.LIST_HELP* %retval.0.i52, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  %cmp.i81122 = icmp eq %struct.LIST_HELP* %retval.0.i52, null
+  br i1 %cmp.i81122, label %for.end, label %for.body
+
+for.body:                                         ; preds = %list_Nconc.exit53, %list_Nconc.exit53.thread, %for.inc
+  %scan.0123 = phi %struct.LIST_HELP* [ %scan.0.idx24.val, %for.inc ], [ %21, %list_Nconc.exit53.thread ], [ %retval.0.i52, %list_Nconc.exit53 ]
+  %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.0123, i32 0, i32 1
+  %scan.0.idx.val = load i8** %scan.0.idx, align 4
+  %.idx = bitcast i8* %scan.0.idx.val to %struct.LIST_HELP**
+  %.idx.val = load %struct.LIST_HELP** %.idx, align 4
+  %.idx25 = getelementptr i8* %scan.0.idx.val, i32 4
+  %23 = bitcast i8* %.idx25 to i8**
+  %.idx25.val = load i8** %23, align 4
+  %cmp = icmp eq i8* %.idx25.val, null
+  br i1 %cmp, label %if.then, label %if.else
+
+if.then:                                          ; preds = %for.body
+  %24 = bitcast %struct.LIST_HELP* %.idx.val to %struct.term*
+  tail call void @term_Delete(%struct.term* %24) #1
+  %25 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i113 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %25, i32 0, i32 4
+  %26 = load i32* %total_size.i.i.i113, align 4
+  %27 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i114 = add i32 %27, %26
+  store i32 %add24.i.i.i114, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i115 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %25, i32 0, i32 0
+  %28 = load i8** %free.i.i.i115, align 4
+  %.c.i.i116 = bitcast i8* %28 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i116, %struct.LIST_HELP** %.idx, align 4
+  %29 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i117 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %29, i32 0, i32 0
+  store i8* %scan.0.idx.val, i8** %free27.i.i.i117, align 4
+  store i8* null, i8** %scan.0.idx, align 4
+  br label %for.inc
+
+if.else:                                          ; preds = %for.body
+  %30 = bitcast %struct.LIST_HELP* %.idx.val to i8*
+  %call.i.i = tail call i8* @memory_Malloc(i32 8) #1
+  %31 = bitcast i8* %call.i.i to %struct.LIST_HELP*
+  %car.i.i = getelementptr inbounds i8* %call.i.i, i32 4
+  %32 = bitcast i8* %car.i.i to i8**
+  store i8* inttoptr (i32 16 to i8*), i8** %32, align 4
+  %cdr.i.i = bitcast i8* %call.i.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** %cdr.i.i, align 4
+  %call.i118 = tail call i8* @memory_Malloc(i32 8) #1
+  %33 = bitcast i8* %call.i118 to %struct.LIST_HELP*
+  %car.i119 = getelementptr inbounds i8* %call.i118, i32 4
+  %34 = bitcast i8* %car.i119 to i8**
+  store i8* null, i8** %34, align 4
+  %cdr.i120 = bitcast i8* %call.i118 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %31, %struct.LIST_HELP** %cdr.i120, align 4
+  %call.i110 = tail call i8* @memory_Malloc(i32 8) #1
+  %35 = bitcast i8* %call.i110 to %struct.LIST_HELP*
+  %car.i111 = getelementptr inbounds i8* %call.i110, i32 4
+  %36 = bitcast i8* %car.i111 to i8**
+  store i8* null, i8** %36, align 4
+  %cdr.i112 = bitcast i8* %call.i110 to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %33, %struct.LIST_HELP** %cdr.i112, align 4
+  %call.i = tail call i8* @memory_Malloc(i32 8) #1
+  %37 = bitcast i8* %call.i to %struct.LIST_HELP*
+  %car.i = getelementptr inbounds i8* %call.i, i32 4
+  %38 = bitcast i8* %car.i to i8**
+  store i8* %30, i8** %38, align 4
+  %cdr.i109 = bitcast i8* %call.i to %struct.LIST_HELP**
+  store %struct.LIST_HELP* %35, %struct.LIST_HELP** %cdr.i109, align 4
+  store %struct.LIST_HELP* %37, %struct.LIST_HELP** %.idx, align 4
+  br label %for.inc
+
+for.inc:                                          ; preds = %if.then, %if.else
+  %scan.0.idx24 = getelementptr %struct.LIST_HELP* %scan.0123, i32 0, i32 0
+  %scan.0.idx24.val = load %struct.LIST_HELP** %scan.0.idx24, align 4
+  %cmp.i81 = icmp eq %struct.LIST_HELP* %scan.0.idx24.val, null
+  br i1 %cmp.i81, label %for.cond.for.end_crit_edge, label %for.body
+
+for.cond.for.end_crit_edge:                       ; preds = %for.inc
+  %.pre = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  br label %for.end
+
+for.end:                                          ; preds = %for.cond.for.end_crit_edge, %list_Nconc.exit53
+  %39 = phi %struct.LIST_HELP* [ %.pre, %for.cond.for.end_crit_edge ], [ null, %list_Nconc.exit53 ]
+  %call14 = tail call %struct.LIST_HELP* @list_PointerDeleteElement(%struct.LIST_HELP* %39, i8* null) #1
+  store %struct.LIST_HELP* %call14, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %40 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  %cmp.i18.i82 = icmp eq %struct.LIST_HELP* %40, null
+  br i1 %cmp.i18.i82, label %dfg_DeleteFormulaPairList.exit108, label %for.body.i91
+
+for.body.i91:                                     ; preds = %for.end, %if.end.i106
+  %FormulaPairs.addr.019.i83 = phi %struct.LIST_HELP* [ %L.idx.val.i.i99, %if.end.i106 ], [ %40, %for.end ]
+  %FormulaPairs.addr.0.idx.i84 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i83, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i85 = load i8** %FormulaPairs.addr.0.idx.i84, align 4
+  %.idx.i86 = bitcast i8* %FormulaPairs.addr.0.idx.val.i85 to %struct.LIST_HELP**
+  %.idx.val.i87 = load %struct.LIST_HELP** %.idx.i86, align 4
+  %41 = bitcast %struct.LIST_HELP* %.idx.val.i87 to %struct.term*
+  tail call void @term_Delete(%struct.term* %41) #1
+  %.idx12.i88 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i85, i32 4
+  %42 = bitcast i8* %.idx12.i88 to i8**
+  %.idx12.val.i89 = load i8** %42, align 4
+  %cmp.i90 = icmp eq i8* %.idx12.val.i89, null
+  br i1 %cmp.i90, label %if.end.i106, label %if.then.i92
+
+if.then.i92:                                      ; preds = %for.body.i91
+  tail call void @string_StringFree(i8* %.idx12.val.i89) #1
+  br label %if.end.i106
+
+if.end.i106:                                      ; preds = %if.then.i92, %for.body.i91
+  %43 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i93 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %43, i32 0, i32 4
+  %44 = load i32* %total_size.i.i.i13.i93, align 4
+  %45 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i94 = add i32 %45, %44
+  store i32 %add24.i.i.i14.i94, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i95 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %43, i32 0, i32 0
+  %46 = load i8** %free.i.i.i15.i95, align 4
+  %.c.i.i16.i96 = bitcast i8* %46 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i96, %struct.LIST_HELP** %.idx.i86, align 4
+  %47 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i97 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %47, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i85, i8** %free27.i.i.i17.i97, align 4
+  %L.idx.i.i98 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i83, i32 0, i32 0
+  %L.idx.val.i.i99 = load %struct.LIST_HELP** %L.idx.i.i98, align 4
+  %48 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i83 to i8*
+  %49 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i100 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %49, i32 0, i32 4
+  %50 = load i32* %total_size.i.i.i.i100, align 4
+  %51 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i101 = add i32 %51, %50
+  store i32 %add24.i.i.i.i101, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i102 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %49, i32 0, i32 0
+  %52 = load i8** %free.i.i.i.i102, align 4
+  %.c.i.i.i103 = bitcast i8* %52 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i103, %struct.LIST_HELP** %L.idx.i.i98, align 4
+  %53 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i104 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %53, i32 0, i32 0
+  store i8* %48, i8** %free27.i.i.i.i104, align 4
+  %cmp.i.i105 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i99, null
+  br i1 %cmp.i.i105, label %dfg_DeleteFormulaPairList.exit108, label %for.body.i91
+
+dfg_DeleteFormulaPairList.exit108:                ; preds = %if.end.i106, %for.end
+  %54 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  %cmp.i18.i54 = icmp eq %struct.LIST_HELP* %54, null
+  br i1 %cmp.i18.i54, label %dfg_DeleteFormulaPairList.exit80, label %for.body.i63
+
+for.body.i63:                                     ; preds = %dfg_DeleteFormulaPairList.exit108, %if.end.i78
+  %FormulaPairs.addr.019.i55 = phi %struct.LIST_HELP* [ %L.idx.val.i.i71, %if.end.i78 ], [ %54, %dfg_DeleteFormulaPairList.exit108 ]
+  %FormulaPairs.addr.0.idx.i56 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i55, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i57 = load i8** %FormulaPairs.addr.0.idx.i56, align 4
+  %.idx.i58 = bitcast i8* %FormulaPairs.addr.0.idx.val.i57 to %struct.LIST_HELP**
+  %.idx.val.i59 = load %struct.LIST_HELP** %.idx.i58, align 4
+  %55 = bitcast %struct.LIST_HELP* %.idx.val.i59 to %struct.term*
+  tail call void @term_Delete(%struct.term* %55) #1
+  %.idx12.i60 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i57, i32 4
+  %56 = bitcast i8* %.idx12.i60 to i8**
+  %.idx12.val.i61 = load i8** %56, align 4
+  %cmp.i62 = icmp eq i8* %.idx12.val.i61, null
+  br i1 %cmp.i62, label %if.end.i78, label %if.then.i64
+
+if.then.i64:                                      ; preds = %for.body.i63
+  tail call void @string_StringFree(i8* %.idx12.val.i61) #1
+  br label %if.end.i78
+
+if.end.i78:                                       ; preds = %if.then.i64, %for.body.i63
+  %57 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i65 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %57, i32 0, i32 4
+  %58 = load i32* %total_size.i.i.i13.i65, align 4
+  %59 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i66 = add i32 %59, %58
+  store i32 %add24.i.i.i14.i66, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i67 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %57, i32 0, i32 0
+  %60 = load i8** %free.i.i.i15.i67, align 4
+  %.c.i.i16.i68 = bitcast i8* %60 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i68, %struct.LIST_HELP** %.idx.i58, align 4
+  %61 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i69 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %61, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i57, i8** %free27.i.i.i17.i69, align 4
+  %L.idx.i.i70 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i55, i32 0, i32 0
+  %L.idx.val.i.i71 = load %struct.LIST_HELP** %L.idx.i.i70, align 4
+  %62 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i55 to i8*
+  %63 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i72 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %63, i32 0, i32 4
+  %64 = load i32* %total_size.i.i.i.i72, align 4
+  %65 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i73 = add i32 %65, %64
+  store i32 %add24.i.i.i.i73, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i74 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %63, i32 0, i32 0
+  %66 = load i8** %free.i.i.i.i74, align 4
+  %.c.i.i.i75 = bitcast i8* %66 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i75, %struct.LIST_HELP** %L.idx.i.i70, align 4
+  %67 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i76 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %67, i32 0, i32 0
+  store i8* %62, i8** %free27.i.i.i.i76, align 4
+  %cmp.i.i77 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i71, null
+  br i1 %cmp.i.i77, label %dfg_DeleteFormulaPairList.exit80, label %for.body.i63
+
+dfg_DeleteFormulaPairList.exit80:                 ; preds = %if.end.i78, %dfg_DeleteFormulaPairList.exit108
+  %68 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  %cmp.i18.i26 = icmp eq %struct.LIST_HELP* %68, null
+  br i1 %cmp.i18.i26, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
+
+for.body.i:                                       ; preds = %dfg_DeleteFormulaPairList.exit80, %if.end.i28
+  %FormulaPairs.addr.019.i = phi %struct.LIST_HELP* [ %L.idx.val.i.i, %if.end.i28 ], [ %68, %dfg_DeleteFormulaPairList.exit80 ]
+  %FormulaPairs.addr.0.idx.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i = load i8** %FormulaPairs.addr.0.idx.i, align 4
+  %.idx.i = bitcast i8* %FormulaPairs.addr.0.idx.val.i to %struct.LIST_HELP**
+  %.idx.val.i = load %struct.LIST_HELP** %.idx.i, align 4
+  %69 = bitcast %struct.LIST_HELP* %.idx.val.i to %struct.term*
+  tail call void @term_Delete(%struct.term* %69) #1
+  %.idx12.i = getelementptr i8* %FormulaPairs.addr.0.idx.val.i, i32 4
+  %70 = bitcast i8* %.idx12.i to i8**
+  %.idx12.val.i = load i8** %70, align 4
+  %cmp.i = icmp eq i8* %.idx12.val.i, null
+  br i1 %cmp.i, label %if.end.i28, label %if.then.i
+
+if.then.i:                                        ; preds = %for.body.i
+  tail call void @string_StringFree(i8* %.idx12.val.i) #1
+  br label %if.end.i28
+
+if.end.i28:                                       ; preds = %if.then.i, %for.body.i
+  %71 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %71, i32 0, i32 4
+  %72 = load i32* %total_size.i.i.i13.i, align 4
+  %73 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i = add i32 %73, %72
+  store i32 %add24.i.i.i14.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %71, i32 0, i32 0
+  %74 = load i8** %free.i.i.i15.i, align 4
+  %.c.i.i16.i = bitcast i8* %74 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i, %struct.LIST_HELP** %.idx.i, align 4
+  %75 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %75, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i, i8** %free27.i.i.i17.i, align 4
+  %L.idx.i.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 0
+  %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
+  %76 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i to i8*
+  %77 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %77, i32 0, i32 4
+  %78 = load i32* %total_size.i.i.i.i, align 4
+  %79 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i = add i32 %79, %78
+  store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %77, i32 0, i32 0
+  %80 = load i8** %free.i.i.i.i, align 4
+  %.c.i.i.i = bitcast i8* %80 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
+  %81 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %81, i32 0, i32 0
+  store i8* %76, i8** %free27.i.i.i.i, align 4
+  %cmp.i.i27 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
+  br i1 %cmp.i.i27, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
+
+dfg_DeleteFormulaPairList.exit:                   ; preds = %if.end.i28, %dfg_DeleteFormulaPairList.exit80
+  %82 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  tail call void @list_DeleteWithElement(%struct.LIST_HELP* %82, void (i8*)* bitcast (void (%struct.term*)* @term_Delete to void (i8*)*)) #1
+  %83 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  %call15 = tail call %struct.LIST_HELP* @list_NReverse(%struct.LIST_HELP* %83) #1
+  store %struct.LIST_HELP* %call15, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  %84 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %cmp.i.i = icmp eq %struct.LIST_HELP* %84, null
+  br i1 %cmp.i.i, label %list_Nconc.exit, label %if.end.i
+
+if.end.i:                                         ; preds = %dfg_DeleteFormulaPairList.exit
+  %cmp.i18.i = icmp eq %struct.LIST_HELP* %call15, null
+  br i1 %cmp.i18.i, label %list_Nconc.exit, label %for.cond.i
+
+for.cond.i:                                       ; preds = %if.end.i, %for.cond.i
+  %List1.addr.0.i = phi %struct.LIST_HELP* [ %List1.addr.0.idx15.val.i, %for.cond.i ], [ %84, %if.end.i ]
+  %List1.addr.0.idx15.i = getelementptr %struct.LIST_HELP* %List1.addr.0.i, i32 0, i32 0
+  %List1.addr.0.idx15.val.i = load %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  %cmp.i16.i = icmp eq %struct.LIST_HELP* %List1.addr.0.idx15.val.i, null
+  br i1 %cmp.i16.i, label %for.end.i, label %for.cond.i
+
+for.end.i:                                        ; preds = %for.cond.i
+  store %struct.LIST_HELP* %call15, %struct.LIST_HELP** %List1.addr.0.idx15.i, align 4
+  br label %list_Nconc.exit
+
+list_Nconc.exit:                                  ; preds = %dfg_DeleteFormulaPairList.exit, %if.end.i, %for.end.i
+  %retval.0.i = phi %struct.LIST_HELP* [ %84, %for.end.i ], [ %call15, %dfg_DeleteFormulaPairList.exit ], [ %84, %if.end.i ]
+  store %struct.LIST_HELP* %retval.0.i, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  ret %struct.LIST_HELP* %retval.0.i
+}
+
+; Function Attrs: nounwind
+define void @dfg_DeleteFormulaPairList(%struct.LIST_HELP* %FormulaPairs) #0 {
+entry:
+  %cmp.i18 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
+  br i1 %cmp.i18, label %for.end, label %for.body
+
+for.body:                                         ; preds = %entry, %if.end
+  %FormulaPairs.addr.019 = phi %struct.LIST_HELP* [ %L.idx.val.i, %if.end ], [ %FormulaPairs, %entry ]
+  %FormulaPairs.addr.0.idx = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val = load i8** %FormulaPairs.addr.0.idx, align 4
+  %.idx = bitcast i8* %FormulaPairs.addr.0.idx.val to %struct.LIST_HELP**
+  %.idx.val = load %struct.LIST_HELP** %.idx, align 4
+  %0 = bitcast %struct.LIST_HELP* %.idx.val to %struct.term*
+  tail call void @term_Delete(%struct.term* %0) #1
+  %.idx12 = getelementptr i8* %FormulaPairs.addr.0.idx.val, i32 4
+  %1 = bitcast i8* %.idx12 to i8**
+  %.idx12.val = load i8** %1, align 4
+  %cmp = icmp eq i8* %.idx12.val, null
+  br i1 %cmp, label %if.end, label %if.then
+
+if.then:                                          ; preds = %for.body
+  tail call void @string_StringFree(i8* %.idx12.val) #1
+  br label %if.end
+
+if.end:                                           ; preds = %for.body, %if.then
+  %2 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 4
+  %3 = load i32* %total_size.i.i.i13, align 4
+  %4 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14 = add i32 %4, %3
+  store i32 %add24.i.i.i14, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 0
+  %5 = load i8** %free.i.i.i15, align 4
+  %.c.i.i16 = bitcast i8* %5 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16, %struct.LIST_HELP** %.idx, align 4
+  %6 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %6, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val, i8** %free27.i.i.i17, align 4
+  %L.idx.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019, i32 0, i32 0
+  %L.idx.val.i = load %struct.LIST_HELP** %L.idx.i, align 4
+  %7 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019 to i8*
+  %8 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %8, i32 0, i32 4
+  %9 = load i32* %total_size.i.i.i, align 4
+  %10 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %10, %9
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %8, i32 0, i32 0
+  %11 = load i8** %free.i.i.i, align 4
+  %.c.i.i = bitcast i8* %11 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %L.idx.i, align 4
+  %12 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %12, i32 0, i32 0
+  store i8* %7, i8** %free27.i.i.i, align 4
+  %cmp.i = icmp eq %struct.LIST_HELP* %L.idx.val.i, null
+  br i1 %cmp.i, label %for.end, label %for.body
+
+for.end:                                          ; preds = %if.end, %entry
+  ret void
+}
+
+; Function Attrs: nounwind
+define %struct.LIST_HELP* @dfg_TermParser(%struct._IO_FILE* %File, i32* %Flags, i32* %Precedence) #0 {
+entry:
+  store %struct._IO_FILE* %File, %struct._IO_FILE** @dfg_in, align 4
+  store i32 1, i32* @dfg_LINENUMBER, align 4
+  store i32 1, i32* @dfg_IGNORETEXT, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_USERPRECEDENCE, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  store %struct.LIST_HELP* null, %struct.LIST_HELP** @dfg_VARLIST, align 4
+  store i1 false, i1* @dfg_VARDECL, align 1
+  store i32 0, i32* @dfg_IGNORE, align 4
+  store i32* %Flags, i32** @dfg_FLAGS, align 4
+  store i32* %Precedence, i32** @dfg_PRECEDENCE, align 4
+  store i8* null, i8** @dfg_DESC.0, align 4
+  store i8* null, i8** @dfg_DESC.1, align 4
+  store i8* null, i8** @dfg_DESC.2, align 4
+  store i8* null, i8** @dfg_DESC.3, align 4
+  store i32 2, i32* @dfg_DESC.4, align 4
+  store i8* null, i8** @dfg_DESC.5, align 4
+  store i8* null, i8** @dfg_DESC.6, align 4
+  %call1 = tail call i32 @dfg_parse()
+  %0 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %cmp.i13.i = icmp eq %struct.LIST_HELP* %0, null
+  br i1 %cmp.i13.i, label %dfg_SymCleanUp.exit, label %while.body.lr.ph.i
+
+while.body.lr.ph.i:                               ; preds = %entry
+  %1 = load i32* @symbol_TYPESTATBITS, align 4
+  br label %while.body.i
+
+while.body.i:                                     ; preds = %if.end.i14, %while.body.lr.ph.i
+  %2 = phi %struct.LIST_HELP* [ %0, %while.body.lr.ph.i ], [ %L.idx.val.i.i7, %if.end.i14 ]
+  %.idx.i2 = getelementptr %struct.LIST_HELP* %2, i32 0, i32 1
+  %.idx.val.i3 = load i8** %.idx.i2, align 4
+  %symbol.i = bitcast i8* %.idx.val.i3 to i32*
+  %3 = load i32* %symbol.i, align 4
+  %arity.i = getelementptr inbounds i8* %.idx.val.i3, i32 8
+  %4 = bitcast i8* %arity.i to i32*
+  %5 = load i32* %4, align 4
+  %sub.i.i9.i = sub nsw i32 0, %3
+  %shr.i.i10.i = ashr i32 %sub.i.i9.i, %1
+  %6 = load %struct.signature*** @symbol_SIGNATURE, align 4
+  %arrayidx.i.i11.i = getelementptr inbounds %struct.signature** %6, i32 %shr.i.i10.i
+  %7 = load %struct.signature** %arrayidx.i.i11.i, align 4
+  %arity.i12.i = getelementptr inbounds %struct.signature* %7, i32 0, i32 3
+  %8 = load i32* %arity.i12.i, align 4
+  %cmp.i4 = icmp eq i32 %5, %8
+  br i1 %cmp.i4, label %if.end.i14, label %if.then.i5
+
+if.then.i5:                                       ; preds = %while.body.i
+  store i32 %5, i32* %arity.i12.i, align 4
+  br label %if.end.i14
+
+if.end.i14:                                       ; preds = %if.then.i5, %while.body.i
+  %9 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 4
+  %10 = load i32* %total_size.i.i.i, align 4
+  %11 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %11, %10
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %9, i32 0, i32 0
+  %12 = load i8** %free.i.i.i, align 4
+  %.c.i.i = ptrtoint i8* %12 to i32
+  store i32 %.c.i.i, i32* %symbol.i, align 4
+  %13 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 12), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %13, i32 0, i32 0
+  store i8* %.idx.val.i3, i8** %free27.i.i.i, align 4
+  %14 = load %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %L.idx.i.i6 = getelementptr %struct.LIST_HELP* %14, i32 0, i32 0
+  %L.idx.val.i.i7 = load %struct.LIST_HELP** %L.idx.i.i6, align 4
+  %15 = bitcast %struct.LIST_HELP* %14 to i8*
+  %16 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i8 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 4
+  %17 = load i32* %total_size.i.i.i.i8, align 4
+  %18 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i9 = add i32 %18, %17
+  store i32 %add24.i.i.i.i9, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i10 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %16, i32 0, i32 0
+  %19 = load i8** %free.i.i.i.i10, align 4
+  %.c.i.i.i11 = bitcast i8* %19 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i11, %struct.LIST_HELP** %L.idx.i.i6, align 4
+  %20 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i12 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %20, i32 0, i32 0
+  store i8* %15, i8** %free27.i.i.i.i12, align 4
+  store %struct.LIST_HELP* %L.idx.val.i.i7, %struct.LIST_HELP** @dfg_SYMBOLLIST, align 4
+  %cmp.i.i13 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i7, null
+  br i1 %cmp.i.i13, label %dfg_SymCleanUp.exit, label %while.body.i
+
+dfg_SymCleanUp.exit:                              ; preds = %if.end.i14, %entry
+  %21 = load %struct.LIST_HELP** @dfg_AXCLAUSES, align 4
+  %cmp.i18.i15 = icmp eq %struct.LIST_HELP* %21, null
+  br i1 %cmp.i18.i15, label %dfg_DeleteFormulaPairList.exit40, label %for.body.i24
+
+for.body.i24:                                     ; preds = %dfg_SymCleanUp.exit, %if.end.i39
+  %FormulaPairs.addr.019.i16 = phi %struct.LIST_HELP* [ %L.idx.val.i.i32, %if.end.i39 ], [ %21, %dfg_SymCleanUp.exit ]
+  %FormulaPairs.addr.0.idx.i17 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i16, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i18 = load i8** %FormulaPairs.addr.0.idx.i17, align 4
+  %.idx.i19 = bitcast i8* %FormulaPairs.addr.0.idx.val.i18 to %struct.LIST_HELP**
+  %.idx.val.i20 = load %struct.LIST_HELP** %.idx.i19, align 4
+  %22 = bitcast %struct.LIST_HELP* %.idx.val.i20 to %struct.term*
+  tail call void @term_Delete(%struct.term* %22) #1
+  %.idx12.i21 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i18, i32 4
+  %23 = bitcast i8* %.idx12.i21 to i8**
+  %.idx12.val.i22 = load i8** %23, align 4
+  %cmp.i23 = icmp eq i8* %.idx12.val.i22, null
+  br i1 %cmp.i23, label %if.end.i39, label %if.then.i25
+
+if.then.i25:                                      ; preds = %for.body.i24
+  tail call void @string_StringFree(i8* %.idx12.val.i22) #1
+  br label %if.end.i39
+
+if.end.i39:                                       ; preds = %if.then.i25, %for.body.i24
+  %24 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i26 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 4
+  %25 = load i32* %total_size.i.i.i13.i26, align 4
+  %26 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i27 = add i32 %26, %25
+  store i32 %add24.i.i.i14.i27, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i28 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %24, i32 0, i32 0
+  %27 = load i8** %free.i.i.i15.i28, align 4
+  %.c.i.i16.i29 = bitcast i8* %27 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i29, %struct.LIST_HELP** %.idx.i19, align 4
+  %28 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i30 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %28, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i18, i8** %free27.i.i.i17.i30, align 4
+  %L.idx.i.i31 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i16, i32 0, i32 0
+  %L.idx.val.i.i32 = load %struct.LIST_HELP** %L.idx.i.i31, align 4
+  %29 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i16 to i8*
+  %30 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i33 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %30, i32 0, i32 4
+  %31 = load i32* %total_size.i.i.i.i33, align 4
+  %32 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i34 = add i32 %32, %31
+  store i32 %add24.i.i.i.i34, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i35 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %30, i32 0, i32 0
+  %33 = load i8** %free.i.i.i.i35, align 4
+  %.c.i.i.i36 = bitcast i8* %33 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i36, %struct.LIST_HELP** %L.idx.i.i31, align 4
+  %34 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i37 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %34, i32 0, i32 0
+  store i8* %29, i8** %free27.i.i.i.i37, align 4
+  %cmp.i.i38 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i32, null
+  br i1 %cmp.i.i38, label %dfg_DeleteFormulaPairList.exit40, label %for.body.i24
+
+dfg_DeleteFormulaPairList.exit40:                 ; preds = %if.end.i39, %dfg_SymCleanUp.exit
+  %35 = load %struct.LIST_HELP** @dfg_CONCLAUSES, align 4
+  %cmp.i18.i41 = icmp eq %struct.LIST_HELP* %35, null
+  br i1 %cmp.i18.i41, label %dfg_DeleteFormulaPairList.exit66, label %for.body.i50
+
+for.body.i50:                                     ; preds = %dfg_DeleteFormulaPairList.exit40, %if.end.i65
+  %FormulaPairs.addr.019.i42 = phi %struct.LIST_HELP* [ %L.idx.val.i.i58, %if.end.i65 ], [ %35, %dfg_DeleteFormulaPairList.exit40 ]
+  %FormulaPairs.addr.0.idx.i43 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i42, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i44 = load i8** %FormulaPairs.addr.0.idx.i43, align 4
+  %.idx.i45 = bitcast i8* %FormulaPairs.addr.0.idx.val.i44 to %struct.LIST_HELP**
+  %.idx.val.i46 = load %struct.LIST_HELP** %.idx.i45, align 4
+  %36 = bitcast %struct.LIST_HELP* %.idx.val.i46 to %struct.term*
+  tail call void @term_Delete(%struct.term* %36) #1
+  %.idx12.i47 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i44, i32 4
+  %37 = bitcast i8* %.idx12.i47 to i8**
+  %.idx12.val.i48 = load i8** %37, align 4
+  %cmp.i49 = icmp eq i8* %.idx12.val.i48, null
+  br i1 %cmp.i49, label %if.end.i65, label %if.then.i51
+
+if.then.i51:                                      ; preds = %for.body.i50
+  tail call void @string_StringFree(i8* %.idx12.val.i48) #1
+  br label %if.end.i65
+
+if.end.i65:                                       ; preds = %if.then.i51, %for.body.i50
+  %38 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i52 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %38, i32 0, i32 4
+  %39 = load i32* %total_size.i.i.i13.i52, align 4
+  %40 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i53 = add i32 %40, %39
+  store i32 %add24.i.i.i14.i53, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i54 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %38, i32 0, i32 0
+  %41 = load i8** %free.i.i.i15.i54, align 4
+  %.c.i.i16.i55 = bitcast i8* %41 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i55, %struct.LIST_HELP** %.idx.i45, align 4
+  %42 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i56 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %42, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i44, i8** %free27.i.i.i17.i56, align 4
+  %L.idx.i.i57 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i42, i32 0, i32 0
+  %L.idx.val.i.i58 = load %struct.LIST_HELP** %L.idx.i.i57, align 4
+  %43 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i42 to i8*
+  %44 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i59 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %44, i32 0, i32 4
+  %45 = load i32* %total_size.i.i.i.i59, align 4
+  %46 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i60 = add i32 %46, %45
+  store i32 %add24.i.i.i.i60, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i61 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %44, i32 0, i32 0
+  %47 = load i8** %free.i.i.i.i61, align 4
+  %.c.i.i.i62 = bitcast i8* %47 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i62, %struct.LIST_HELP** %L.idx.i.i57, align 4
+  %48 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i63 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %48, i32 0, i32 0
+  store i8* %43, i8** %free27.i.i.i.i63, align 4
+  %cmp.i.i64 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i58, null
+  br i1 %cmp.i.i64, label %dfg_DeleteFormulaPairList.exit66, label %for.body.i50
+
+dfg_DeleteFormulaPairList.exit66:                 ; preds = %if.end.i65, %dfg_DeleteFormulaPairList.exit40
+  %49 = load %struct.LIST_HELP** @dfg_AXIOMLIST, align 4
+  %cmp.i18.i67 = icmp eq %struct.LIST_HELP* %49, null
+  br i1 %cmp.i18.i67, label %dfg_DeleteFormulaPairList.exit92, label %for.body.i76
+
+for.body.i76:                                     ; preds = %dfg_DeleteFormulaPairList.exit66, %if.end.i91
+  %FormulaPairs.addr.019.i68 = phi %struct.LIST_HELP* [ %L.idx.val.i.i84, %if.end.i91 ], [ %49, %dfg_DeleteFormulaPairList.exit66 ]
+  %FormulaPairs.addr.0.idx.i69 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i68, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i70 = load i8** %FormulaPairs.addr.0.idx.i69, align 4
+  %.idx.i71 = bitcast i8* %FormulaPairs.addr.0.idx.val.i70 to %struct.LIST_HELP**
+  %.idx.val.i72 = load %struct.LIST_HELP** %.idx.i71, align 4
+  %50 = bitcast %struct.LIST_HELP* %.idx.val.i72 to %struct.term*
+  tail call void @term_Delete(%struct.term* %50) #1
+  %.idx12.i73 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i70, i32 4
+  %51 = bitcast i8* %.idx12.i73 to i8**
+  %.idx12.val.i74 = load i8** %51, align 4
+  %cmp.i75 = icmp eq i8* %.idx12.val.i74, null
+  br i1 %cmp.i75, label %if.end.i91, label %if.then.i77
+
+if.then.i77:                                      ; preds = %for.body.i76
+  tail call void @string_StringFree(i8* %.idx12.val.i74) #1
+  br label %if.end.i91
+
+if.end.i91:                                       ; preds = %if.then.i77, %for.body.i76
+  %52 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i78 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %52, i32 0, i32 4
+  %53 = load i32* %total_size.i.i.i13.i78, align 4
+  %54 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i79 = add i32 %54, %53
+  store i32 %add24.i.i.i14.i79, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i80 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %52, i32 0, i32 0
+  %55 = load i8** %free.i.i.i15.i80, align 4
+  %.c.i.i16.i81 = bitcast i8* %55 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i81, %struct.LIST_HELP** %.idx.i71, align 4
+  %56 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i82 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %56, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i70, i8** %free27.i.i.i17.i82, align 4
+  %L.idx.i.i83 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i68, i32 0, i32 0
+  %L.idx.val.i.i84 = load %struct.LIST_HELP** %L.idx.i.i83, align 4
+  %57 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i68 to i8*
+  %58 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i85 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %58, i32 0, i32 4
+  %59 = load i32* %total_size.i.i.i.i85, align 4
+  %60 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i86 = add i32 %60, %59
+  store i32 %add24.i.i.i.i86, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i87 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %58, i32 0, i32 0
+  %61 = load i8** %free.i.i.i.i87, align 4
+  %.c.i.i.i88 = bitcast i8* %61 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i88, %struct.LIST_HELP** %L.idx.i.i83, align 4
+  %62 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i89 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %62, i32 0, i32 0
+  store i8* %57, i8** %free27.i.i.i.i89, align 4
+  %cmp.i.i90 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i84, null
+  br i1 %cmp.i.i90, label %dfg_DeleteFormulaPairList.exit92, label %for.body.i76
+
+dfg_DeleteFormulaPairList.exit92:                 ; preds = %if.end.i91, %dfg_DeleteFormulaPairList.exit66
+  %63 = load %struct.LIST_HELP** @dfg_CONJECLIST, align 4
+  %cmp.i18.i93 = icmp eq %struct.LIST_HELP* %63, null
+  br i1 %cmp.i18.i93, label %dfg_DeleteFormulaPairList.exit118, label %for.body.i102
+
+for.body.i102:                                    ; preds = %dfg_DeleteFormulaPairList.exit92, %if.end.i117
+  %FormulaPairs.addr.019.i94 = phi %struct.LIST_HELP* [ %L.idx.val.i.i110, %if.end.i117 ], [ %63, %dfg_DeleteFormulaPairList.exit92 ]
+  %FormulaPairs.addr.0.idx.i95 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i94, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i96 = load i8** %FormulaPairs.addr.0.idx.i95, align 4
+  %.idx.i97 = bitcast i8* %FormulaPairs.addr.0.idx.val.i96 to %struct.LIST_HELP**
+  %.idx.val.i98 = load %struct.LIST_HELP** %.idx.i97, align 4
+  %64 = bitcast %struct.LIST_HELP* %.idx.val.i98 to %struct.term*
+  tail call void @term_Delete(%struct.term* %64) #1
+  %.idx12.i99 = getelementptr i8* %FormulaPairs.addr.0.idx.val.i96, i32 4
+  %65 = bitcast i8* %.idx12.i99 to i8**
+  %.idx12.val.i100 = load i8** %65, align 4
+  %cmp.i101 = icmp eq i8* %.idx12.val.i100, null
+  br i1 %cmp.i101, label %if.end.i117, label %if.then.i103
+
+if.then.i103:                                     ; preds = %for.body.i102
+  tail call void @string_StringFree(i8* %.idx12.val.i100) #1
+  br label %if.end.i117
+
+if.end.i117:                                      ; preds = %if.then.i103, %for.body.i102
+  %66 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i104 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %66, i32 0, i32 4
+  %67 = load i32* %total_size.i.i.i13.i104, align 4
+  %68 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i105 = add i32 %68, %67
+  store i32 %add24.i.i.i14.i105, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i106 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %66, i32 0, i32 0
+  %69 = load i8** %free.i.i.i15.i106, align 4
+  %.c.i.i16.i107 = bitcast i8* %69 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i107, %struct.LIST_HELP** %.idx.i97, align 4
+  %70 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i108 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %70, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i96, i8** %free27.i.i.i17.i108, align 4
+  %L.idx.i.i109 = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i94, i32 0, i32 0
+  %L.idx.val.i.i110 = load %struct.LIST_HELP** %L.idx.i.i109, align 4
+  %71 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i94 to i8*
+  %72 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i111 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %72, i32 0, i32 4
+  %73 = load i32* %total_size.i.i.i.i111, align 4
+  %74 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i112 = add i32 %74, %73
+  store i32 %add24.i.i.i.i112, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i113 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %72, i32 0, i32 0
+  %75 = load i8** %free.i.i.i.i113, align 4
+  %.c.i.i.i114 = bitcast i8* %75 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i114, %struct.LIST_HELP** %L.idx.i.i109, align 4
+  %76 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i115 = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %76, i32 0, i32 0
+  store i8* %71, i8** %free27.i.i.i.i115, align 4
+  %cmp.i.i116 = icmp eq %struct.LIST_HELP* %L.idx.val.i.i110, null
+  br i1 %cmp.i.i116, label %dfg_DeleteFormulaPairList.exit118, label %for.body.i102
+
+dfg_DeleteFormulaPairList.exit118:                ; preds = %if.end.i117, %dfg_DeleteFormulaPairList.exit92
+  %77 = load %struct.LIST_HELP** @dfg_PROOFLIST, align 4
+  tail call void @dfg_DeleteProofList(%struct.LIST_HELP* %77)
+  %78 = load %struct.LIST_HELP** @dfg_SORTDECLLIST, align 4
+  %cmp.i18.i = icmp eq %struct.LIST_HELP* %78, null
+  br i1 %cmp.i18.i, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
+
+for.body.i:                                       ; preds = %dfg_DeleteFormulaPairList.exit118, %if.end.i
+  %FormulaPairs.addr.019.i = phi %struct.LIST_HELP* [ %L.idx.val.i.i, %if.end.i ], [ %78, %dfg_DeleteFormulaPairList.exit118 ]
+  %FormulaPairs.addr.0.idx.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 1
+  %FormulaPairs.addr.0.idx.val.i = load i8** %FormulaPairs.addr.0.idx.i, align 4
+  %.idx.i = bitcast i8* %FormulaPairs.addr.0.idx.val.i to %struct.LIST_HELP**
+  %.idx.val.i = load %struct.LIST_HELP** %.idx.i, align 4
+  %79 = bitcast %struct.LIST_HELP* %.idx.val.i to %struct.term*
+  tail call void @term_Delete(%struct.term* %79) #1
+  %.idx12.i = getelementptr i8* %FormulaPairs.addr.0.idx.val.i, i32 4
+  %80 = bitcast i8* %.idx12.i to i8**
+  %.idx12.val.i = load i8** %80, align 4
+  %cmp.i = icmp eq i8* %.idx12.val.i, null
+  br i1 %cmp.i, label %if.end.i, label %if.then.i
+
+if.then.i:                                        ; preds = %for.body.i
+  tail call void @string_StringFree(i8* %.idx12.val.i) #1
+  br label %if.end.i
+
+if.end.i:                                         ; preds = %if.then.i, %for.body.i
+  %81 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i13.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %81, i32 0, i32 4
+  %82 = load i32* %total_size.i.i.i13.i, align 4
+  %83 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i14.i = add i32 %83, %82
+  store i32 %add24.i.i.i14.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i15.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %81, i32 0, i32 0
+  %84 = load i8** %free.i.i.i15.i, align 4
+  %.c.i.i16.i = bitcast i8* %84 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i16.i, %struct.LIST_HELP** %.idx.i, align 4
+  %85 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i17.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %85, i32 0, i32 0
+  store i8* %FormulaPairs.addr.0.idx.val.i, i8** %free27.i.i.i17.i, align 4
+  %L.idx.i.i = getelementptr %struct.LIST_HELP* %FormulaPairs.addr.019.i, i32 0, i32 0
+  %L.idx.val.i.i = load %struct.LIST_HELP** %L.idx.i.i, align 4
+  %86 = bitcast %struct.LIST_HELP* %FormulaPairs.addr.019.i to i8*
+  %87 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %87, i32 0, i32 4
+  %88 = load i32* %total_size.i.i.i.i, align 4
+  %89 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i.i = add i32 %89, %88
+  store i32 %add24.i.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %87, i32 0, i32 0
+  %90 = load i8** %free.i.i.i.i, align 4
+  %.c.i.i.i = bitcast i8* %90 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i.i, %struct.LIST_HELP** %L.idx.i.i, align 4
+  %91 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %91, i32 0, i32 0
+  store i8* %86, i8** %free27.i.i.i.i, align 4
+  %cmp.i.i = icmp eq %struct.LIST_HELP* %L.idx.val.i.i, null
+  br i1 %cmp.i.i, label %dfg_DeleteFormulaPairList.exit, label %for.body.i
+
+dfg_DeleteFormulaPairList.exit:                   ; preds = %if.end.i, %dfg_DeleteFormulaPairList.exit118
+  %92 = load %struct.LIST_HELP** @dfg_TERMLIST, align 4
+  ret %struct.LIST_HELP* %92
+}
+
+; Function Attrs: nounwind
+define void @dfg_StripLabelsFromList(%struct.LIST_HELP* %FormulaPairs) #0 {
+entry:
+  %cmp.i15 = icmp eq %struct.LIST_HELP* %FormulaPairs, null
+  br i1 %cmp.i15, label %for.end, label %for.body
+
+for.body:                                         ; preds = %entry, %if.end
+  %scan.016 = phi %struct.LIST_HELP* [ %scan.0.idx12.val, %if.end ], [ %FormulaPairs, %entry ]
+  %scan.0.idx = getelementptr %struct.LIST_HELP* %scan.016, i32 0, i32 1
+  %scan.0.idx.val = load i8** %scan.0.idx, align 4
+  %.idx = bitcast i8* %scan.0.idx.val to %struct.LIST_HELP**
+  %.idx.val = load %struct.LIST_HELP** %.idx, align 4
+  %0 = bitcast %struct.LIST_HELP* %.idx.val to i8*
+  store i8* %0, i8** %scan.0.idx, align 4
+  %.idx14 = getelementptr i8* %scan.0.idx.val, i32 4
+  %1 = bitcast i8* %.idx14 to i8**
+  %.idx14.val = load i8** %1, align 4
+  %cmp = icmp eq i8* %.idx14.val, null
+  br i1 %cmp, label %if.end, label %if.then
+
+if.then:                                          ; preds = %for.body
+  tail call void @string_StringFree(i8* %.idx14.val) #1
+  br label %if.end
+
+if.end:                                           ; preds = %for.body, %if.then
+  %2 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 4
+  %3 = load i32* %total_size.i.i.i, align 4
+  %4 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i.i.i = add i32 %4, %3
+  store i32 %add24.i.i.i, i32* @memory_FREEDBYTES, align 4
+  %free.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 0
+  %5 = load i8** %free.i.i.i, align 4
+  %.c.i.i = bitcast i8* %5 to %struct.LIST_HELP*
+  store %struct.LIST_HELP* %.c.i.i, %struct.LIST_HELP** %.idx, align 4
+  %6 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i.i.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %6, i32 0, i32 0
+  store i8* %scan.0.idx.val, i8** %free27.i.i.i, align 4
+  %scan.0.idx12 = getelementptr %struct.LIST_HELP* %scan.016, i32 0, i32 0
+  %scan.0.idx12.val = load %struct.LIST_HELP** %scan.0.idx12, align 4
+  %cmp.i = icmp eq %struct.LIST_HELP* %scan.0.idx12.val, null
+  br i1 %cmp.i, label %for.end, label %for.body
+
+for.end:                                          ; preds = %if.end, %entry
+  ret void
+}
+
+declare %struct.LIST_HELP* @list_PointerDeleteDuplicates(%struct.LIST_HELP*) #2
+
+declare %struct.term* @fol_CreateQuantifier(i32, %struct.LIST_HELP*, %struct.LIST_HELP*) #2
+
+declare %struct.CLAUSE_HELP* @clause_CreateFromLiterals(%struct.LIST_HELP*, i32, i32, i32, i32*, i32*) #2
+
+declare void @list_DeleteWithElement(%struct.LIST_HELP*, void (i8*)*) #2
+
+; Function Attrs: nounwind
+define internal void @dfg_VarFree(%struct.DFG_VARENTRY* %Entry) #0 {
+entry:
+  %name = getelementptr inbounds %struct.DFG_VARENTRY* %Entry, i32 0, i32 0
+  %0 = load i8** %name, align 4
+  tail call void @string_StringFree(i8* %0) #1
+  %1 = bitcast %struct.DFG_VARENTRY* %Entry to i8*
+  %2 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %total_size.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 4
+  %3 = load i32* %total_size.i, align 4
+  %4 = load i32* @memory_FREEDBYTES, align 4
+  %add24.i = add i32 %4, %3
+  store i32 %add24.i, i32* @memory_FREEDBYTES, align 4
+  %free.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %2, i32 0, i32 0
+  %5 = load i8** %free.i, align 4
+  store i8* %5, i8** %name, align 4
+  %6 = load %struct.MEMORY_RESOURCEHELP** getelementptr inbounds ([0 x %struct.MEMORY_RESOURCEHELP*]* @memory_ARRAY, i32 0, i32 8), align 4
+  %free27.i = getelementptr inbounds %struct.MEMORY_RESOURCEHELP* %6, i32 0, i32 0
+  store i8* %1, i8** %free27.i, align 4
+  ret void
+}
+
+declare %struct.term* @term_Copy(%struct.term*) #2
+
+declare i8* @memory_Malloc(i32) #2
+
+declare i32 @symbol_CreateFunction(i8*, i32, i32, i32*) #2
+
+declare i32 @symbol_CreatePredicate(i8*, i32, i32, i32*) #2
+
+declare i32 @symbol_CreateJunctor(i8*, i32, i32, i32*) #2
+
+; Function Attrs: noreturn nounwind
+declare void @abort() #5
+
+declare i32 @symbol_GetIncreasedOrderingCounter() #2
+
+declare i32 @flag_Minimum(i32) #2
+
+declare i8* @flag_Name(i32) #2
+
+declare i32 @flag_Maximum(i32) #2
+
+; Function Attrs: nounwind readonly
+declare i32 @strcmp(i8* nocapture, i8* nocapture) #4
+
+declare i32 @list_Length(%struct.LIST_HELP*) #2
+
+; Function Attrs: noreturn nounwind
+declare void @exit(i32) #5
+
+; Function Attrs: nounwind
+declare i32 @fwrite(i8* nocapture, i32, i32, %struct._IO_FILE* nocapture) #1
+
+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" }
+attributes #1 = { nounwind }
+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" }
+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" }
+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" }
+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" }
+attributes #6 = { nounwind readonly }
+attributes #7 = { noreturn nounwind }
+
