Flop Count Calculations + x86 Measurements + c13 Fix
This commit is contained in:
@@ -190,21 +190,23 @@ static inline __m256d exp256_pd(__m256d x) {
|
||||
const __m256d ln2 = _mm256_set1_pd(0.6931471805599453);
|
||||
__m256d r = _mm256_fnmadd_pd(nf, ln2, x); // # 4 MULTs, 4 ADDs
|
||||
|
||||
const __m256d c12 = _mm256_set1_pd(1.0 / 479001600.0);
|
||||
const __m256d c11 = _mm256_set1_pd(1.0 / 39916800.0);
|
||||
const __m256d c10 = _mm256_set1_pd(1.0 / 3628800.0);
|
||||
const __m256d c9 = _mm256_set1_pd(1.0 / 362880.0);
|
||||
const __m256d c8 = _mm256_set1_pd(1.0 / 40320.0);
|
||||
const __m256d c7 = _mm256_set1_pd(1.0 / 5040.0);
|
||||
const __m256d c6 = _mm256_set1_pd(1.0 / 720.0);
|
||||
const __m256d c5 = _mm256_set1_pd(1.0 / 120.0);
|
||||
const __m256d c4 = _mm256_set1_pd(1.0 / 24.0);
|
||||
const __m256d c3 = _mm256_set1_pd(1.0 / 6.0);
|
||||
const __m256d c2 = _mm256_set1_pd(0.5);
|
||||
const __m256d c1 = _mm256_set1_pd(1.0);
|
||||
const __m256d c0 = _mm256_set1_pd(1.0);
|
||||
const __m256d c13 = _mm256_set1_pd(c13_scalar);
|
||||
const __m256d c12 = _mm256_set1_pd(c12_scalar);
|
||||
const __m256d c11 = _mm256_set1_pd(c11_scalar);
|
||||
const __m256d c10 = _mm256_set1_pd(c10_scalar);
|
||||
const __m256d c9 = _mm256_set1_pd(c9_scalar);
|
||||
const __m256d c8 = _mm256_set1_pd(c8_scalar);
|
||||
const __m256d c7 = _mm256_set1_pd(c7_scalar);
|
||||
const __m256d c6 = _mm256_set1_pd(c6_scalar);
|
||||
const __m256d c5 = _mm256_set1_pd(c5_scalar);
|
||||
const __m256d c4 = _mm256_set1_pd(c4_scalar);
|
||||
const __m256d c3 = _mm256_set1_pd(c3_scalar);
|
||||
const __m256d c2 = _mm256_set1_pd(c2_scalar);
|
||||
const __m256d c1 = _mm256_set1_pd(c1_scalar);
|
||||
const __m256d c0 = _mm256_set1_pd(c0_scalar);
|
||||
|
||||
__m256d p = c13;
|
||||
|
||||
__m256d p = c12;
|
||||
// # 13 * (4 MULTs, 4 ADDs)
|
||||
// # = 52 MULTs, 52 ADDs
|
||||
p = _mm256_fmadd_pd(p, r, c12);
|
||||
|
||||
Reference in New Issue
Block a user