// File: 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:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movsbl 0x60(%rax), %eax
cmpl $0x45, %eax
je 0x3e15
movq 0x141cc(%rip), %rdi     # 0x17fd0
leaq 0xd341(%rip), %rsi      # 0x1114c
callq 0x21f0
jmp 0x40b3
movq -0x20(%rbp), %rax
movq %rax, %rdi
addq $0x18, %rdi
movslq 0xbc(%rax), %rsi
callq 0xa270
movq %rax, %rcx
movq -0x20(%rbp), %rax
movsd 0xd1e5(%rip), %xmm0     # 0x11020
mulsd (%rcx), %xmm0
movsd %xmm0, -0x28(%rbp)
movq %rax, %rdi
addq $0x18, %rdi
movslq 0xc0(%rax), %rsi
callq 0xa270
movsd -0x28(%rbp), %xmm0
movq %rax, %rcx
movq -0x20(%rbp), %rax
mulsd (%rcx), %xmm0
movsd %xmm0, -0x18(%rbp)
testb $0x1, 0xb8(%rax)
je 0x3f84
movq 0x14150(%rip), %rdi     # 0x17fd0
leaq 0xd2f0(%rip), %rsi      # 0x11177
callq 0x21f0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0xbc(%rax), %esi
callq 0x23a0
movq %rax, %rdi
leaq 0xd2d8(%rip), %rsi      # 0x11180
callq 0x21f0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, -0x38(%rbp)
movq %rax, %rdi
addq $0x18, %rdi
movslq 0xbc(%rax), %rsi
callq 0xa270
movq -0x38(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x2400
movq %rax, %rdi
leaq 0xd817(%rip), %rsi      # 0x116f9
callq 0x21f0
movq 0x140e2(%rip), %rdi     # 0x17fd0
leaq 0xd299(%rip), %rsi      # 0x1118e
callq 0x21f0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0xc0(%rax), %esi
callq 0x23a0
movq %rax, %rdi
leaq 0xd26a(%rip), %rsi      # 0x11180
callq 0x21f0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, -0x30(%rbp)
movq %rax, %rdi
addq $0x18, %rdi
movslq 0xc0(%rax), %rsi
callq 0xa270
movq -0x30(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x2400
movq %rax, %rdi
leaq 0xd7a9(%rip), %rsi      # 0x116f9
callq 0x21f0
movq 0x14074(%rip), %rdi     # 0x17fd0
leaq 0xd234(%rip), %rsi      # 0x11197
callq 0x21f0
movq %rax, %rdi
movsd -0x18(%rbp), %xmm0
callq 0x2400
movq %rax, %rdi
leaq 0xd77a(%rip), %rsi      # 0x116f9
callq 0x21f0
movl $0x0, -0xc(%rbp)
movq -0x20(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, -0x3c(%rbp)
callq 0xa520
movq %rax, %rcx
movl -0x3c(%rbp), %eax
cmpl %ecx, %eax
jge 0x40b1
movq -0x20(%rbp), %rdi
addq $0x18, %rdi
movslq -0xc(%rbp), %rsi
callq 0xa270
movsd (%rax), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x18(%rbp), %xmm0
callq 0x2170
movq -0x20(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x70(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
addq $0x18, %rdi
movslq -0xc(%rbp), %rsi
callq 0xa270
movsd -0x68(%rbp), %xmm0
movq -0x20(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0xa0, %rdi
movslq -0xc(%rbp), %rsi
callq 0xa5c0
movsd (%rax), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x18(%rbp), %xmm0
callq 0x2170
movq -0x20(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x60(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
addq $0xa0, %rdi
movslq -0xc(%rbp), %rsi
callq 0xa5c0
movsd -0x58(%rbp), %xmm0
movq -0x20(%rbp), %rdi
movsd %xmm0, (%rax)
addq $0xa0, %rdi
movslq -0xc(%rbp), %rsi
callq 0xa5c0
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x18(%rbp), %xmm0
callq 0x2170
movq -0x20(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x50(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
addq $0xa0, %rdi
movslq -0xc(%rbp), %rsi
callq 0xa5c0
movsd -0x48(%rbp), %xmm0
movsd %xmm0, 0x8(%rax)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3f8b
jmp 0x40b3
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)