[llvm] r183633 - Fix a regression I introduced when I expanded the complex pseudos in
reed kotler
rkotler at mips.com
Sun Jun 9 18:50:36 PDT 2013
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
> <mailto: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
> <mailto: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 <http://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 <http://for.body.lr.ph>
> +
> +for.body.lr.ph <http://for.body.lr.ph>: ; preds =
> %for.cond.preheader
> + %26 = getelementptr inbounds %union.yystype* %arrayidx1052, i32
> 0, i32 0
> + br label %for.body
> +
> +sw.bb <http://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 <http://for.body.lr.ph>, %if.end1075
> + %479 = phi %struct.LIST_HELP* [ %25, %for.body.lr.ph
> <http://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 <http://sw.bb>
> + %yyresult.0 = phi i32 [ 0, %sw.bb <http://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
> <http://for.body.lr.ph>
> +
> +for.body.lr.ph <http://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 <http://for.body.lr.ph>, %for.inc
> + %scan.081 = phi %struct.LIST_HELP* [ %literals.0,
> %for.body.lr.ph <http://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 <mailto:llvm-commits at cs.uiuc.edu>
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130609/004cad54/attachment.html>
More information about the llvm-commits
mailing list