// File: /workspace/github_cpp_makefile_star2_O2/muk343[P]pmml/GraphGenerator.cpp
// Function: GraphGenerator::populatePredicate(Node*, TiXmlElement*)
void GraphGenerator::populatePredicate(Node* node, TiXmlElement* pElement) 
    {
        //Just for doubleCheck
        string nodeTag = "SimplePredicate";
        string trueTag = "True";
        if(!pElement || (nodeTag.compare(pElement->Value()) != 0 && trueTag.compare(pElement->Value()) !=0 )) 
        {
            cout<<"Expected predicate but didn't get it"<<endl;
            exit(-1);
            //nodeToReturn = getNodeDataFromThisNode
            //Add to the vector here
        }

        if (nodeTag.compare(pElement->Value()) == 0) {
            string field = pElement->Attribute("field");
            string currOperator = pElement->Attribute("operator");
            string value = pElement->Attribute("value");

            node->predicate_feature = field;
            node->predicate_operator = currOperator;
            node->predicate_value = stod(value);
            //cout<<"The loaded predicate values are field: "<<field<<" "<<" operator: "<<currOperator<<" value:  "<<value;    
        } else {
            node->predicate_feature = "true";
            node->predicate_operator = "true";
            node->predicate_value = 0.0;
        }

    }

// Assembly:
pushq %r14
pushq %rbx
subq $0xa8, %rsp
movq %rdx, %r14
movq %rsi, %rbx
leaq 0x342a(%rip), %rsi      # 0xbcf1
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x90b6
leaq 0x3421(%rip), %rsi      # 0xbd01
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x90b6
testq %r14, %r14
je 0x8a3e
movq 0x38(%r14), %rsi
addq $0x10, %rsi
leaq 0x88(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
je 0x892b
movq 0x38(%r14), %rsi
addq $0x10, %rsi
leaq 0x68(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x8a3e
movq 0x38(%r14), %rsi
addq $0x10, %rsi
leaq 0x88(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
je 0x896e
leaq 0x28(%rbx), %rdi
leaq 0x2906(%rip), %rsi      # 0xb255
callq 0x4420
leaq 0x48(%rbx), %rdi
leaq 0x28f6(%rip), %rsi      # 0xb255
callq 0x4420
andq $0x0, 0x68(%rbx)
jmp 0x8a1c
leaq 0x33b6(%rip), %rsi      # 0xbd2b
movq %r14, %rdi
callq 0x50c2
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %rax, %rsi
callq 0x90b6
leaq 0x339b(%rip), %rsi      # 0xbd31
movq %r14, %rdi
callq 0x50c2
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
movq %rax, %rsi
callq 0x90b6
leaq 0x3383(%rip), %rsi      # 0xbd3a
movq %r14, %rdi
callq 0x50c2
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
movq %rax, %rsi
callq 0x90b6
leaq 0x28(%rbx), %rdi
leaq 0x48(%rsp), %rsi
callq 0x4170
leaq 0x48(%rbx), %rdi
leaq 0x28(%rsp), %rsi
callq 0x4170
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x90f1
movsd %xmm0, 0x68(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x4120
leaq 0x28(%rsp), %rdi
callq 0x4120
leaq 0x48(%rsp), %rdi
callq 0x4120
leaq 0x68(%rsp), %rdi
callq 0x4120
leaq 0x88(%rsp), %rdi
callq 0x4120
addq $0xa8, %rsp
popq %rbx
popq %r14
retq
movq 0x957b(%rip), %rdi      # 0x11fc0
leaq 0x32ba(%rip), %rsi      # 0xbd06
callq 0x4200
movq %rax, %rdi
callq 0x4150
pushq $-0x1
popq %rdi
callq 0x4290
jmp 0x8a63
movq %rax, %rbx
jmp 0x8a85
jmp 0x8a6a
movq %rax, %rbx
jmp 0x8a8f
jmp 0x8a9b
jmp 0x8a9b
movq %rax, %rbx
jmp 0x8aa8
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4120
leaq 0x28(%rsp), %rdi
callq 0x4120
leaq 0x48(%rsp), %rdi
callq 0x4120
jmp 0x8a9e
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x4120
leaq 0x88(%rsp), %rdi
callq 0x4120
movq %rbx, %rdi
callq 0x43e0
nop