// File: /workspace/github_cpp_makefile_star2_O3/gioannides[P]Language_Processors/src/../include/ast/ast_node.hpp
// Function: Initializer::render_asm(std::basic_ofstream<char, std::char_traits<char>>&, Context&)
void render_asm(std::ofstream& file,Context& contxt) {
			
			if(InitializerListPtr != NULL ) {
				InitializerListPtr->render_asm(file,contxt);
			}
			
			if( AssignmentExpressionPtr != NULL) {
				contxt.no_of_initial_values++;
				AssignmentExpressionPtr->render_asm(file,contxt);
				if(!contxt.function && !contxt.function_dec) {
				 	
				if(contxt.Variables[contxt.good_i].Pointer){
					file << std::endl << "\t.word\t" << contxt.GlobalPointerValue; //contxt.variable.value;
					std::string str = contxt.GlobalPointerValue;
    					std::regex regex_pattern("[A-Za-z_]([A-Za-z_]|[0-9])*");
					contxt.AddressOf = std::regex_match(str,regex_pattern);   					
				}
				
				else if( contxt.variable.word_size > 4 ){					
					file << std::endl << "\t.double\t" << contxt.variable.value ; 	//TODO: Convert to IEEE-754 for FLOAT and DOUBLE
				}
				else if( (contxt.variable.word_size==4) && contxt.variable.DataType!="float"){
					file << std::endl << "\t.word\t" << contxt.eval[contxt.Regs+1]; //contxt.variable.value;
				}
				else if( (contxt.variable.word_size==4) && contxt.variable.DataType=="float"){
					file << std::endl << "\t.float\t" << contxt.eval_f[contxt.Regs+1]; //contxt.variable.value;
					contxt.float_ = false;
				}
				else if(contxt.variable.word_size==2){
					file << std::endl << "\t.half\t" << contxt.eval_f[contxt.Regs+1];
				}
				else if(contxt.variable.word_size==1){
					file << std::endl << "\t.byte\t" << contxt.eval[contxt.Regs+1];
				}
				        // reset the value of the global
				for(int i=contxt.Regs; i<=20; i++)
				{
					file << "\n#" << contxt.eval[i];
					contxt.eval[i] = 0; 
				}
				
				
				}
			}
		}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
movq 0x10(%rdi), %rdi
testq %rdi, %rdi
je 0x252d9
movq %r14, %rsi
movq %rbx, %rdx
callq 0x25618
movq 0x8(%r15), %rdi
testq %rdi, %rdi
je 0x2558f
incl 0x13e80(%rbx)
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1a310
cmpb $0x0, 0x218(%rbx)
jne 0x2558f
cmpb $0x0, 0x13e7c(%rbx)
jne 0x2558f
movslq 0x5b4(%rbx), %rax
movq 0x240(%rbx), %rcx
imulq $0xb0, %rax, %rax
cmpb $0x1, 0x9c(%rcx,%rax)
jne 0x25412
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7220
movq %rax, %r15
leaq 0x129ea(%rip), %rsi     # 0x37d4f
movl $0x7, %edx
movq %rax, %rdi
callq 0x73a0
movq 0x50(%rbx), %rsi
movq 0x58(%rbx), %rdx
movq %r15, %rdi
callq 0x73a0
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x50(%rbx), %rsi
movq 0x58(%rbx), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x8a78
leaq 0x129cb(%rip), %rsi     # 0x37d70
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x2565a
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
addq %rdi, %rsi
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdx
movaps %xmm0, 0x10(%rdx)
movaps %xmm0, (%rdx)
leaq 0x20(%rsp), %rcx
xorl %r8d, %r8d
callq 0x304db
movl %eax, %ebp
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x253ed
callq 0x72e0
movb %bpl, 0x49(%rbx)
leaq 0x20(%rsp), %rdi
callq 0x256c2
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2553e
callq 0x72e0
jmp 0x2553e
movl 0x258(%rbx), %eax
cmpl $0x5, %eax
jl 0x25470
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7220
movq %rax, %r15
leaq 0x128f7(%rip), %rsi     # 0x37d45
movl $0x9, %edx
movq %rax, %rdi
callq 0x73a0
movsd 0x280(%rbx), %xmm0
movq %r15, %rdi
callq 0x7540
jmp 0x2553e
cmpl $0x4, %eax
jne 0x254cb
leaq 0x2b0(%rbx), %r15
leaq 0x12102(%rip), %rsi     # 0x37585
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x254a3
movq %r14, %rdi
callq 0x7180
movq %rax, %r15
leaq 0x128ae(%rip), %rsi     # 0x37d4f
jmp 0x2551b
movl 0x258(%rbx), %eax
cmpl $0x4, %eax
jne 0x254cb
leaq 0x120d0(%rip), %rsi     # 0x37585
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x2559e
movl 0x258(%rbx), %eax
cmpl $0x1, %eax
je 0x25509
cmpl $0x2, %eax
jne 0x2553e
movq %r14, %rdi
callq 0x7180
movq %rax, %r15
leaq 0x12879(%rip), %rsi     # 0x37d60
movl $0x7, %edx
movq %rax, %rdi
callq 0x73a0
movslq 0x310(%rbx), %rax
cvtss2sd 0xa23c(%rbx,%rax,4), %xmm0
jmp 0x25463
movq %r14, %rdi
callq 0x7180
movq %rax, %r15
leaq 0x1284d(%rip), %rsi     # 0x37d68
movl $0x7, %edx
movq %rax, %rdi
callq 0x73a0
movslq 0x310(%rbx), %rax
movl 0x5fc(%rbx,%rax,4), %esi
movq %r15, %rdi
callq 0x75c0
movslq 0x310(%rbx), %r12
cmpq $0x14, %r12
jg 0x2558f
addq $0x17e, %r12            # imm = 0x17E
leaq 0x12833(%rip), %r15     # 0x37d8c
movq %r12, %r13
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x73a0
movl (%rbx,%r12,4), %esi
movq %r14, %rdi
callq 0x75c0
movl $0x0, (%rbx,%r12,4)
incq %r13
cmpl $0x192, %r12d           # imm = 0x192
movq %r13, %r12
jne 0x2555c
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r14, %rdi
callq 0x7180
movq %rax, %r15
leaq 0x127a7(%rip), %rsi     # 0x37d57
movl $0x8, %edx
movq %rax, %rdi
callq 0x73a0
movslq 0x310(%rbx), %rax
cvtss2sd 0xa23c(%rbx,%rax,4), %xmm0
movq %r15, %rdi
callq 0x7540
movb $0x0, 0x340(%rbx)
jmp 0x2553e
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x255f3
callq 0x72e0
leaq 0x20(%rsp), %rdi
callq 0x256c2
jmp 0x25602
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x25610
callq 0x72e0
movq %rbx, %rdi
callq 0x75f0