4 #ifndef VECTORIZE_HYPER_CORE_H
5 #define VECTORIZE_HYPER_CORE_H
32 VECLL_CONST(asinh_mask1,0x7fffffffffffffff);
33 VECLL_CONST(asinh_mask2,0x8000000000000000);
35 VECDI_CONST(asinh_2p28,0x41b0000000000000);
39 inline v8df v1asinhd_core(v8df x)
41 v8df
x2 = _mm512_mul_pd(x, x);
42 v8df arg = _mm512_add_pd(x2, one);
43 arg = v1sqrtd_core(arg);
44 arg = _mm512_add_pd(arg, one);
45 arg = _mm512_div_pd(x2, arg);
46 arg = _mm512_add_pd(arg, x);
47 return v1log1pd_core(arg);
52 inline v4df v1asinhd_core(v4df x)
54 v4df
x2 = _mm256_mul_pd(x, x);
55 v4df arg = _mm256_add_pd(x2, one);
56 arg = v1sqrtd_core(arg);
57 arg = _mm256_add_pd(arg, one);
58 arg = _mm256_div_pd(x2, arg);
59 arg = _mm256_add_pd(arg, x);
60 return v1log1pd_core(arg);
65 VECII_CONST(asinh_mask1f,0x7fffffff);
66 VECII_CONST(asinh_mask2f,0x80000000);
68 VECFI_CONST(asinhf_2p28,0x4d800000);
72 inline v16sf v1asinhf_core(v16sf x)
74 v16sf
x2 = _mm512_mul_ps(x, x);
75 v16sf arg = _mm512_add_ps(x2, onef);
76 arg = v1sqrtf_core(arg);
77 arg = _mm512_add_ps(arg, onef);
78 arg = _mm512_div_ps(x2, arg);
79 arg = _mm512_add_ps(arg, x);
80 return v1log1pf_core(arg);
85 inline v8sf v1asinhf_core(v8sf x)
87 v8sf
x2 = _mm256_mul_ps(x, x);
88 v8sf arg = _mm256_add_ps(x2, onef);
89 arg = v1sqrtf_core(arg);
90 arg = _mm256_add_ps(arg, onef);
91 arg = _mm256_div_ps(x2, arg);
92 arg = _mm256_add_ps(arg, x);
93 return v1log1pf_core(arg);
static double x2[63]
Definition: atmdat_3body.cpp:18