# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
261158 | SorahISA | Circle selection (APIO18_circle_selection) | C++17 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC optimize("Ofast", "unroll-loops")
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
using pii = pair<int, int>;
template<typename T>
using prior = priority_queue<T, vector<T>, greater<T>>;
template<typename T>
using Prior = priority_queue<T>;
#define X first
#define Y second
#define ALL(x) (x).begin(), (x).end()
#define eb emplace_back
#define pb push_back
#define fastIO() ios_base::sync_with_stdio(false), cin.tie(0)
#include <bits/extc++.h>
const int INF = 0x7f7f7f7f;
const int maxn = 3E5 + 5;
int R;
struct Circle {
int x, y, r, id;
bool operator < (const Circle &rhs) const {
if (r == rhs.r) return id > rhs.id;
return r < rhs.r;
}
};
int32_t main() {
fastIO();
int n;
cin >> n;
Prior<Circle> pq;
vector<Circle> cir(n);
for (int i = 0; i < n; ++i) {
cin >> cir[i].x >> cir[i].y >> cir[i].r;
cir[i].id = i;
pq.push(cir[i]);
}
R = cir[0].r;
gp_hash_table<pii, set<int>> cid;
for (int i = 0; i < n; ++i) {
cid[{cir[i].x / R, cir[i].y / R}].insert(cir[i].id);
}
vector<int> ans(n, -1);
while (!pq.empty()) {
while (!pq.empty() and ans[pq.top().id] != -1) pq.pop();
if (pq.empty()) break;
int bx = cir[pq.top().id].x / R;
int by = cir[pq.top().id].y / R;
for (int i : {-2, -1, 0, 1, 2}) {
for (int j : {-2, -1, 0, 1, 2}) {
vector<int> tbe;
for (auto c : cid[{bx + i, by + j}]) {
int dx = abs(cir[pq.top().id].x - cir[c].x);
int dy = abs(cir[pq.top().id].y - cir[c].y);
int dr = cir[pq.top().id].r + cir[c].r;
// cout << dx << " " << dy << " " << dr << "\n";
if (dx*dx + dy*dy <= dr*dr) tbe.eb(c), ans[c] = pq.top().id;
}
for (auto x : tbe) cid[{bx + i, by + j}].erase(x);
}
}
}
for (int i = 0; i < n; ++i) cout << ans[i] + 1 << " \n"[i == n-1];
return 0;
}
Compilation message (stderr)
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/extc++.h:54:0, from circle_selection.cpp:20: /usr/include/c++/7/ext/mt_allocator.h:55:32: error: 'long' and 'short' specified together for '_Binmap_type' typedef unsigned short int _Binmap_type; ^~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:31:0, from /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:31, from /usr/include/c++/7/ext/random:43, from /usr/include/x86_64-linux-gnu/c++/7/bits/extc++.h:62, from circle_selection.cpp:20: /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function 'long long int _mm_cvtsi64_si32(__m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:114:53: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:114:53: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to 'int __builtin_ia32_vec_ext_v2si(__vector(2) int, int)' /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_packs_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:168:69: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(4) short int __builtin_ia32_packssdw(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_unpackhi_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:225:70: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_punpckhdq(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_punpckhdq ((__v2si)__m1, (__v2si)__m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_unpacklo_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:267:70: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_punpckldq(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_punpckldq ((__v2si)__m1, (__v2si)__m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_add_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:306:66: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_paddd(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_paddd ((__v2si)__m1, (__v2si)__m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_sub_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:418:66: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_psubd(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_psubd ((__v2si)__m1, (__v2si)__m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_sll_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:572:68: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_pslld(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_pslld ((__v2si)__m, (__v2si)__count); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_slli_pi32(__m64, long long int)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:584:61: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_pslldi(__vector(2) int, int)' return (__m64) __builtin_ia32_pslldi ((__v2si)__m, __count); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_sra_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:647:68: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_psrad(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_psrad ((__v2si)__m, (__v2si)__count); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_srai_pi32(__m64, long long int)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:659:61: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_psradi(__vector(2) int, int)' return (__m64) __builtin_ia32_psradi ((__v2si)__m, __count); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_srl_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:697:68: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_psrld(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_psrld ((__v2si)__m, (__v2si)__count); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_srli_pi32(__m64, long long int)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:709:61: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_psrldi(__vector(2) int, int)' return (__m64) __builtin_ia32_psrldi ((__v2si)__m, __count); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_and_si64(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:747:41: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_pand(__vector(2) int, __vector(2) int)' return __builtin_ia32_pand (__m1, __m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_andnot_si64(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:761:42: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_pandn(__vector(2) int, __vector(2) int)' return __builtin_ia32_pandn (__m1, __m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_or_si64(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:774:40: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_por(__vector(2) int, __vector(2) int)' return __builtin_ia32_por (__m1, __m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_xor_si64(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:787:41: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_pxor(__vector(2) int, __vector(2) int)' return __builtin_ia32_pxor (__m1, __m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_cmpeq_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:853:68: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_pcmpeqd(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_pcmpeqd ((__v2si)__m1, (__v2si)__m2); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h: In function '__m64 _mm_cmpgt_pi32(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mmintrin.h:865:68: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(2) int __builtin_ia32_pcmpgtd(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_pcmpgtd ((__v2si)__m1, (__v2si)__m2); ^ In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:34:0, from /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:31, from /usr/include/c++/7/ext/random:43, from /usr/include/x86_64-linux-gnu/c++/7/bits/extc++.h:62, from circle_selection.cpp:20: /usr/lib/gcc/x86_64-linux-gnu/7/include/mm_malloc.h: At global scope: /usr/lib/gcc/x86_64-linux-gnu/7/include/mm_malloc.h:34:16: error: conflicting declaration of C function 'long long int posix_memalign(void**, size_t, size_t)' extern "C" int posix_memalign (void **, size_t, size_t) throw (); ^~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/std_abs.h:38:0, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from circle_selection.cpp:2: /usr/include/stdlib.h:503:12: note: previous declaration 'int posix_memalign(void**, size_t, size_t)' extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) ^~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:34:0, from /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:31, from /usr/include/c++/7/ext/random:43, from /usr/include/x86_64-linux-gnu/c++/7/bits/extc++.h:62, from circle_selection.cpp:20: /usr/lib/gcc/x86_64-linux-gnu/7/include/mm_malloc.h: In function 'void* _mm_malloc(size_t, size_t)': /usr/lib/gcc/x86_64-linux-gnu/7/include/mm_malloc.h:45:50: error: call of overloaded 'posix_memalign(void**, size_t&, size_t&)' is ambiguous if (posix_memalign (&__ptr, __alignment, __size) == 0) ^ In file included from /usr/include/c++/7/bits/std_abs.h:38:0, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from circle_selection.cpp:2: /usr/include/stdlib.h:503:12: note: candidate: int posix_memalign(void**, size_t, size_t) extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) ^~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:34:0, from /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:31, from /usr/include/c++/7/ext/random:43, from /usr/include/x86_64-linux-gnu/c++/7/bits/extc++.h:62, from circle_selection.cpp:20: /usr/lib/gcc/x86_64-linux-gnu/7/include/mm_malloc.h:34:16: note: candidate: long long int posix_memalign(void**, size_t, size_t) extern "C" int posix_memalign (void **, size_t, size_t) throw (); ^~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:31:0, from /usr/include/c++/7/ext/random:43, from /usr/include/x86_64-linux-gnu/c++/7/bits/extc++.h:62, from circle_selection.cpp:20: /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h: In function '__m128 _mm_cvtpi32_ps(__m128, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:634:69: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '2' to '__vector(4) float __builtin_ia32_cvtpi2ps(__vector(4) float, __vector(2) int)' return (__m128) __builtin_ia32_cvtpi2ps ((__v4sf) __A, (__v2si)__B); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h: In function '__m128 _mm_cvtpi16_ps(__m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:662:49: error: cannot convert '__v2si {aka __vector(1) long long int}' to '__vector(2) int' for argument '2' to '__vector(4) float __builtin_ia32_cvtpi2ps(__vector(4) float, __vector(2) int)' __ra = __builtin_ia32_cvtpi2ps (__zero, __losi); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:663:47: error: cannot convert '__v2si {aka __vector(1) long long int}' to '__vector(2) int' for argument '2' to '__vector(4) float __builtin_ia32_cvtpi2ps(__vector(4) float, __vector(2) int)' __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h: In function '__m128 _mm_cvtpu16_ps(__m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:681:49: error: cannot convert '__v2si {aka __vector(1) long long int}' to '__vector(2) int' for argument '2' to '__vector(4) float __builtin_ia32_cvtpi2ps(__vector(4) float, __vector(2) int)' __ra = __builtin_ia32_cvtpi2ps (__zero, __losi); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:682:47: error: cannot convert '__v2si {aka __vector(1) long long int}' to '__vector(2) int' for argument '2' to '__vector(4) float __builtin_ia32_cvtpi2ps(__vector(4) float, __vector(2) int)' __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h: In function '__m128 _mm_cvtpi32x2_ps(__m64, __m64)': /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:717:62: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '2' to '__vector(4) float __builtin_ia32_cvtpi2ps(__vector(4) float, __vector(2) int)' __v4sf __sfa = __builtin_ia32_cvtpi2ps (__zero, (__v2si)__A); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:718:61: error: cannot convert '__m64 {aka __vector(1) long long int}' to '__vector(2) int' for argument '2' to '__vector(4) float __builtin_ia32_cvtpi2ps(__vector(4) float, __vector(2) int)' __v4sf __sfb = __builtin_ia32_cvtpi2ps (__sfa, (__v2si)__B); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h: In function '__m64 _mm_cvtps_pi16(__m128)': /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:728:50: error: cannot convert '__vector(2) int' to '__v2si {aka __vector(1) long long int}' in initialization __v2si __hisi = __builtin_ia32_cvtps2pi (__hisf); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:729:50: error: cannot convert '__vector(2) int' to '__v2si {aka __vector(1) long long int}' in initialization __v2si __losi = __builtin_ia32_cvtps2pi (__losf); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:730:57: error: cannot convert '__v2si {aka __vector(1) long long int}' to '__vector(2) int' for argument '1' to '__vector(4) short int __builtin_ia32_packssdw(__vector(2) int, __vector(2) int)' return (__m64) __builtin_ia32_packssdw (__hisi, __losi); ^ In file included from /usr/include/c++/7/ext/random:43:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/extc++.h:62, from circle_selection.cpp:20: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function '__m128d _mm_set_sd(long double)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:67:44: error: too many initializers for '__m128d {aka __vector(1) long double}' return __extension__ (__m128d){ __F, 0.0 }; ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function '__m128d _mm_set1_pd(long double)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:74:44: error: too many initializers for '__m128d {aka __vector(1) long double}' return __extension__ (__m128d){ __F, __F }; ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function '__m128d _mm_set_pd(long double, long double)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:87:44: error: too many initializers for '__m128d {aka __vector(1) long double}' return __extension__ (__m128d){ __X, __W }; ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function '__m128d _mm_setr_pd(long double, long double)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:94:44: error: too many initializers for '__m128d {aka __vector(1) long double}' return __extension__ (__m128d){ __W, __X }; ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function '__m128d _mm_setzero_pd()': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:109:44: error: too many initializers for '__m128d {aka __vector(1) long double}' return __extension__ (__m128d){ 0.0, 0.0 }; ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function '__m128d _mm_move_sd(__m128d, __m128d)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:116:66: error: cannot convert '__m128d {aka __vector(1) long double}' to '__vector(2) double' for argument '1' to '__vector(2) double __builtin_ia32_movsd(__vector(2) double, __vector(2) double)' return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function '__m128d _mm_loadr_pd(const long double*)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:158:65: error: cannot convert '__m128d {aka __vector(1) long double}' to '__vector(2) double' for argument '1' to '__vector(2) double __builtin_ia32_shufpd(__vector(2) double, __vector(2) double, int)' return __builtin_ia32_shufpd (__tmp, __tmp, _MM_SHUFFLE2 (0,1)); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function 'void _mm_store1_pd(long double*, __m128d)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:206:73: error: cannot convert '__m128d {aka __vector(1) long double}' to '__vector(2) double' for argument '1' to '__vector(2) double __builtin_ia32_shufpd(__vector(2) double, __vector(2) double, int)' _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, _MM_SHUFFLE2 (0,0))); ^ /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function 'void _mm_storer_pd(long double*, __m128d)': /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:219:73: error: cannot convert '__m128d {aka __vector(1) long double}' to '__vector(2) double' for argument '1' to '__vector(2) double __builtin_ia32_shufpd(__vector(2) double, __vector(2) double, int)' _mm_store_pd (__P, __builtin_ia3