// File: /workspace/github_cpp_makefile_star2_O3/thierry7100[P]CutOptim/include/nanosvg.h
// Function: nsvg__parseLine(NSVGparser*, char const**)
static void nsvg__parseLine(NSVGparser* p, const char** attr)
{
	double x1 = 0.0;
	double y1 = 0.0;
	double x2 = 0.0;
	double y2 = 0.0;
	int i;

	for (i = 0; attr[i]; i += 2) {
		if (!nsvg__parseAttr(p, attr[i], attr[i + 1])) {
			if (strcmp(attr[i], "x1") == 0) x1 = nsvg__parseCoordinate(p, attr[i + 1], nsvg__actualOrigX(p), nsvg__actualWidth(p));
			if (strcmp(attr[i], "y1") == 0) y1 = nsvg__parseCoordinate(p, attr[i + 1], nsvg__actualOrigY(p), nsvg__actualHeight(p));
			if (strcmp(attr[i], "x2") == 0) x2 = nsvg__parseCoordinate(p, attr[i + 1], nsvg__actualOrigX(p), nsvg__actualWidth(p));
			if (strcmp(attr[i], "y2") == 0) y2 = nsvg__parseCoordinate(p, attr[i + 1], nsvg__actualOrigY(p), nsvg__actualHeight(p));
		}
	}

	nsvg__resetPath(p);

	nsvg__moveTo(p, x1, y1);
	nsvg__lineTo(p, x2, y2);

	nsvg__addPath(p, 0);

	nsvg__addShape(p);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rsi
xorps %xmm0, %xmm0
testq %rsi, %rsi
je 0x38580
movsd %xmm0, 0x18(%rsp)
movsd %xmm0, 0x28(%rsp)
movsd %xmm0, 0x10(%rsp)
movsd %xmm0, 0x20(%rsp)
movq 0x8(%r14), %rdx
movq %rbx, %rdi
callq 0x38acd
testl %eax, %eax
je 0x383fb
movq 0x10(%r14), %rsi
addq $0x10, %r14
testq %rsi, %rsi
jne 0x383d9
jmp 0x38598
movq (%r14), %rax
movb (%rax), %cl
cmpb $0x78, %cl
jne 0x3845f
cmpb $0x31, 0x1(%rax)
jne 0x384c3
cmpb $0x0, 0x2(%rax)
jne 0x384c3
movq 0x8(%r14), %rdi
movsd 0xd050(%rbx), %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0xd060(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x39560
movq %rbx, %rdi
movl %eax, %esi
movsd 0x20(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x39e80
movsd %xmm0, 0x20(%rsp)
movq (%r14), %rax
movb (%rax), %cl
cmpb $0x79, %cl
jne 0x384be
cmpb $0x31, 0x1(%rax)
jne 0x38526
cmpb $0x0, 0x2(%rax)
jne 0x38526
movq 0x8(%r14), %rdi
movsd 0xd058(%rbx), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0xd068(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x39560
movq %rbx, %rdi
movl %eax, %esi
movsd 0x10(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x39e80
movsd %xmm0, 0x10(%rsp)
movq (%r14), %rax
movb (%rax), %cl
cmpb $0x78, %cl
jne 0x3851d
cmpb $0x32, 0x1(%rax)
jne 0x383e9
cmpb $0x0, 0x2(%rax)
jne 0x383e9
movq 0x8(%r14), %rdi
movsd 0xd050(%rbx), %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0xd060(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x39560
movq %rbx, %rdi
movl %eax, %esi
movsd 0x28(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x39e80
movsd %xmm0, 0x28(%rsp)
movq (%r14), %rax
movb (%rax), %cl
cmpb $0x79, %cl
jne 0x383e9
cmpb $0x32, 0x1(%rax)
jne 0x383e9
cmpb $0x0, 0x2(%rax)
jne 0x383e9
movq 0x8(%r14), %rdi
movsd 0xd058(%rbx), %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0xd068(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x39560
movq %rbx, %rdi
movl %eax, %esi
movsd 0x18(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x39e80
movsd %xmm0, 0x18(%rsp)
jmp 0x383e9
movsd %xmm0, 0x20(%rsp)
movsd %xmm0, 0x10(%rsp)
movsd %xmm0, 0x28(%rsp)
movsd %xmm0, 0x18(%rsp)
leaq 0xd008(%rbx), %r14
movq 0xd008(%rbx), %rdi
testq %rdi, %rdi
je 0x385bc
movq 0x38(%rdi), %r15
callq 0x7530
movq %r15, %rdi
testq %r15, %r15
jne 0x385ab
movl $0x0, 0xd028(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0xd018(%rbx)
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xd020(%rbx)
xorps %xmm2, %xmm2
xorps %xmm3, %xmm3
xorps %xmm4, %xmm4
xorps %xmm5, %xmm5
movq %rbx, %rdi
xorl %esi, %esi
movsd 0x28(%rsp), %xmm0
movsd 0x18(%rsp), %xmm1
callq 0x3a969
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3a260
movq %rbx, %rdi
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x3a63b