.file "arry.cpp"
.section .rodata.str1.1,"aMS",@progbits,1
.LC1:
.string "constructed"
.section .text.startup,"ax",@progbits
.p2align 4,,15
.globl main
.type main, @function
main:
.LFB3085:
.cfi_startproc
.cfi_personality 0x3,__gxx_personality_v0
.cfi_lsda 0x3,.LLSDA3085
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movl $640000, %edi
pushq %rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
subq $8, %rsp
.cfi_def_cfa_offset 32
.LEHB0:
call _Znwm
.LEHE0:
leaq 640000(%rax), %rbp
movq %rax, %rbx
.L2:
movq $0, (%rax)
movq $0, 8(%rax)
movq $0, 16(%rax)
movq $0, 24(%rax)
addq $32, %rax
cmpq %rbp, %rax
jne .L2
movq %rbx, %rax
xorl %edx, %edx
.L3:
cvtsi2sdq %rdx, %xmm0
leaq 1(%rdx), %rcx
movsd %xmm0, (%rax)
cvtsi2sdq %rcx, %xmm0
leaq 2(%rdx), %rcx
movsd %xmm0, 8(%rax)
cvtsi2sdq %rcx, %xmm0
leaq 3(%rdx), %rcx
addq $4, %rdx
movsd %xmm0, 16(%rax)
cvtsi2sdq %rcx, %xmm0
movsd %xmm0, 24(%rax)
addq $32, %rax
cmpq $80000, %rdx
jne .L3
movl $.LC1, %esi
movl $_ZSt4cerr, %edi
.LEHB1:
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
movq %rax, %rdi
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
xorpd %xmm4, %xmm4
movq %rbx, %rsi
movapd %xmm4, %xmm9
.L4:
movsd (%rsi), %xmm0
movq %rbx, %rdx
movsd 16(%rsi), %xmm2
xorl %ecx, %ecx
movhpd 8(%rsi), %xmm0
movsd 32(%rsi), %xmm3
movhpd 24(%rsi), %xmm2
movsd 48(%rsi), %xmm10
movapd %xmm0, %xmm5
movhpd 40(%rsi), %xmm3
movapd %xmm2, %xmm1
movhpd 56(%rsi), %xmm10
movapd %xmm5, %xmm7
movapd %xmm3, %xmm0
unpckhpd %xmm1, %xmm5
unpcklpd %xmm1, %xmm7
movapd %xmm3, %xmm1
unpckhpd %xmm10, %xmm0
movapd %xmm5, %xmm6
unpcklpd %xmm10, %xmm1
movapd %xmm7, %xmm8
unpcklpd %xmm0, %xmm6
unpckhpd %xmm0, %xmm5
unpcklpd %xmm1, %xmm8
unpckhpd %xmm1, %xmm7
.p2align 4,,10
.p2align 3
.L5:
movsd (%rdx), %xmm1
addq $1, %rcx
movapd %xmm8, %xmm2
unpcklpd %xmm1, %xmm1
movsd 8(%rdx), %xmm3
movsd 16(%rdx), %xmm10
subpd %xmm1, %xmm2
unpcklpd %xmm3, %xmm3
unpcklpd %xmm10, %xmm10
movapd %xmm3, %xmm1
movapd %xmm6, %xmm3
movapd %xmm2, %xmm0
movapd %xmm7, %xmm2
subpd %xmm1, %xmm3
mulpd %xmm0, %xmm0
subpd %xmm10, %xmm2
movsd 24(%rdx), %xmm10
addq $32, %rdx
cmpq $20000, %rcx
unpcklpd %xmm10, %xmm10
addpd %xmm9, %xmm0
mulpd %xmm3, %xmm3
movapd %xmm10, %xmm1
movapd %xmm5, %xmm10
mulpd %xmm2, %xmm2
subpd %xmm1, %xmm10
addpd %xmm3, %xmm0
movapd %xmm10, %xmm1
addpd %xmm2, %xmm0
mulpd %xmm10, %xmm1
addpd %xmm1, %xmm0
addpd %xmm0, %xmm4
jne .L5
addq $64, %rsi
cmpq %rbp, %rsi
jne .L4
movapd %xmm4, %xmm1
movl $_ZSt4cout, %edi
unpckhpd %xmm4, %xmm4
movapd %xmm4, %xmm0
addsd %xmm1, %xmm0
call _ZNSo9_M_insertIdEERSoT_
movq %rax, %rdi
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
.LEHE1:
testq %rbx, %rbx
je .L13
movq %rbx, %rdi
call _ZdlPv
.L13:
addq $8, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 24
xorl %eax, %eax
popq %rbx
.cfi_def_cfa_offset 16
popq %rbp
.cfi_def_cfa_offset 8
ret
.L10:
.cfi_restore_state
testq %rbx, %rbx
movq %rax, %rbp
je .L9
movq %rbx, %rdi
call _ZdlPv
.L9:
movq %rbp, %rdi
.LEHB2:
call _Unwind_Resume
.LEHE2:
.cfi_endproc
.LFE3085:
.globl __gxx_personality_v0
.section .gcc_except_table,"a",@progbits
.LLSDA3085:
.byte 0xff
.byte 0xff
.byte 0x1
.uleb128 .LLSDACSE3085-.LLSDACSB3085
.LLSDACSB3085:
.uleb128 .LEHB0-.LFB3085
.uleb128 .LEHE0-.LEHB0
.uleb128 0
.uleb128 0
.uleb128 .LEHB1-.LFB3085
.uleb128 .LEHE1-.LEHB1
.uleb128 .L10-.LFB3085
.uleb128 0
.uleb128 .LEHB2-.LFB3085
.uleb128 .LEHE2-.LEHB2
.uleb128 0
.uleb128 0
.LLSDACSE3085:
.section .text.startup
.size main, .-main
.p2align 4,,15
.type _GLOBAL__sub_I_main, @function
_GLOBAL__sub_I_main:
.LFB3339:
.cfi_startproc
subq $8, %rsp
.cfi_def_cfa_offset 16
movl $_ZStL8__ioinit, %edi
call _ZNSt8ios_base4InitC1Ev
movl $__dso_handle, %edx
movl $_ZStL8__ioinit, %esi
movl $_ZNSt8ios_base4InitD1Ev, %edi
addq $8, %rsp
.cfi_def_cfa_offset 8
jmp __cxa_atexit
.cfi_endproc
.LFE3339:
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
.section .init_array,"aw"
.align 8
.quad _GLOBAL__sub_I_main
.local _ZStL8__ioinit
.comm _ZStL8__ioinit,1,1
.hidden __dso_handle
.ident "GCC: (Ubuntu/Linaro 4.7.0-7ubuntu3) 4.7.0"
.section .note.GNU-stack,"",@progbits
CS5maWxlCSJhcnJ5LmNwcCIKCS5zZWN0aW9uCS5yb2RhdGEuc3RyMS4xLCJhTVMiLEBwcm9nYml0cywxCi5MQzE6Cgkuc3RyaW5nCSJjb25zdHJ1Y3RlZCIKCS5zZWN0aW9uCS50ZXh0LnN0YXJ0dXAsImF4IixAcHJvZ2JpdHMKCS5wMmFsaWduIDQsLDE1CgkuZ2xvYmwJbWFpbgoJLnR5cGUJbWFpbiwgQGZ1bmN0aW9uCm1haW46Ci5MRkIzMDg1OgoJLmNmaV9zdGFydHByb2MKCS5jZmlfcGVyc29uYWxpdHkgMHgzLF9fZ3h4X3BlcnNvbmFsaXR5X3YwCgkuY2ZpX2xzZGEgMHgzLC5MTFNEQTMwODUKCXB1c2hxCSVyYnAKCS5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKCS5jZmlfb2Zmc2V0IDYsIC0xNgoJbW92bAkkNjQwMDAwLCAlZWRpCglwdXNocQklcmJ4CgkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDI0CgkuY2ZpX29mZnNldCAzLCAtMjQKCXN1YnEJJDgsICVyc3AKCS5jZmlfZGVmX2NmYV9vZmZzZXQgMzIKLkxFSEIwOgoJY2FsbAlfWm53bQouTEVIRTA6CglsZWFxCTY0MDAwMCglcmF4KSwgJXJicAoJbW92cQklcmF4LCAlcmJ4Ci5MMjoKCW1vdnEJJDAsICglcmF4KQoJbW92cQkkMCwgOCglcmF4KQoJbW92cQkkMCwgMTYoJXJheCkKCW1vdnEJJDAsIDI0KCVyYXgpCglhZGRxCSQzMiwgJXJheAoJY21wcQklcmJwLCAlcmF4CglqbmUJLkwyCgltb3ZxCSVyYngsICVyYXgKCXhvcmwJJWVkeCwgJWVkeAouTDM6CgljdnRzaTJzZHEJJXJkeCwgJXhtbTAKCWxlYXEJMSglcmR4KSwgJXJjeAoJbW92c2QJJXhtbTAsICglcmF4KQoJY3Z0c2kyc2RxCSVyY3gsICV4bW0wCglsZWFxCTIoJXJkeCksICVyY3gKCW1vdnNkCSV4bW0wLCA4KCVyYXgpCgljdnRzaTJzZHEJJXJjeCwgJXhtbTAKCWxlYXEJMyglcmR4KSwgJXJjeAoJYWRkcQkkNCwgJXJkeAoJbW92c2QJJXhtbTAsIDE2KCVyYXgpCgljdnRzaTJzZHEJJXJjeCwgJXhtbTAKCW1vdnNkCSV4bW0wLCAyNCglcmF4KQoJYWRkcQkkMzIsICVyYXgKCWNtcHEJJDgwMDAwLCAlcmR4CglqbmUJLkwzCgltb3ZsCSQuTEMxLCAlZXNpCgltb3ZsCSRfWlN0NGNlcnIsICVlZGkKLkxFSEIxOgoJY2FsbAlfWlN0bHNJU3QxMWNoYXJfdHJhaXRzSWNFRVJTdDEzYmFzaWNfb3N0cmVhbUljVF9FUzVfUEtjCgltb3ZxCSVyYXgsICVyZGkKCWNhbGwJX1pTdDRlbmRsSWNTdDExY2hhcl90cmFpdHNJY0VFUlN0MTNiYXNpY19vc3RyZWFtSVRfVDBfRVM2XwoJeG9ycGQJJXhtbTQsICV4bW00Cgltb3ZxCSVyYngsICVyc2kKCW1vdmFwZAkleG1tNCwgJXhtbTkKLkw0OgoJbW92c2QJKCVyc2kpLCAleG1tMAoJbW92cQklcmJ4LCAlcmR4Cgltb3ZzZAkxNiglcnNpKSwgJXhtbTIKCXhvcmwJJWVjeCwgJWVjeAoJbW92aHBkCTgoJXJzaSksICV4bW0wCgltb3ZzZAkzMiglcnNpKSwgJXhtbTMKCW1vdmhwZAkyNCglcnNpKSwgJXhtbTIKCW1vdnNkCTQ4KCVyc2kpLCAleG1tMTAKCW1vdmFwZAkleG1tMCwgJXhtbTUKCW1vdmhwZAk0MCglcnNpKSwgJXhtbTMKCW1vdmFwZAkleG1tMiwgJXhtbTEKCW1vdmhwZAk1NiglcnNpKSwgJXhtbTEwCgltb3ZhcGQJJXhtbTUsICV4bW03Cgltb3ZhcGQJJXhtbTMsICV4bW0wCgl1bnBja2hwZAkleG1tMSwgJXhtbTUKCXVucGNrbHBkCSV4bW0xLCAleG1tNwoJbW92YXBkCSV4bW0zLCAleG1tMQoJdW5wY2tocGQJJXhtbTEwLCAleG1tMAoJbW92YXBkCSV4bW01LCAleG1tNgoJdW5wY2tscGQJJXhtbTEwLCAleG1tMQoJbW92YXBkCSV4bW03LCAleG1tOAoJdW5wY2tscGQJJXhtbTAsICV4bW02Cgl1bnBja2hwZAkleG1tMCwgJXhtbTUKCXVucGNrbHBkCSV4bW0xLCAleG1tOAoJdW5wY2tocGQJJXhtbTEsICV4bW03CgkucDJhbGlnbiA0LCwxMAoJLnAyYWxpZ24gMwouTDU6Cgltb3ZzZAkoJXJkeCksICV4bW0xCglhZGRxCSQxLCAlcmN4Cgltb3ZhcGQJJXhtbTgsICV4bW0yCgl1bnBja2xwZAkleG1tMSwgJXhtbTEKCW1vdnNkCTgoJXJkeCksICV4bW0zCgltb3ZzZAkxNiglcmR4KSwgJXhtbTEwCglzdWJwZAkleG1tMSwgJXhtbTIKCXVucGNrbHBkCSV4bW0zLCAleG1tMwoJdW5wY2tscGQJJXhtbTEwLCAleG1tMTAKCW1vdmFwZAkleG1tMywgJXhtbTEKCW1vdmFwZAkleG1tNiwgJXhtbTMKCW1vdmFwZAkleG1tMiwgJXhtbTAKCW1vdmFwZAkleG1tNywgJXhtbTIKCXN1YnBkCSV4bW0xLCAleG1tMwoJbXVscGQJJXhtbTAsICV4bW0wCglzdWJwZAkleG1tMTAsICV4bW0yCgltb3ZzZAkyNCglcmR4KSwgJXhtbTEwCglhZGRxCSQzMiwgJXJkeAoJY21wcQkkMjAwMDAsICVyY3gKCXVucGNrbHBkCSV4bW0xMCwgJXhtbTEwCglhZGRwZAkleG1tOSwgJXhtbTAKCW11bHBkCSV4bW0zLCAleG1tMwoJbW92YXBkCSV4bW0xMCwgJXhtbTEKCW1vdmFwZAkleG1tNSwgJXhtbTEwCgltdWxwZAkleG1tMiwgJXhtbTIKCXN1YnBkCSV4bW0xLCAleG1tMTAKCWFkZHBkCSV4bW0zLCAleG1tMAoJbW92YXBkCSV4bW0xMCwgJXhtbTEKCWFkZHBkCSV4bW0yLCAleG1tMAoJbXVscGQJJXhtbTEwLCAleG1tMQoJYWRkcGQJJXhtbTEsICV4bW0wCglhZGRwZAkleG1tMCwgJXhtbTQKCWpuZQkuTDUKCWFkZHEJJDY0LCAlcnNpCgljbXBxCSVyYnAsICVyc2kKCWpuZQkuTDQKCW1vdmFwZAkleG1tNCwgJXhtbTEKCW1vdmwJJF9aU3Q0Y291dCwgJWVkaQoJdW5wY2tocGQJJXhtbTQsICV4bW00Cgltb3ZhcGQJJXhtbTQsICV4bW0wCglhZGRzZAkleG1tMSwgJXhtbTAKCWNhbGwJX1pOU285X01faW5zZXJ0SWRFRVJTb1RfCgltb3ZxCSVyYXgsICVyZGkKCWNhbGwJX1pTdDRlbmRsSWNTdDExY2hhcl90cmFpdHNJY0VFUlN0MTNiYXNpY19vc3RyZWFtSVRfVDBfRVM2XwouTEVIRTE6Cgl0ZXN0cQklcmJ4LCAlcmJ4CglqZQkuTDEzCgltb3ZxCSVyYngsICVyZGkKCWNhbGwJX1pkbFB2Ci5MMTM6CglhZGRxCSQ4LCAlcnNwCgkuY2ZpX3JlbWVtYmVyX3N0YXRlCgkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDI0Cgl4b3JsCSVlYXgsICVlYXgKCXBvcHEJJXJieAoJLmNmaV9kZWZfY2ZhX29mZnNldCAxNgoJcG9wcQklcmJwCgkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKCXJldAouTDEwOgoJLmNmaV9yZXN0b3JlX3N0YXRlCgl0ZXN0cQklcmJ4LCAlcmJ4Cgltb3ZxCSVyYXgsICVyYnAKCWplCS5MOQoJbW92cQklcmJ4LCAlcmRpCgljYWxsCV9aZGxQdgouTDk6Cgltb3ZxCSVyYnAsICVyZGkKLkxFSEIyOgoJY2FsbAlfVW53aW5kX1Jlc3VtZQouTEVIRTI6CgkuY2ZpX2VuZHByb2MKLkxGRTMwODU6CgkuZ2xvYmwJX19neHhfcGVyc29uYWxpdHlfdjAKCS5zZWN0aW9uCS5nY2NfZXhjZXB0X3RhYmxlLCJhIixAcHJvZ2JpdHMKLkxMU0RBMzA4NToKCS5ieXRlCTB4ZmYKCS5ieXRlCTB4ZmYKCS5ieXRlCTB4MQoJLnVsZWIxMjggLkxMU0RBQ1NFMzA4NS0uTExTREFDU0IzMDg1Ci5MTFNEQUNTQjMwODU6CgkudWxlYjEyOCAuTEVIQjAtLkxGQjMwODUKCS51bGViMTI4IC5MRUhFMC0uTEVIQjAKCS51bGViMTI4IDAKCS51bGViMTI4IDAKCS51bGViMTI4IC5MRUhCMS0uTEZCMzA4NQoJLnVsZWIxMjggLkxFSEUxLS5MRUhCMQoJLnVsZWIxMjggLkwxMC0uTEZCMzA4NQoJLnVsZWIxMjggMAoJLnVsZWIxMjggLkxFSEIyLS5MRkIzMDg1CgkudWxlYjEyOCAuTEVIRTItLkxFSEIyCgkudWxlYjEyOCAwCgkudWxlYjEyOCAwCi5MTFNEQUNTRTMwODU6Cgkuc2VjdGlvbgkudGV4dC5zdGFydHVwCgkuc2l6ZQltYWluLCAuLW1haW4KCS5wMmFsaWduIDQsLDE1CgkudHlwZQlfR0xPQkFMX19zdWJfSV9tYWluLCBAZnVuY3Rpb24KX0dMT0JBTF9fc3ViX0lfbWFpbjoKLkxGQjMzMzk6CgkuY2ZpX3N0YXJ0cHJvYwoJc3VicQkkOCwgJXJzcAoJLmNmaV9kZWZfY2ZhX29mZnNldCAxNgoJbW92bAkkX1pTdEw4X19pb2luaXQsICVlZGkKCWNhbGwJX1pOU3Q4aW9zX2Jhc2U0SW5pdEMxRXYKCW1vdmwJJF9fZHNvX2hhbmRsZSwgJWVkeAoJbW92bAkkX1pTdEw4X19pb2luaXQsICVlc2kKCW1vdmwJJF9aTlN0OGlvc19iYXNlNEluaXREMUV2LCAlZWRpCglhZGRxCSQ4LCAlcnNwCgkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKCWptcAlfX2N4YV9hdGV4aXQKCS5jZmlfZW5kcHJvYwouTEZFMzMzOToKCS5zaXplCV9HTE9CQUxfX3N1Yl9JX21haW4sIC4tX0dMT0JBTF9fc3ViX0lfbWFpbgoJLnNlY3Rpb24JLmluaXRfYXJyYXksImF3IgoJLmFsaWduIDgKCS5xdWFkCV9HTE9CQUxfX3N1Yl9JX21haW4KCS5sb2NhbAlfWlN0TDhfX2lvaW5pdAoJLmNvbW0JX1pTdEw4X19pb2luaXQsMSwxCgkuaGlkZGVuCV9fZHNvX2hhbmRsZQoJLmlkZW50CSJHQ0M6IChVYnVudHUvTGluYXJvIDQuNy4wLTd1YnVudHUzKSA0LjcuMCIKCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMK