// File: /workspace/github_cpp_makefile_star2_O1/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rsi
xorps %xmm0, %xmm0
testq %rsi, %rsi
je 0x3929f
movsd %xmm0, 0x30(%rsp)
leaq 0x7bd5(%rip), %r15      # 0x40ce6
leaq 0x7bd1(%rip), %r12      # 0x40ce9
leaq 0x7bcd(%rip), %r13      # 0x40cec
leaq 0x7bc9(%rip), %rbp      # 0x40cef
movsd %xmm0, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
movsd %xmm0, 0x18(%rsp)
movq 0x8(%r14), %rdx
movq %rbx, %rdi
callq 0x39851
testl %eax, %eax
jne 0x3928c
movq (%r14), %rdi
movq %r15, %rsi
callq 0x7590
testl %eax, %eax
jne 0x3919c
movq 0x8(%r14), %rdi
movsd 0xd050(%rbx), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0xd060(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x3a344
movq %rbx, %rdi
movl %eax, %esi
movsd 0x10(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x3ad0d
movsd %xmm0, 0x18(%rsp)
movq (%r14), %rdi
movq %r12, %rsi
callq 0x7590
testl %eax, %eax
jne 0x391ec
movq 0x8(%r14), %rdi
movsd 0xd058(%rbx), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0xd068(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x3a344
movq %rbx, %rdi
movl %eax, %esi
movsd 0x10(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x3ad0d
movsd %xmm0, 0x20(%rsp)
movq (%r14), %rdi
movq %r13, %rsi
callq 0x7590
testl %eax, %eax
jne 0x3923c
movq 0x8(%r14), %rdi
movsd 0xd050(%rbx), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0xd060(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x3a344
movq %rbx, %rdi
movl %eax, %esi
movsd 0x10(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x3ad0d
movsd %xmm0, 0x28(%rsp)
movq (%r14), %rdi
movq %rbp, %rsi
callq 0x7590
testl %eax, %eax
jne 0x3928c
movq 0x8(%r14), %rdi
movsd 0xd058(%rbx), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0xd068(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
callq 0x3a344
movq %rbx, %rdi
movl %eax, %esi
movsd 0x10(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x3ad0d
movsd %xmm0, 0x30(%rsp)
movq 0x10(%r14), %rsi
addq $0x10, %r14
testq %rsi, %rsi
jne 0x39138
jmp 0x392b7
movsd %xmm0, 0x18(%rsp)
movsd %xmm0, 0x20(%rsp)
movsd %xmm0, 0x28(%rsp)
movsd %xmm0, 0x30(%rsp)
leaq 0xd008(%rbx), %r14
movq 0xd008(%rbx), %rdi
testq %rdi, %rdi
je 0x392db
movq 0x38(%rdi), %r15
callq 0x7520
movq %r15, %rdi
testq %r15, %r15
jne 0x392ca
movl $0x0, 0xd028(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
movsd 0x18(%rsp), %xmm0
movsd %xmm0, 0xd018(%rbx)
movsd 0x20(%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 0x30(%rsp), %xmm1
callq 0x3b95a
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3b0ec
movq %rbx, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3b5ad