Flop Count Calculations + x86 Measurements + c13 Fix

This commit is contained in:
[Quy Anh] «Elliot» Nguyen
2026-06-17 07:28:11 +02:00
parent 42b3c7097e
commit a7d45665da
225 changed files with 19699 additions and 172 deletions
@@ -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);