[llvm] r183633 - Fix a regression I introduced when I expanded the complex pseudos in

reed kotler rkotler at mips.com
Mon Jun 10 14:28:17 PDT 2013


We have a really tiny test case now.

I will delete the one I checked in and replace it later tonight.

Doug Gilmore made it using delta.

I still want to learn how to use bugpoint and will try it on my next 
similar case.



On 06/09/2013 08:12 PM, Eric Christopher wrote:
> If you can add a assert into the compiler for the case/cases that
> didn't work you could use bugpoint to reduce it as well.
>
> -eric
>
> On Sun, Jun 9, 2013 at 6:50 PM, reed kotler <rkotler at mips.com> wrote:
>> On 06/09/2013 05:19 PM, David Majnemer wrote:
>>
>> Out of curiosity, can the test case be reduced?
>>
>> Yes. Lol. I have to remember which C code can cause this to be generated.
>> It is part of a long pattern.
>>
>> I am filing a bug against myself to submit a small test case and remove this
>> one.
>>
>> --
>> David Majnemer
>>
>>
>> On Sun, Jun 9, 2013 at 4:23 PM, Reed Kotler <rkotler at mips.com> wrote:
>>> Author: rkotler
>>> Date: Sun Jun  9 18:23:46 2013
>>> New Revision: 183633
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=183633&view=rev
>>> Log:
>>> Fix a regression I introduced when I expanded the complex pseudos in
>>> the Mips16 port. A few of the psuedos could either take signed
>>> or unsigned arguments and I did not distinguish the case and improperly
>>> rejected some valid cases that the assembler had previously accepted
>>> when they were pure pseudos that expanded as assembly instructions.
>>>
>>>
>>> Added:
>>>      llvm/trunk/test/CodeGen/Mips/cmplarge.ll
>>> Modified:
>>>      llvm/trunk/lib/Target/Mips/Mips16ISelLowering.cpp
>>>      llvm/trunk/lib/Target/Mips/Mips16ISelLowering.h
>>>
>>> Modified: llvm/trunk/lib/Target/Mips/Mips16ISelLowering.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/Mips16ISelLowering.cpp?rev=183633&r1=183632&r2=183633&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/lib/Target/Mips/Mips16ISelLowering.cpp (original)
>>> +++ llvm/trunk/lib/Target/Mips/Mips16ISelLowering.cpp Sun Jun  9 18:23:46
>>> 2013
>>> @@ -131,17 +131,17 @@ Mips16TargetLowering::EmitInstrWithCusto
>>>       // 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
>>>   }
>>>
>>>   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 @@ MachineBasicBlock *Mips16TargetLowering:
>>>     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");
>>>
>>> Modified: llvm/trunk/lib/Target/Mips/Mips16ISelLowering.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/Mips16ISelLowering.h?rev=183633&r1=183632&r2=183633&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/lib/Target/Mips/Mips16ISelLowering.h (original)
>>> +++ llvm/trunk/lib/Target/Mips/Mips16ISelLowering.h Sun Jun  9 18:23:46
>>> 2013
>>> @@ -64,7 +64,7 @@ namespace llvm {
>>>                                              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(
>>>
>>> Added: llvm/trunk/test/CodeGen/Mips/cmplarge.ll
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/cmplarge.ll?rev=183633&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/test/CodeGen/Mips/cmplarge.ll (added)
>>> +++ llvm/trunk/test/CodeGen/Mips/cmplarge.ll Sun Jun  9 18:23:46 2013
>>> @@ -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 }
>>> +
>>> + at dfg_nerrs = common global i32 0, align 4
>>> + at dfg_char = common global i32 0, align 4
>>> + at 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 -3!
>>>   56, i16 3
>>>   37, 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
>>> + at 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 at 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
>>> + at 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 6
>>>   9, 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, i!
>>>   16 64, i1
>>>   6 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, i!
>>>   16 90, i1
>>>   6 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
>>> + at 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 3!
>>>   59, i16 2
>>>   5, 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,
>>> i!
>>>   16 59, i1
>>>   6 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 37!
>>>   7, i16 19
>>>   1, 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
>>> + at dfg_lval = common global %union.yystype zeroinitializer, align 4
>>> + at 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 at 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\0!
>>>   0\00\00\0
>>>
>>> 0Kpq\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
>>> + at 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
>>> + at dfg_DESC.0 = internal unnamed_addr global i8* null
>>> + at dfg_DESC.1 = internal unnamed_addr global i8* null
>>> + at dfg_DESC.2 = internal unnamed_addr global i8* null
>>> + at dfg_DESC.3 = internal unnamed_addr global i8* null
>>> + at dfg_DESC.4 = internal unnamed_addr global i32 0
>>> + at dfg_DESC.5 = internal unnamed_addr global i8* null
>>> + at dfg_DESC.6 = internal unnamed_addr global i8* null
>>> + at dfg_SORTDECLLIST = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at dfg_AXIOMLIST = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at dfg_CONJECLIST = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at dfg_IGNORE = internal unnamed_addr global i32 0, align 4
>>> + at .str = private unnamed_addr constant [9 x i8] c"set_flag\00", align 1
>>> + at .str1 = private unnamed_addr constant [12 x i8] c"set_DomPred\00", align
>>> 1
>>> + at .str2 = private unnamed_addr constant [15 x i8] c"set_precedence\00",
>>> align 1
>>> + at stdout = external global %struct._IO_FILE*
>>> + at .str3 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol is
>>> not a variable.\0A\00", align 1
>>> + at dfg_LINENUMBER = common global i32 0, align 4
>>> + at .str4 = private unnamed_addr constant [39 x i8] c"\0A Line %d: Symbol is
>>> not a predicate.\0A\00", align 1
>>> + at dfg_AXCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at dfg_CONCLAUSES = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at .str5 = private unnamed_addr constant [6 x i8] c"SPASS\00", align 1
>>> + at dfg_PROOFLIST = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at .str6 = private unnamed_addr constant [11 x i8] c"splitlevel\00", align
>>> 1
>>> + at dfg_TERMLIST = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at dfg_IGNORETEXT = common global i32 0, align 4
>>> + at .str7 = private unnamed_addr constant [22 x i8] c"\0A Undefined symbol
>>> %s\00", align 1
>>> + at .str8 = private unnamed_addr constant [19 x i8] c" in DomPred
>>> list.\0A\00", align 1
>>> + at .str9 = private unnamed_addr constant [30 x i8] c"\0A Symbol %s isn't a
>>> predicate\00", align 1
>>> + at .str10 = private unnamed_addr constant [24 x i8] c"\0A Found unknown
>>> flag %s\00", align 1
>>> + at dfg_FLAGS = internal unnamed_addr global i32* null, align 4
>>> + at .str11 = private unnamed_addr constant [23 x i8] c"\0A Undefined symbol
>>> %s \00", align 1
>>> + at .str12 = private unnamed_addr constant [22 x i8] c" in precedence
>>> list.\0A\00", align 1
>>> + at dfg_PRECEDENCE = internal unnamed_addr global i32* null, align 4
>>> + at dfg_USERPRECEDENCE = internal unnamed_addr global %struct.LIST_HELP*
>>> null, align 4
>>> + at .str13 = private unnamed_addr constant [21 x i8] c"in precedence
>>> list.\0A\00", align 1
>>> + at .str14 = private unnamed_addr constant [27 x i8] c"\0A Invalid symbol
>>> status %s\00", align 1
>>> + at .str15 = private unnamed_addr constant [21 x i8] c" in precedence
>>> list.\00", align 1
>>> + at 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
>>> + at 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 -35
>>>   6, i16 -356, i16 425, i16 207], align 2
>>> + at 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
>>> + at 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, i3!
>>>   2 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, i!
>>>   32 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]!
>>>   * @.str10
>>>   6, 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* getelement!
>>>   ptr inbou
>>>   nds ([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!
>>>   * getelem
>>>   entptr 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]* @.str1!
>>>   53, 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* getel!
>>>   ementptr
>>>   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
>>> + at .str16 = private unnamed_addr constant [25 x i8] c"parse error,
>>> unexpected \00", align 1
>>> + at .str17 = private unnamed_addr constant [13 x i8] c", expecting \00",
>>> align 1
>>> + at .str18 = private unnamed_addr constant [5 x i8] c" or \00", align 1
>>> + at .str20 = private unnamed_addr constant [12 x i8] c"parse error\00",
>>> align 1
>>> + at .str21 = private unnamed_addr constant [22 x i8] c"parser stack
>>> overflow\00", align 1
>>> + at .str22 = private unnamed_addr constant [15 x i8] c"\0A Line %i:
>>> %s\0A\00", align 1
>>> + at .str24 = private unnamed_addr constant [12 x i8] c"satisfiable\00",
>>> align 1
>>> + at .str25 = private unnamed_addr constant [14 x i8] c"unsatisfiable\00",
>>> align 1
>>> + at .str26 = private unnamed_addr constant [8 x i8] c"unknown\00", align 1
>>> + at stderr = external global %struct._IO_FILE*
>>> + at .str27 = private unnamed_addr constant [31 x i8] c"\0A\09Error in file
>>> %s at line %d\0A\00", align 1
>>> + at .str28 = private unnamed_addr constant [12 x i8] c"dfgparser.y\00",
>>> align 1
>>> + at .str29 = private unnamed_addr constant [47 x i8] c"\0A In
>>> dfg_ProblemStatusString: Invalid status.\0A\00", align 1
>>> + at .str30 = private unnamed_addr constant [133 x i8] c"\0A Please report
>>> this error via email to spass at mpi-sb.mpg.de including\0A the SPASS version,
>>> input problem, options, operating system.\0A\00", align 1
>>> + at .str31 = private unnamed_addr constant [30 x i8]
>>> c"list_of_descriptions.\0A  name(\00", align 1
>>> + at .str32 = private unnamed_addr constant [6 x i8] c"{* *}\00", align 1
>>> + at .str33 = private unnamed_addr constant [13 x i8] c").\0A  author(\00",
>>> align 1
>>> + at .str34 = private unnamed_addr constant [4 x i8] c").\0A\00", align 1
>>> + at .str35 = private unnamed_addr constant [11 x i8] c"  version(\00", align
>>> 1
>>> + at .str36 = private unnamed_addr constant [9 x i8] c"  logic(\00", align 1
>>> + at .str37 = private unnamed_addr constant [10 x i8] c"  status(\00", align
>>> 1
>>> + at .str38 = private unnamed_addr constant [18 x i8] c").\0A
>>> description(\00", align 1
>>> + at .str39 = private unnamed_addr constant [8 x i8] c"  date(\00", align 1
>>> + at .str40 = private unnamed_addr constant [13 x i8] c"end_of_list.\00",
>>> align 1
>>> + at dfg_VARLIST = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at .str41 = private unnamed_addr constant [55 x i8] c"\0A In dfg_VarCheck:
>>> List of variables should be empty!\0A\00", align 1
>>> + at symbol_STANDARDVARCOUNTER = external global i32
>>> + at memory_FREEDBYTES = external global i32
>>> + at memory_ARRAY = external global [0 x %struct.MEMORY_RESOURCEHELP*]
>>> + at dfg_VARDECL = internal unnamed_addr global i1 false
>>> + at dfg_SYMBOLLIST = internal unnamed_addr global %struct.LIST_HELP* null,
>>> align 4
>>> + at symbol_TYPESTATBITS = external constant i32
>>> + at symbol_SIGNATURE = external global %struct.signature**
>>> + at .str42 = private unnamed_addr constant [44 x i8] c"\0A Line %d: Symbol
>>> is not a sort predicate.\0A\00", align 1
>>> + at .str43 = private unnamed_addr constant [33 x i8] c"\0A Line %d:
>>> undefined symbol %s.\0A\00", align 1
>>> + at .str44 = private unnamed_addr constant [38 x i8] c"\0A Line %d: Symbol
>>> is not a function.\0A\00", align 1
>>> + at symbol_TYPEMASK = external constant i32
>>> + at fol_FALSE = external global i32
>>> + at fol_TRUE = external global i32
>>> + at .str45 = private unnamed_addr constant [33 x i8] c"\0A Line %d:
>>> Undefined symbol %s.\0A\00", align 1
>>> + at .str46 = private unnamed_addr constant [30 x i8] c"\0A Line %u: Free
>>> Variable %s.\0A\00", align 1
>>> + at .str47 = private unnamed_addr constant [11 x i8] c"\0A Line %u:\00",
>>> align 1
>>> + at .str48 = private unnamed_addr constant [21 x i8] c" The actual arity
>>> %u\00", align 1
>>> + at .str49 = private unnamed_addr constant [22 x i8] c" of symbol %s
>>> differs\00", align 1
>>> + at .str50 = private unnamed_addr constant [30 x i8] c" from the previous
>>> arity %u.\0A\00", align 1
>>> + at .str51 = private unnamed_addr constant [50 x i8] c"\0A Line %u: Symbol
>>> %s was declared with arity %u.\0A\00", align 1
>>> + at .str52 = private unnamed_addr constant [58 x i8] c"\0A Line %u: symbols
>>> with arbitrary arity are not allowed.\0A\00", align 1
>>> + at .str53 = private unnamed_addr constant [46 x i8] c"\0A Line %u: symbol
>>> %s was already declared as \00", align 1
>>> + at .str54 = private unnamed_addr constant [11 x i8] c"function.\0A\00",
>>> align 1
>>> + at .str55 = private unnamed_addr constant [12 x i8] c"predicate.\0A\00",
>>> align 1
>>> + at .str56 = private unnamed_addr constant [10 x i8] c"junctor.\0A\00",
>>> align 1
>>> + at .str57 = private unnamed_addr constant [15 x i8] c"unknown type.\0A\00",
>>> align 1
>>> + at .str58 = private unnamed_addr constant [57 x i8] c"\0A Line %u: symbol
>>> %s was already declared with arity %d\0A\00", align 1
>>> + at stack_POINTER = external global i32
>>> + at dfg_in = external global %struct._IO_FILE*
>>> + at .str59 = private unnamed_addr constant [3 x i8] c"\0A\0A\00", align 1
>>> + at .str60 = private unnamed_addr constant [5 x i8] c"$end\00", align 1
>>> + at .str61 = private unnamed_addr constant [6 x i8] c"error\00", align 1
>>> + at .str62 = private unnamed_addr constant [11 x i8] c"$undefined\00", align
>>> 1
>>> + at .str63 = private unnamed_addr constant [8 x i8] c"DFG_AND\00", align 1
>>> + at .str64 = private unnamed_addr constant [11 x i8] c"DFG_AUTHOR\00", align
>>> 1
>>> + at .str65 = private unnamed_addr constant [11 x i8] c"DFG_AXIOMS\00", align
>>> 1
>>> + at .str66 = private unnamed_addr constant [12 x i8] c"DFG_BEGPROB\00",
>>> align 1
>>> + at .str67 = private unnamed_addr constant [7 x i8] c"DFG_BY\00", align 1
>>> + at .str68 = private unnamed_addr constant [11 x i8] c"DFG_CLAUSE\00", align
>>> 1
>>> + at .str69 = private unnamed_addr constant [15 x i8] c"DFG_CLOSEBRACE\00",
>>> align 1
>>> + at .str70 = private unnamed_addr constant [12 x i8] c"DFG_CLSLIST\00",
>>> align 1
>>> + at .str71 = private unnamed_addr constant [8 x i8] c"DFG_CNF\00", align 1
>>> + at .str72 = private unnamed_addr constant [12 x i8] c"DFG_CONJECS\00",
>>> align 1
>>> + at .str73 = private unnamed_addr constant [9 x i8] c"DFG_DATE\00", align 1
>>> + at .str74 = private unnamed_addr constant [13 x i8] c"DFG_DECLLIST\00",
>>> align 1
>>> + at .str75 = private unnamed_addr constant [9 x i8] c"DFG_DESC\00", align 1
>>> + at .str76 = private unnamed_addr constant [13 x i8] c"DFG_DESCLIST\00",
>>> align 1
>>> + at .str77 = private unnamed_addr constant [8 x i8] c"DFG_DNF\00", align 1
>>> + at .str78 = private unnamed_addr constant [12 x i8] c"DFG_DOMPRED\00",
>>> align 1
>>> + at .str79 = private unnamed_addr constant [12 x i8] c"DFG_ENDLIST\00",
>>> align 1
>>> + at .str80 = private unnamed_addr constant [12 x i8] c"DFG_ENDPROB\00",
>>> align 1
>>> + at .str81 = private unnamed_addr constant [10 x i8] c"DFG_EQUAL\00", align
>>> 1
>>> + at .str82 = private unnamed_addr constant [10 x i8] c"DFG_EQUIV\00", align
>>> 1
>>> + at .str83 = private unnamed_addr constant [11 x i8] c"DFG_EXISTS\00", align
>>> 1
>>> + at .str84 = private unnamed_addr constant [10 x i8] c"DFG_FALSE\00", align
>>> 1
>>> + at .str85 = private unnamed_addr constant [13 x i8] c"DFG_FORMLIST\00",
>>> align 1
>>> + at .str86 = private unnamed_addr constant [12 x i8] c"DFG_FORMULA\00",
>>> align 1
>>> + at .str87 = private unnamed_addr constant [11 x i8] c"DFG_FORALL\00", align
>>> 1
>>> + at .str88 = private unnamed_addr constant [11 x i8] c"DFG_FREELY\00", align
>>> 1
>>> + at .str89 = private unnamed_addr constant [9 x i8] c"DFG_FUNC\00", align 1
>>> + at .str90 = private unnamed_addr constant [14 x i8] c"DFG_GENERATED\00",
>>> align 1
>>> + at .str91 = private unnamed_addr constant [11 x i8] c"DFG_GENSET\00", align
>>> 1
>>> + at .str92 = private unnamed_addr constant [11 x i8] c"DFG_HYPOTH\00", align
>>> 1
>>> + at .str93 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIED\00",
>>> align 1
>>> + at .str94 = private unnamed_addr constant [12 x i8] c"DFG_IMPLIES\00",
>>> align 1
>>> + at .str95 = private unnamed_addr constant [10 x i8] c"DFG_LOGIC\00", align
>>> 1
>>> + at .str96 = private unnamed_addr constant [9 x i8] c"DFG_NAME\00", align 1
>>> + at .str97 = private unnamed_addr constant [8 x i8] c"DFG_NOT\00", align 1
>>> + at .str98 = private unnamed_addr constant [14 x i8] c"DFG_OPENBRACE\00",
>>> align 1
>>> + at .str99 = private unnamed_addr constant [11 x i8] c"DFG_OPERAT\00", align
>>> 1
>>> + at .str100 = private unnamed_addr constant [7 x i8] c"DFG_OR\00", align 1
>>> + at .str101 = private unnamed_addr constant [9 x i8] c"DFG_PREC\00", align 1
>>> + at .str102 = private unnamed_addr constant [9 x i8] c"DFG_PRED\00", align 1
>>> + at .str103 = private unnamed_addr constant [12 x i8] c"DFG_PRDICAT\00",
>>> align 1
>>> + at .str104 = private unnamed_addr constant [12 x i8] c"DFG_PRFLIST\00",
>>> align 1
>>> + at .str105 = private unnamed_addr constant [12 x i8] c"DFG_QUANTIF\00",
>>> align 1
>>> + at .str106 = private unnamed_addr constant [10 x i8] c"DFG_SATIS\00", align
>>> 1
>>> + at .str107 = private unnamed_addr constant [12 x i8] c"DFG_SETFLAG\00",
>>> align 1
>>> + at .str108 = private unnamed_addr constant [13 x i8] c"DFG_SETTINGS\00",
>>> align 1
>>> + at .str109 = private unnamed_addr constant [12 x i8] c"DFG_SYMLIST\00",
>>> align 1
>>> + at .str110 = private unnamed_addr constant [9 x i8] c"DFG_SORT\00", align 1
>>> + at .str111 = private unnamed_addr constant [10 x i8] c"DFG_SORTS\00", align
>>> 1
>>> + at .str112 = private unnamed_addr constant [11 x i8] c"DFG_STATUS\00",
>>> align 1
>>> + at .str113 = private unnamed_addr constant [9 x i8] c"DFG_STEP\00", align 1
>>> + at .str114 = private unnamed_addr constant [12 x i8] c"DFG_SUBSORT\00",
>>> align 1
>>> + at .str115 = private unnamed_addr constant [13 x i8] c"DFG_TERMLIST\00",
>>> align 1
>>> + at .str116 = private unnamed_addr constant [9 x i8] c"DFG_TRUE\00", align 1
>>> + at .str117 = private unnamed_addr constant [12 x i8] c"DFG_UNKNOWN\00",
>>> align 1
>>> + at .str118 = private unnamed_addr constant [12 x i8] c"DFG_UNSATIS\00",
>>> align 1
>>> + at .str119 = private unnamed_addr constant [12 x i8] c"DFG_VERSION\00",
>>> align 1
>>> + at .str120 = private unnamed_addr constant [8 x i8] c"DFG_NUM\00", align 1
>>> + at .str121 = private unnamed_addr constant [11 x i8] c"DFG_MINUS1\00",
>>> align 1
>>> + at .str122 = private unnamed_addr constant [7 x i8] c"DFG_ID\00", align 1
>>> + at .str123 = private unnamed_addr constant [9 x i8] c"DFG_TEXT\00", align 1
>>> + at .str124 = private unnamed_addr constant [4 x i8] c"'('\00", align 1
>>> + at .str125 = private unnamed_addr constant [4 x i8] c"')'\00", align 1
>>> + at .str126 = private unnamed_addr constant [4 x i8] c"'.'\00", align 1
>>> + at .str127 = private unnamed_addr constant [4 x i8] c"'['\00", align 1
>>> + at .str128 = private unnamed_addr constant [4 x i8] c"']'\00", align 1
>>> + at .str129 = private unnamed_addr constant [4 x i8] c"','\00", align 1
>>> + at .str130 = private unnamed_addr constant [4 x i8] c"':'\00", align 1
>>> + at .str131 = private unnamed_addr constant [8 x i8] c"$accept\00", align 1
>>> + at .str132 = private unnamed_addr constant [8 x i8] c"problem\00", align 1
>>> + at .str133 = private unnamed_addr constant [12 x i8] c"description\00",
>>> align 1
>>> + at .str134 = private unnamed_addr constant [5 x i8] c"name\00", align 1
>>> + at .str135 = private unnamed_addr constant [7 x i8] c"author\00", align 1
>>> + at .str136 = private unnamed_addr constant [7 x i8] c"status\00", align 1
>>> + at .str137 = private unnamed_addr constant [9 x i8] c"desctext\00", align 1
>>> + at .str138 = private unnamed_addr constant [11 x i8] c"versionopt\00",
>>> align 1
>>> + at .str139 = private unnamed_addr constant [9 x i8] c"logicopt\00", align 1
>>> + at .str140 = private unnamed_addr constant [8 x i8] c"dateopt\00", align 1
>>> + at .str141 = private unnamed_addr constant [10 x i8] c"log_state\00", align
>>> 1
>>> + at .str142 = private unnamed_addr constant [12 x i8] c"logicalpart\00",
>>> align 1
>>> + at .str143 = private unnamed_addr constant [14 x i8] c"symbollistopt\00",
>>> align 1
>>> + at .str144 = private unnamed_addr constant [13 x i8] c"functionsopt\00",
>>> align 1
>>> + at .str145 = private unnamed_addr constant [13 x i8] c"functionlist\00",
>>> align 1
>>> + at .str146 = private unnamed_addr constant [5 x i8] c"func\00", align 1
>>> + at .str147 = private unnamed_addr constant [14 x i8] c"predicatesopt\00",
>>> align 1
>>> + at .str148 = private unnamed_addr constant [14 x i8] c"predicatelist\00",
>>> align 1
>>> + at .str149 = private unnamed_addr constant [5 x i8] c"pred\00", align 1
>>> + at .str150 = private unnamed_addr constant [9 x i8] c"sortsopt\00", align 1
>>> + at .str151 = private unnamed_addr constant [9 x i8] c"sortlist\00", align 1
>>> + at .str152 = private unnamed_addr constant [13 x i8] c"operatorsopt\00",
>>> align 1
>>> + at .str153 = private unnamed_addr constant [13 x i8] c"operatorlist\00",
>>> align 1
>>> + at .str154 = private unnamed_addr constant [3 x i8] c"op\00", align 1
>>> + at .str155 = private unnamed_addr constant [15 x i8] c"quantifiersopt\00",
>>> align 1
>>> + at .str156 = private unnamed_addr constant [15 x i8] c"quantifierlist\00",
>>> align 1
>>> + at .str157 = private unnamed_addr constant [6 x i8] c"quant\00", align 1
>>> + at .str158 = private unnamed_addr constant [7 x i8] c"number\00", align 1
>>> + at .str159 = private unnamed_addr constant [19 x i8]
>>> c"declarationlistopt\00", align 1
>>> + at .str160 = private unnamed_addr constant [12 x i8] c"decllistopt\00",
>>> align 1
>>> + at .str161 = private unnamed_addr constant [5 x i8] c"decl\00", align 1
>>> + at .str162 = private unnamed_addr constant [3 x i8] c"@1\00", align 1
>>> + at .str163 = private unnamed_addr constant [3 x i8] c"@2\00", align 1
>>> + at .str164 = private unnamed_addr constant [8 x i8] c"gendecl\00", align 1
>>> + at .str165 = private unnamed_addr constant [10 x i8] c"freelyopt\00", align
>>> 1
>>> + at .str166 = private unnamed_addr constant [9 x i8] c"funclist\00", align 1
>>> + at .str167 = private unnamed_addr constant [9 x i8] c"sortdecl\00", align 1
>>> + at .str168 = private unnamed_addr constant [12 x i8] c"formulalist\00",
>>> align 1
>>> + at .str169 = private unnamed_addr constant [7 x i8] c"origin\00", align 1
>>> + at .str170 = private unnamed_addr constant [16 x i8] c"formulalistsopt\00",
>>> align 1
>>> + at .str171 = private unnamed_addr constant [15 x i8] c"formulalistopt\00",
>>> align 1
>>> + at .str172 = private unnamed_addr constant [9 x i8] c"labelopt\00", align 1
>>> + at .str173 = private unnamed_addr constant [8 x i8] c"formula\00", align 1
>>> + at .str174 = private unnamed_addr constant [3 x i8] c"@3\00", align 1
>>> + at .str175 = private unnamed_addr constant [3 x i8] c"@4\00", align 1
>>> + at .str176 = private unnamed_addr constant [11 x i8] c"formulaopt\00",
>>> align 1
>>> + at .str177 = private unnamed_addr constant [8 x i8] c"arglist\00", align 1
>>> + at .str178 = private unnamed_addr constant [10 x i8] c"binsymbol\00", align
>>> 1
>>> + at .str179 = private unnamed_addr constant [8 x i8] c"nsymbol\00", align 1
>>> + at .str180 = private unnamed_addr constant [12 x i8] c"quantsymbol\00",
>>> align 1
>>> + at .str181 = private unnamed_addr constant [3 x i8] c"id\00", align 1
>>> + at .str182 = private unnamed_addr constant [10 x i8] c"qtermlist\00", align
>>> 1
>>> + at .str183 = private unnamed_addr constant [6 x i8] c"qterm\00", align 1
>>> + at .str184 = private unnamed_addr constant [15 x i8] c"clauselistsopt\00",
>>> align 1
>>> + at .str185 = private unnamed_addr constant [11 x i8] c"clauselist\00",
>>> align 1
>>> + at .str186 = private unnamed_addr constant [3 x i8] c"@5\00", align 1
>>> + at .str187 = private unnamed_addr constant [14 x i8] c"cnfclausesopt\00",
>>> align 1
>>> + at .str188 = private unnamed_addr constant [13 x i8] c"cnfclauseopt\00",
>>> align 1
>>> + at .str189 = private unnamed_addr constant [10 x i8] c"cnfclause\00", align
>>> 1
>>> + at .str190 = private unnamed_addr constant [3 x i8] c"@6\00", align 1
>>> + at .str191 = private unnamed_addr constant [3 x i8] c"@7\00", align 1
>>> + at .str192 = private unnamed_addr constant [14 x i8] c"cnfclausebody\00",
>>> align 1
>>> + at .str193 = private unnamed_addr constant [8 x i8] c"litlist\00", align 1
>>> + at .str194 = private unnamed_addr constant [4 x i8] c"lit\00", align 1
>>> + at .str195 = private unnamed_addr constant [9 x i8] c"atomlist\00", align 1
>>> + at .str196 = private unnamed_addr constant [5 x i8] c"atom\00", align 1
>>> + at .str197 = private unnamed_addr constant [14 x i8] c"dnfclausesopt\00",
>>> align 1
>>> + at .str198 = private unnamed_addr constant [13 x i8] c"dnfclauseopt\00",
>>> align 1
>>> + at .str199 = private unnamed_addr constant [10 x i8] c"dnfclause\00", align
>>> 1
>>> + at .str200 = private unnamed_addr constant [14 x i8] c"dnfclausebody\00",
>>> align 1
>>> + at .str201 = private unnamed_addr constant [5 x i8] c"term\00", align 1
>>> + at .str202 = private unnamed_addr constant [9 x i8] c"termlist\00", align 1
>>> + at .str203 = private unnamed_addr constant [14 x i8] c"prooflistsopt\00",
>>> align 1
>>> + at .str204 = private unnamed_addr constant [10 x i8] c"prooflist\00", align
>>> 1
>>> + at .str205 = private unnamed_addr constant [3 x i8] c"@8\00", align 1
>>> + at .str206 = private unnamed_addr constant [13 x i8] c"prooflistopt\00",
>>> align 1
>>> + at .str207 = private unnamed_addr constant [11 x i8] c"parentlist\00",
>>> align 1
>>> + at .str208 = private unnamed_addr constant [13 x i8] c"assoclistopt\00",
>>> align 1
>>> + at .str209 = private unnamed_addr constant [10 x i8] c"assoclist\00", align
>>> 1
>>> + at .str210 = private unnamed_addr constant [14 x i8] c"id_or_formula\00",
>>> align 1
>>> + at .str211 = private unnamed_addr constant [3 x i8] c"@9\00", align 1
>>> + at .str212 = private unnamed_addr constant [10 x i8] c"anysymbol\00", align
>>> 1
>>> + at .str213 = private unnamed_addr constant [8 x i8] c"optargs\00", align 1
>>> + at .str214 = private unnamed_addr constant [7 x i8] c"clause\00", align 1
>>> + at .str215 = private unnamed_addr constant [15 x i8] c"listOfTermsopt\00",
>>> align 1
>>> + at .str216 = private unnamed_addr constant [12 x i8] c"listOfTerms\00",
>>> align 1
>>> + at .str217 = private unnamed_addr constant [4 x i8] c"@10\00", align 1
>>> + at .str218 = private unnamed_addr constant [6 x i8] c"terms\00", align 1
>>> + at .str219 = private unnamed_addr constant [16 x i8] c"settinglistsopt\00",
>>> align 1
>>> + at .str220 = private unnamed_addr constant [12 x i8] c"settinglist\00",
>>> align 1
>>> + at .str221 = private unnamed_addr constant [4 x i8] c"@11\00", align 1
>>> + at .str222 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
>>> + at .str223 = private unnamed_addr constant [11 x i8] c"spassflags\00",
>>> align 1
>>> + at .str224 = private unnamed_addr constant [10 x i8] c"spassflag\00", align
>>> 1
>>> + at .str225 = private unnamed_addr constant [9 x i8] c"preclist\00", align 1
>>> + at .str226 = private unnamed_addr constant [9 x i8] c"precitem\00", align 1
>>> + at .str227 = private unnamed_addr constant [8 x i8] c"statopt\00", align 1
>>> + at .str228 = private unnamed_addr constant [10 x i8] c"gsettings\00", align
>>> 1
>>> + at .str229 = private unnamed_addr constant [9 x i8] c"gsetting\00", align 1
>>> + at .str230 = private unnamed_addr constant [10 x i8] c"labellist\00", align
>>> 1
>>> + at .str231 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag
>>> value %d is too small for flag %s.\0A\00", align 1
>>> + at .str232 = private unnamed_addr constant [50 x i8] c"\0A Error: Flag
>>> value %d is too large for flag %s.\0A\00", align 1
>>> + at .str233 = private unnamed_addr constant [31 x i8] c"\0A Line %d: is not
>>> a function.\0A\00", align 1
>>> + at fol_EQUALITY = external global i32
>>> + at stack_STACK = external global [10000 x i8*]
>>> + at fol_EXIST = external global i32
>>> + at fol_OR = external global i32
>>> + at fol_AND = external global i32
>>> + at fol_IMPLIES = external global i32
>>> + at fol_IMPLIED = external global i32
>>> + at fol_EQUIV = external global i32
>>> + at fol_NOT = external global i32
>>> + at 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, %lis!
>>>   t_Nconc.e
>>>   xit1995, %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, %s!
>>>   w.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 }
>>> +
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>





More information about the llvm-commits mailing list