// File: /workspace/github_cpp_makefile_star2_O3/dannycalegari[P]circle_pack/./Packing.cc
// Function: Packing::rescale()
void Packing::rescale(){
	int i;
	double t;
	if(geometry!='E'){
		cout << "can only normalize in Euclidean geometry!\n";
	} else {
		t=-1.0*rad[INFV]*rad[ZERV];
		if(verbose){
			cout << "INFV is " << INFV << " with radius " << rad[INFV] << "\n";
			cout << "ZERV is " << ZERV << " with radius " << rad[ZERV] << "\n";
			cout << "product of inner and outer radii are " << t << "\n";
		};
		for(i=0;i<(int) adj.size();i++){
			rad[i]=rad[i]/sqrt(t);
			center[i].x=center[i].x/sqrt(t);
			center[i].y=center[i].y/sqrt(t);
		};
	};
}

// Assembly:
cmpb $0x45, 0x60(%rdi)
jne 0x3fbc
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movslq 0xbc(%rdi), %rax
movq 0x18(%rdi), %rcx
movsd (%rcx,%rax,8), %xmm1
xorpd 0x62be(%rip), %xmm1     # 0xa020
movslq 0xc0(%rdi), %rax
mulsd (%rcx,%rax,8), %xmm1
cmpb $0x1, 0xb8(%rdi)
movapd %xmm1, 0x10(%rsp)
jne 0x3e88
movq 0xa248(%rip), %r14      # 0xdfd0
leaq 0x6410(%rip), %rsi      # 0xa19f
movl $0x8, %edx
movq %r14, %rdi
callq 0x2220
movl 0xbc(%rbx), %esi
movq %r14, %rdi
callq 0x2390
movq %rax, %r15
leaq 0x63f4(%rip), %r12      # 0xa1a8
movl $0xd, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2220
movslq 0xbc(%rbx), %rax
movq 0x18(%rbx), %rcx
movsd (%rcx,%rax,8), %xmm0
movq %r15, %rdi
callq 0x2330
leaq 0x693e(%rip), %r15      # 0xa721
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2220
leaq 0x63bc(%rip), %rsi      # 0xa1b6
movl $0x8, %edx
movq %r14, %rdi
callq 0x2220
movl 0xc0(%rbx), %esi
movq %r14, %rdi
callq 0x2390
movq %rax, %r13
movl $0xd, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2220
movslq 0xc0(%rbx), %rax
movq 0x18(%rbx), %rcx
movsd (%rcx,%rax,8), %xmm0
movq %r13, %rdi
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2220
leaq 0x6368(%rip), %rsi      # 0xa1bf
movl $0x25, %edx
movq %r14, %rdi
callq 0x2220
movq %r14, %rdi
movapd 0x10(%rsp), %xmm0
callq 0x2330
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2220
movapd 0x10(%rsp), %xmm1
movq 0x8(%rbx), %rax
subq (%rbx), %rax
shrq $0x3, %rax
imull $0xaaaaaaab, %eax, %eax # imm = 0xAAAAAAAB
testl %eax, %eax
jle 0x3fae
xorl %r14d, %r14d
sqrtsd %xmm1, %xmm2
xorpd %xmm3, %xmm3
xorl %r15d, %r15d
movsd %xmm2, 0x8(%rsp)
movq 0x18(%rbx), %rax
movsd (%rax,%r15,8), %xmm4
ucomisd %xmm3, %xmm1
movapd %xmm2, %xmm0
jae 0x3eec
movapd %xmm1, %xmm0
movsd %xmm4, (%rsp)
callq 0x2170
movsd (%rsp), %xmm4
xorpd %xmm3, %xmm3
movsd 0x8(%rsp), %xmm2
movapd 0x10(%rsp), %xmm1
divsd %xmm0, %xmm4
movq 0x18(%rbx), %rax
movsd %xmm4, (%rax,%r15,8)
movq 0xa0(%rbx), %rax
movsd (%rax,%r14), %xmm4
ucomisd %xmm3, %xmm1
movapd %xmm2, %xmm0
jae 0x3f34
movapd %xmm1, %xmm0
movsd %xmm4, (%rsp)
callq 0x2170
movsd (%rsp), %xmm4
xorpd %xmm3, %xmm3
movsd 0x8(%rsp), %xmm2
movapd 0x10(%rsp), %xmm1
divsd %xmm0, %xmm4
movq 0xa0(%rbx), %rax
movsd %xmm4, (%rax,%r14)
movsd 0x8(%rax,%r14), %xmm4
ucomisd %xmm3, %xmm1
movapd %xmm2, %xmm0
jae 0x3f79
movapd %xmm1, %xmm0
movsd %xmm4, (%rsp)
callq 0x2170
movsd (%rsp), %xmm4
xorpd %xmm3, %xmm3
movsd 0x8(%rsp), %xmm2
movapd 0x10(%rsp), %xmm1
divsd %xmm0, %xmm4
movq 0xa0(%rbx), %rax
movsd %xmm4, 0x8(%rax,%r14)
incq %r15
movq 0x8(%rbx), %rax
subq (%rbx), %rax
shrq $0x3, %rax
imull $0xaaaaaaab, %eax, %eax # imm = 0xAAAAAAAB
cltq
addq $0x18, %r14
cmpq %rax, %r15
jl 0x3eb5
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq 0xa00d(%rip), %rdi      # 0xdfd0
leaq 0x61aa(%rip), %rsi      # 0xa174
movl $0x2a, %edx
jmp 0x2220