Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::abs(double):
- push rbp
- mov rbp, rsp
- movsd QWORD PTR [rbp-8], xmm0
- movsd xmm0, QWORD PTR [rbp-8]
- movq xmm1, QWORD PTR .LC0[rip]
- andpd xmm0, xmm1
- pop rbp
- ret
- std::log(float):
- push rbp
- mov rbp, rsp
- sub rsp, 16
- movss DWORD PTR [rbp-4], xmm0
- movss xmm0, DWORD PTR [rbp-4]
- call logf
- leave
- ret
- .LC4:
- .string " "
- .LC5:
- .string "11 TO4EK"
- .LC22:
- .string "r = "
- main:
- push rbp
- mov rbp, rsp
- push rbx
- sub rsp, 104
- mov DWORD PTR [rbp-28], 1
- mov DWORD PTR [rbp-32], 3
- mov DWORD PTR [rbp-36], 5
- movss xmm0, DWORD PTR .LC1[rip]
- movss DWORD PTR [rbp-40], xmm0
- pxor xmm0, xmm0
- movss DWORD PTR [rbp-24], xmm0
- mov DWORD PTR [rbp-20], 1
- .L7:
- mov eax, DWORD PTR [rbp-20]
- cmp eax, DWORD PTR [rbp-36]
- jg .L6
- mov edx, DWORD PTR [rbp-28]
- mov eax, DWORD PTR [rbp-32]
- add eax, edx
- cvtsi2sd xmm1, eax
- movsd xmm0, QWORD PTR .LC3[rip]
- mulsd xmm1, xmm0
- movsd QWORD PTR [rbp-104], xmm1
- mov eax, DWORD PTR [rbp-32]
- sub eax, DWORD PTR [rbp-28]
- cvtsi2sd xmm1, eax
- movsd xmm0, QWORD PTR .LC3[rip]
- movapd xmm4, xmm1
- mulsd xmm4, xmm0
- movsd QWORD PTR [rbp-112], xmm4
- cvtss2sd xmm1, DWORD PTR [rbp-40]
- movsd xmm0, QWORD PTR .LC3[rip]
- mulsd xmm1, xmm0
- mov eax, DWORD PTR [rbp-20]
- add eax, eax
- sub eax, 1
- cvtsi2sd xmm0, eax
- mulsd xmm0, xmm1
- cvtsi2sd xmm1, DWORD PTR [rbp-36]
- divsd xmm0, xmm1
- call cos
- mulsd xmm0, QWORD PTR [rbp-112]
- addsd xmm0, QWORD PTR [rbp-104]
- cvtsd2ss xmm7, xmm0
- movss DWORD PTR [rbp-44], xmm7
- movss xmm0, DWORD PTR [rbp-44]
- mov edi, OFFSET FLAT:_ZSt4cout
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(float)
- mov esi, OFFSET FLAT:.LC4
- mov rdi, rax
- call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
- mov rbx, rax
- movss xmm0, DWORD PTR [rbp-44]
- mulss xmm0, DWORD PTR [rbp-44]
- movss DWORD PTR [rbp-104], xmm0
- movss xmm0, DWORD PTR [rbp-44]
- call std::log(float)
- addss xmm0, xmm0
- movss xmm3, DWORD PTR [rbp-104]
- subss xmm3, xmm0
- movaps xmm0, xmm3
- mov rdi, rbx
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(float)
- mov esi, OFFSET FLAT:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
- mov rdi, rax
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
- add DWORD PTR [rbp-20], 1
- jmp .L7
- .L6:
- mov esi, OFFSET FLAT:.LC5
- mov edi, OFFSET FLAT:_ZSt4cout
- call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
- mov esi, OFFSET FLAT:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
- mov rdi, rax
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
- movss xmm0, DWORD PTR .LC6[rip]
- movss DWORD PTR [rbp-96], xmm0
- movss xmm0, DWORD PTR .LC7[rip]
- movss DWORD PTR [rbp-92], xmm0
- movss xmm0, DWORD PTR .LC8[rip]
- movss DWORD PTR [rbp-88], xmm0
- movss xmm0, DWORD PTR .LC9[rip]
- movss DWORD PTR [rbp-84], xmm0
- movss xmm0, DWORD PTR .LC10[rip]
- movss DWORD PTR [rbp-80], xmm0
- movss xmm0, DWORD PTR .LC11[rip]
- movss DWORD PTR [rbp-76], xmm0
- movss xmm0, DWORD PTR .LC12[rip]
- movss DWORD PTR [rbp-72], xmm0
- movss xmm0, DWORD PTR .LC13[rip]
- movss DWORD PTR [rbp-68], xmm0
- movss xmm0, DWORD PTR .LC14[rip]
- movss DWORD PTR [rbp-64], xmm0
- movss xmm0, DWORD PTR .LC15[rip]
- movss DWORD PTR [rbp-60], xmm0
- movss xmm0, DWORD PTR .LC16[rip]
- movss DWORD PTR [rbp-56], xmm0
- mov DWORD PTR [rbp-20], 0
- .L10:
- cmp DWORD PTR [rbp-20], 10
- jg .L8
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- mov edi, 4
- call __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int)
- movapd xmm1, xmm0
- movsd xmm0, QWORD PTR .LC17[rip]
- mulsd xmm1, xmm0
- movsd QWORD PTR [rbp-104], xmm1
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- mov edi, 3
- call __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int)
- movapd xmm1, xmm0
- movsd xmm0, QWORD PTR .LC18[rip]
- mulsd xmm0, xmm1
- addsd xmm0, QWORD PTR [rbp-104]
- movsd QWORD PTR [rbp-104], xmm0
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- mov edi, 2
- call __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int)
- movapd xmm1, xmm0
- movsd xmm0, QWORD PTR .LC19[rip]
- mulsd xmm0, xmm1
- movsd xmm1, QWORD PTR [rbp-104]
- subsd xmm1, xmm0
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- cvtss2sd xmm2, xmm0
- movsd xmm0, QWORD PTR .LC20[rip]
- mulsd xmm0, xmm2
- addsd xmm0, xmm1
- movsd xmm1, QWORD PTR .LC21[rip]
- subsd xmm0, xmm1
- cvtsd2ss xmm2, xmm0
- movss DWORD PTR [rbp-44], xmm2
- movss xmm0, DWORD PTR [rbp-44]
- mov edi, OFFSET FLAT:_ZSt4cout
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(float)
- mov esi, OFFSET FLAT:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
- mov rdi, rax
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- mov edi, 2
- call __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int)
- movsd QWORD PTR [rbp-104], xmm0
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- call std::log(float)
- addss xmm0, xmm0
- cvtss2sd xmm0, xmm0
- movsd xmm5, QWORD PTR [rbp-104]
- subsd xmm5, xmm0
- movapd xmm0, xmm5
- cvtss2sd xmm1, DWORD PTR [rbp-44]
- subsd xmm0, xmm1
- call std::abs(double)
- movapd xmm1, xmm0
- cvtss2sd xmm0, DWORD PTR [rbp-24]
- comisd xmm1, xmm0
- seta al
- test al, al
- je .L9
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- mov edi, 2
- call __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int)
- movsd QWORD PTR [rbp-104], xmm0
- mov eax, DWORD PTR [rbp-20]
- cdqe
- movss xmm0, DWORD PTR [rbp-96+rax*4]
- call std::log(float)
- addss xmm0, xmm0
- cvtss2sd xmm0, xmm0
- movsd xmm6, QWORD PTR [rbp-104]
- subsd xmm6, xmm0
- movapd xmm0, xmm6
- cvtss2sd xmm1, DWORD PTR [rbp-44]
- subsd xmm0, xmm1
- call std::abs(double)
- cvtsd2ss xmm7, xmm0
- movss DWORD PTR [rbp-24], xmm7
- .L9:
- add DWORD PTR [rbp-20], 1
- jmp .L10
- .L8:
- mov esi, OFFSET FLAT:.LC22
- mov edi, OFFSET FLAT:_ZSt4cout
- call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
- movss xmm0, DWORD PTR [rbp-24]
- mov rdi, rax
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(float)
- mov esi, OFFSET FLAT:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
- mov rdi, rax
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
- mov eax, 0
- add rsp, 104
- pop rbx
- pop rbp
- ret
- __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int):
- push rbp
- mov rbp, rsp
- sub rsp, 16
- movss DWORD PTR [rbp-4], xmm0
- mov DWORD PTR [rbp-8], edi
- cvtsi2sd xmm1, DWORD PTR [rbp-8]
- cvtss2sd xmm0, DWORD PTR [rbp-4]
- call pow
- movq rax, xmm0
- mov QWORD PTR [rbp-16], rax
- movsd xmm0, QWORD PTR [rbp-16]
- leave
- ret
- __static_initialization_and_destruction_0(int, int):
- push rbp
- mov rbp, rsp
- sub rsp, 16
- mov DWORD PTR [rbp-4], edi
- mov DWORD PTR [rbp-8], esi
- cmp DWORD PTR [rbp-4], 1
- jne .L16
- cmp DWORD PTR [rbp-8], 65535
- jne .L16
- mov edi, OFFSET FLAT:_ZStL8__ioinit
- call std::ios_base::Init::Init() [complete object constructor]
- mov edx, OFFSET FLAT:__dso_handle
- mov esi, OFFSET FLAT:_ZStL8__ioinit
- mov edi, OFFSET FLAT:_ZNSt8ios_base4InitD1Ev
- call __cxa_atexit
- .L16:
- nop
- leave
- ret
- _GLOBAL__sub_I_main:
- push rbp
- mov rbp, rsp
- mov esi, 65535
- mov edi, 1
- call __static_initialization_and_destruction_0(int, int)
- pop rbp
- ret
- .LC0:
- .long 4294967295
- .long 2147483647
- .long 0
- .long 0
- .LC1:
- .long 1078530000
- .LC3:
- .long 0
- .long 1071644672
- .LC6:
- .long 1065353216
- .LC7:
- .long 1067030938
- .LC8:
- .long 1068708659
- .LC9:
- .long 1070386381
- .LC10:
- .long 1072064102
- .LC11:
- .long 1073741824
- .LC12:
- .long 1074580685
- .LC13:
- .long 1075419546
- .LC14:
- .long 1076258406
- .LC15:
- .long 1077097267
- .LC16:
- .long 1077936128
- .LC17:
- .long 2769394912
- .long -1075330627
- .LC18:
- .long 1958505087
- .long 1075271827
- .LC19:
- .long 707810610
- .long 1076753321
- .LC20:
- .long 1539316279
- .long 1076928800
- .LC21:
- .long 542883866
- .long 1075261761
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement