// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/poly.c
// Function: divide_function_into_parts
void divide_function_into_parts(char* st, char* parts[6])
{
	/*!Last Changed 19.01.2005*/
	int i, len = strlen(st), mode = 0, pos, parenthesis = 0;
	char line[READLINELENGTH], *data;
	for (i = 0; i < 6; i++)
		 parts[i] = NULL;
	i = 0;
	pos = 0;
	while (i < len)
	 {
		 if ((st[i] >= '0' && st[i] <= '9') || st[i] == '.' || st[i] == '-' || st[i] == '+' || (parenthesis == 1 && st[i] != ')'))
			 {
				 line[pos] = st[i];
					pos++;
					line[pos] = '\0';
			 }
			else
				 if (st[i] == 'x')
					 {
						 if (pos != 0)
							 {
								 data = strcopy(data, line);
									parts[mode] = data;
							 }
						 mode = 1;
							pos = 0;
					 }
					else
						 if (st[i] == 's')
							 {
  						 if (pos != 0)
									 {
							  	 data = strcopy(data, line);
							  		parts[mode] = data;
									 }
								 else
										 if (mode == 1)
											 {
												 data = strcopy(data, "1");
													parts[1] = data;
											 }
								 i += 2;
									mode = 2;
									pos = 0;
							 }
							else
								 if (st[i] == 'c')
									 {
    						 if (pos != 0)
											 {
							    	 data = strcopy(data, line);
							    		parts[mode] = data;
											 }
								   else
									  	 if (mode == 1)
													 {
										  		 data = strcopy(data, "1");
										  			parts[1] = data;
													 }
								   i += 2;
									  mode = 4;
									  pos = 0;
									 }
									else
										 if (st[i] == '(')
											 {
      						 if (pos != 0)
													 {
							      	 data = strcopy(data, line);
							    	  	parts[mode] = data;
													 }
													else
													 {
										  		 data = strcopy(data, "1");
							    	  	parts[mode] = data;
													 }
													mode++;
													pos = 0;
												 parenthesis = 1;
											 }
											else
												 if (st[i] == ')')
													 {
							      	 data = strcopy(data, line);
							    	  	parts[mode] = data;
														 parenthesis = 0;
														 pos = 0;
													 }
		 i++;
	 }
 if (pos != 0)
		{
			data = strcopy(data, line);
			parts[mode] = data;
		}
	else
		 if (mode == 1)
				{
					data = strcopy(data, "1");
					parts[1] = data;
				}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7a160, %rsp          # imm = 0x7A160
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4150
movl %eax, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x6, -0x14(%rbp)
jge 0x81665
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x81644
movl $0x0, -0x14(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x81990
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x816a1
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x816eb
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
je 0x816eb
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2d, %eax
je 0x816eb
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2b, %eax
je 0x816eb
cmpl $0x1, -0x24(%rbp)
jne 0x8171b
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
je 0x8171b
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movb (%rax,%rcx), %cl
movslq -0x20(%rbp), %rax
movb %cl, -0x7a150(%rbp,%rax)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
movslq -0x20(%rbp), %rax
movb $0x0, -0x7a150(%rbp,%rax)
jmp 0x81982
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x78, %eax
jne 0x81772
cmpl $0x0, -0x20(%rbp)
je 0x8175f
movq -0x7a158(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl $0x1, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
jmp 0x81980
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x73, %eax
jne 0x81809
cmpl $0x0, -0x20(%rbp)
je 0x817bc
movq -0x7a158(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x817ed
cmpl $0x1, -0x1c(%rbp)
jne 0x817eb
movq -0x7a158(%rbp), %rdi
leaq 0x6b899(%rip), %rsi     # 0xed069
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x817ed
movl -0x14(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x14(%rbp)
movl $0x2, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
jmp 0x8197e
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x63, %eax
jne 0x818a0
cmpl $0x0, -0x20(%rbp)
je 0x81853
movq -0x7a158(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x81884
cmpl $0x1, -0x1c(%rbp)
jne 0x81882
movq -0x7a158(%rbp), %rdi
leaq 0x6b802(%rip), %rsi     # 0xed069
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x81884
movl -0x14(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x14(%rbp)
movl $0x4, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
jmp 0x8197c
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x28, %eax
jne 0x8192c
cmpl $0x0, -0x20(%rbp)
je 0x818e6
movq -0x7a158(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x81913
movq -0x7a158(%rbp), %rdi
leaq 0x6b775(%rip), %rsi     # 0xed069
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0x8197a
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x81978
movq -0x7a158(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x20(%rbp)
jmp 0x8197a
jmp 0x8197c
jmp 0x8197e
jmp 0x81980
jmp 0x81982
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x81673
cmpl $0x0, -0x20(%rbp)
je 0x819c5
movq -0x7a158(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x819f6
cmpl $0x1, -0x1c(%rbp)
jne 0x819f4
movq -0x7a158(%rbp), %rdi
leaq 0x6b690(%rip), %rsi     # 0xed069
callq 0x54ba0
movq %rax, -0x7a158(%rbp)
movq -0x7a158(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x819f6
addq $0x7a160, %rsp          # imm = 0x7A160
popq %rbp
retq
nop