Submission #261158

#TimeUsernameProblemLanguageResultExecution timeMemory
261158SorahISACircle selection (APIO18_circle_selection)C++17
Compilation error
0 ms0 KiB
#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