aboutsummaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2015-09-20 23:38:00 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2015-09-20 23:39:33 -0700
commit7155726ad6612a7f87318d84ac496672f9bbc8ce (patch)
tree41536c613ff20382b4a9a789e91e11a176c027d5 /benchmarks
parentf66d9faeca28d491115eb60a8f5b6b747f255a09 (diff)
downloadriscv-tests-7155726ad6612a7f87318d84ac496672f9bbc8ce.zip
riscv-tests-7155726ad6612a7f87318d84ac496672f9bbc8ce.tar.gz
riscv-tests-7155726ad6612a7f87318d84ac496672f9bbc8ce.tar.bz2
Remove Hwacha v3 tests
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/Makefile6
-rw-r--r--benchmarks/mm/bmark.mk1
-rw-r--r--benchmarks/mm/common.h1
-rw-r--r--benchmarks/mm/hwacha.S94
-rw-r--r--benchmarks/mm/hwacha.h140
-rw-r--r--benchmarks/mm/mm_main.c37
-rw-r--r--benchmarks/vec-cmplxmult/bmark.mk30
-rwxr-xr-xbenchmarks/vec-cmplxmult/cmplxmult_gendata.pl117
-rw-r--r--benchmarks/vec-cmplxmult/dataset.h1553
-rw-r--r--benchmarks/vec-cmplxmult/dataset_test.h29
-rw-r--r--benchmarks/vec-cmplxmult/vec_cmplxmult_asm.S148
-rw-r--r--benchmarks/vec-cmplxmult/vec_cmplxmult_main.c319
-rw-r--r--benchmarks/vec-fft/bmark.mk41
-rw-r--r--benchmarks/vec-fft/cvt16.c122
-rw-r--r--benchmarks/vec-fft/cvt16.h19
-rw-r--r--benchmarks/vec-fft/cvt_fft.c39
-rw-r--r--benchmarks/vec-fft/data.c23
-rw-r--r--benchmarks/vec-fft/dc_data.c14
-rwxr-xr-xbenchmarks/vec-fft/fft-data-gen84
-rw-r--r--benchmarks/vec-fft/fft_const.h71
-rw-r--r--benchmarks/vec-fft/fft_cos_data.c8
-rw-r--r--benchmarks/vec-fft/fft_dc_float.c8
-rw-r--r--benchmarks/vec-fft/fft_gaussian_float.c8
-rw-r--r--benchmarks/vec-fft/vec-fft.c171
-rw-r--r--benchmarks/vec-fft/vec-fft.h21
-rw-r--r--benchmarks/vec-fft/vec-fft_gaussian.c14
-rw-r--r--benchmarks/vec-fft/vec-fft_main.c302
-rw-r--r--benchmarks/vec-fft/vec-vfft.S245
-rw-r--r--benchmarks/vec-matmul/bmark.mk30
-rw-r--r--benchmarks/vec-matmul/dataset.h635
-rw-r--r--benchmarks/vec-matmul/dataset_test.h41
-rwxr-xr-xbenchmarks/vec-matmul/matmul_gendata.pl200
-rw-r--r--benchmarks/vec-matmul/vec_matmul_asm.S345
-rw-r--r--benchmarks/vec-matmul/vec_matmul_main.c207
-rw-r--r--benchmarks/vec-vvadd/bmark.mk30
-rw-r--r--benchmarks/vec-vvadd/dataset.h173
-rw-r--r--benchmarks/vec-vvadd/dataset_test.h20
-rw-r--r--benchmarks/vec-vvadd/vec_vvadd_asm.S110
-rw-r--r--benchmarks/vec-vvadd/vec_vvadd_main.c200
-rwxr-xr-xbenchmarks/vec-vvadd/vvadd_gendata.pl139
40 files changed, 11 insertions, 5784 deletions
diff --git a/benchmarks/Makefile b/benchmarks/Makefile
index 9738f61..2b71b50 100644
--- a/benchmarks/Makefile
+++ b/benchmarks/Makefile
@@ -27,10 +27,6 @@ bmarks = \
spmv \
mt-vvadd \
mt-matmul \
- #vec-fft \
- #vec-vvadd \
- #vec-cmplxmult \
- #vec-matmul \
bmarks_host = \
median \
@@ -52,7 +48,7 @@ HOST_COMP = gcc $(HOST_OPTS)
RISCV_PREFIX=riscv64-unknown-elf-
RISCV_GCC = $(RISCV_PREFIX)gcc
-RISCV_GCC_OPTS = -static -Wa,-march=RVIMAFDXhwacha -std=gnu99 -O2 -ffast-math -fno-common -fno-builtin-printf
+RISCV_GCC_OPTS = -static -std=gnu99 -O2 -ffast-math -fno-common -fno-builtin-printf
RISCV_LINK = $(RISCV_GCC) -T $(bmarkdir)/common/test.ld $(incs)
RISCV_LINK_MT = $(RISCV_GCC) -T $(bmarkdir)/common/test-mt.ld
RISCV_LINK_OPTS = -nostdlib -nostartfiles -ffast-math -lc -lgcc
diff --git a/benchmarks/mm/bmark.mk b/benchmarks/mm/bmark.mk
index bb982a8..ec8fd16 100644
--- a/benchmarks/mm/bmark.mk
+++ b/benchmarks/mm/bmark.mk
@@ -14,7 +14,6 @@ mm_c_src = \
syscalls.c \
mm_riscv_src = \
- hwacha.S \
crt.S \
mm_c_objs = $(patsubst %.c, %.o, $(mm_c_src))
diff --git a/benchmarks/mm/common.h b/benchmarks/mm/common.h
index c48cc57..01b9f3f 100644
--- a/benchmarks/mm/common.h
+++ b/benchmarks/mm/common.h
@@ -19,7 +19,6 @@ typedef double t;
#define alloca_aligned(s, a) ((void*)(((uintptr_t)alloca((s)+(a)-1)+(a)-1)&~((a)-1)))
#include "rb.h"
-#include "hwacha.h"
#ifdef __cplusplus
extern "C" {
diff --git a/benchmarks/mm/hwacha.S b/benchmarks/mm/hwacha.S
deleted file mode 100644
index e5a67b4..0000000
--- a/benchmarks/mm/hwacha.S
+++ /dev/null
@@ -1,94 +0,0 @@
-# See LICENSE for license details.
-
- .text
- .align 2
-
- .globl hwacha_mm_0
-hwacha_mm_0:
- fmadd.d f0,f19,f20,f0
- stop
-
- .globl hwacha_mm_1
-hwacha_mm_1:
- fmadd.d f1,f18,f20,f1
- stop
-
- .globl hwacha_mm_2
-hwacha_mm_2:
- fmadd.d f2,f19,f20,f2
- stop
-
- .globl hwacha_mm_3
-hwacha_mm_3:
- fmadd.d f3,f18,f20,f3
- stop
-
- .globl hwacha_mm_4
-hwacha_mm_4:
- fmadd.d f4,f19,f20,f4
- stop
-
- .globl hwacha_mm_5
-hwacha_mm_5:
- fmadd.d f5,f18,f20,f5
- stop
-
- .globl hwacha_mm_6
-hwacha_mm_6:
- fmadd.d f6,f19,f20,f6
- stop
-
- .globl hwacha_mm_7
-hwacha_mm_7:
- fmadd.d f7,f18,f20,f7
- stop
-
- .globl hwacha_mm_8
-hwacha_mm_8:
- fmadd.d f8,f19,f20,f8
- stop
-
- .globl hwacha_mm_9
-hwacha_mm_9:
- fmadd.d f9,f18,f20,f9
- stop
-
- .globl hwacha_mm_10
-hwacha_mm_10:
- fmadd.d f10,f19,f20,f10
- stop
-
- .globl hwacha_mm_11
-hwacha_mm_11:
- fmadd.d f11,f18,f20,f11
- stop
-
- .globl hwacha_mm_12
-hwacha_mm_12:
- fmadd.d f12,f19,f20,f12
- stop
-
- .globl hwacha_mm_13
-hwacha_mm_13:
- fmadd.d f13,f18,f20,f13
- stop
-
- .globl hwacha_mm_14
-hwacha_mm_14:
- fmadd.d f14,f19,f20,f14
- stop
-
- .globl hwacha_mm_15
-hwacha_mm_15:
- fmadd.d f15,f18,f20,f15
- stop
-
- .globl hwacha_mm_16
-hwacha_mm_16:
- fmadd.d f16,f19,f20,f16
- stop
-
- .globl hwacha_mm_17
-hwacha_mm_17:
- fmadd.d f17,f18,f20,f17
- stop
diff --git a/benchmarks/mm/hwacha.h b/benchmarks/mm/hwacha.h
deleted file mode 100644
index 42abc87..0000000
--- a/benchmarks/mm/hwacha.h
+++ /dev/null
@@ -1,140 +0,0 @@
-// See LICENSE for license details.
-
-static const int HCBM = 18;
-static const int HCBN = 80;
-static const int HCBK = 16;
-
-static const int HRBM = 18;
-static const int HRBN = 80;
-static const int HRBK = 1;
-
-extern void hwacha_mm_0();
-extern void hwacha_mm_1();
-extern void hwacha_mm_2();
-extern void hwacha_mm_3();
-extern void hwacha_mm_4();
-extern void hwacha_mm_5();
-extern void hwacha_mm_6();
-extern void hwacha_mm_7();
-extern void hwacha_mm_8();
-extern void hwacha_mm_9();
-extern void hwacha_mm_10();
-extern void hwacha_mm_11();
-extern void hwacha_mm_12();
-extern void hwacha_mm_13();
-extern void hwacha_mm_14();
-extern void hwacha_mm_15();
-extern void hwacha_mm_16();
-extern void hwacha_mm_17();
-
-static inline void nloop(int s, int e, t* a, size_t lda, t* b, size_t ldb, t* c, size_t ldc)
-{
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[0*lda]));
- asm volatile ("vfld vf20, %[ptr]" : : [ptr]"r"(b) : );
- if (s) asm volatile ("vfld vf0, %[ptr]" : : [ptr]"r"(&c[ldc*0]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_0) : );
- if (e) asm volatile ("vfsd vf0, %[ptr]" : : [ptr]"r"(&c[ldc*0]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[1*lda]));
- if (s) asm volatile ("vfld vf1, %[ptr]" : : [ptr]"r"(&c[ldc*1]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_1) : );
- if (e) asm volatile ("vfsd vf1, %[ptr]" : : [ptr]"r"(&c[ldc*1]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[2*lda]));
- if (s) asm volatile ("vfld vf2, %[ptr]" : : [ptr]"r"(&c[ldc*2]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_2) : );
- if (e) asm volatile ("vfsd vf2, %[ptr]" : : [ptr]"r"(&c[ldc*2]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[3*lda]));
- if (s) asm volatile ("vfld vf3, %[ptr]" : : [ptr]"r"(&c[ldc*3]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_3) : );
- if (e) asm volatile ("vfsd vf3, %[ptr]" : : [ptr]"r"(&c[ldc*3]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[4*lda]));
- if (s) asm volatile ("vfld vf4, %[ptr]" : : [ptr]"r"(&c[ldc*4]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_4) : );
- if (e) asm volatile ("vfsd vf4, %[ptr]" : : [ptr]"r"(&c[ldc*4]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[5*lda]));
- if (s) asm volatile ("vfld vf5, %[ptr]" : : [ptr]"r"(&c[ldc*5]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_5) : );
- if (e) asm volatile ("vfsd vf5, %[ptr]" : : [ptr]"r"(&c[ldc*5]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[6*lda]));
- if (s) asm volatile ("vfld vf6, %[ptr]" : : [ptr]"r"(&c[ldc*6]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_6) : );
- if (e) asm volatile ("vfsd vf6, %[ptr]" : : [ptr]"r"(&c[ldc*6]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[7*lda]));
- if (s) asm volatile ("vfld vf7, %[ptr]" : : [ptr]"r"(&c[ldc*7]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_7) : );
- if (e) asm volatile ("vfsd vf7, %[ptr]" : : [ptr]"r"(&c[ldc*7]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[8*lda]));
- if (s) asm volatile ("vfld vf8, %[ptr]" : : [ptr]"r"(&c[ldc*8]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_8) : );
- if (e) asm volatile ("vfsd vf8, %[ptr]" : : [ptr]"r"(&c[ldc*8]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[9*lda]));
- if (s) asm volatile ("vfld vf9, %[ptr]" : : [ptr]"r"(&c[ldc*9]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_9) : );
- if (e) asm volatile ("vfsd vf9, %[ptr]" : : [ptr]"r"(&c[ldc*9]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[10*lda]));
- if (s) asm volatile ("vfld vf10, %[ptr]" : : [ptr]"r"(&c[ldc*10]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_10) : );
- if (e) asm volatile ("vfsd vf10, %[ptr]" : : [ptr]"r"(&c[ldc*10]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[11*lda]));
- if (s) asm volatile ("vfld vf11, %[ptr]" : : [ptr]"r"(&c[ldc*11]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_11) : );
- if (e) asm volatile ("vfsd vf11, %[ptr]" : : [ptr]"r"(&c[ldc*11]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[12*lda]));
- if (s) asm volatile ("vfld vf12, %[ptr]" : : [ptr]"r"(&c[ldc*12]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_12) : );
- if (e) asm volatile ("vfsd vf12, %[ptr]" : : [ptr]"r"(&c[ldc*12]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[13*lda]));
- if (s) asm volatile ("vfld vf13, %[ptr]" : : [ptr]"r"(&c[ldc*13]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_13) : );
- if (e) asm volatile ("vfsd vf13, %[ptr]" : : [ptr]"r"(&c[ldc*13]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[14*lda]));
- if (s) asm volatile ("vfld vf14, %[ptr]" : : [ptr]"r"(&c[ldc*14]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_14) : );
- if (e) asm volatile ("vfsd vf14, %[ptr]" : : [ptr]"r"(&c[ldc*14]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[15*lda]));
- if (s) asm volatile ("vfld vf15, %[ptr]" : : [ptr]"r"(&c[ldc*15]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_15) : );
- if (e) asm volatile ("vfsd vf15, %[ptr]" : : [ptr]"r"(&c[ldc*15]) : );
-
- asm volatile ("vfmsv.d vf19, %[ptr]" : : [ptr]"r"(a[16*lda]));
- if (s) asm volatile ("vfld vf16, %[ptr]" : : [ptr]"r"(&c[ldc*16]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_16) : );
- if (e) asm volatile ("vfsd vf16, %[ptr]" : : [ptr]"r"(&c[ldc*16]) : );
-
- asm volatile ("vfmsv.d vf18, %[ptr]" : : [ptr]"r"(a[17*lda]));
- if (s) asm volatile ("vfld vf17, %[ptr]" : : [ptr]"r"(&c[ldc*17]) : );
- asm volatile ("vf 0(%[vf_ptr])" : : [vf_ptr]"r"(&hwacha_mm_17) : );
- if (e) asm volatile ("vfsd vf17, %[ptr]" : : [ptr]"r"(&c[ldc*17]) : );
-}
-
-static inline void mm_rb_hwacha(size_t m, size_t n, size_t p,
- t* a, size_t lda, t* b, size_t ldb, t* c, size_t ldc)
-{
- int vl;
- asm volatile ("vsetcfg 4, 21" : : : );
- asm volatile ("vsetvl %[gvl], %[nvl]" : [gvl]"=r"(vl) : [nvl]"r"(n) : );
-
- size_t mb = m/HRBM*HRBM, nk=p/HRBK*HRBK;
-
- for (size_t i=0; i<mb; i+=HRBM)
- {
- for (size_t k=0; k<nk; k+=HRBK)
- {
- nloop(k==0, k==(p-1), a+i*lda+k, lda, b+k*ldb, ldb, c+i*ldc, ldc);
- }
- }
-}
diff --git a/benchmarks/mm/mm_main.c b/benchmarks/mm/mm_main.c
index 1f4e28b..8b6a093 100644
--- a/benchmarks/mm/mm_main.c
+++ b/benchmarks/mm/mm_main.c
@@ -12,15 +12,9 @@ void thread_entry(int cid, int nc)
int m, n, p;
uint64_t s = 0xdeadbeefU;
- if (have_vec) {
- m = HCBM;
- n = HCBN;
- p = HCBK;
- } else {
- m = CBM;
- n = CBN;
- p = CBK;
- }
+ m = CBM;
+ n = CBN;
+ p = CBK;
t a[m*p];
t b[p*n];
@@ -35,24 +29,13 @@ void thread_entry(int cid, int nc)
memset(c, 0, m*n*sizeof(c[0]));
size_t instret, cycles;
- if (have_vec) {
- for (int i = 0; i < R; i++)
- {
- instret = -rdinstret();
- cycles = -rdcycle();
- mm_rb_hwacha(m, n, p, a, p, b, n, c, n);
- instret += rdinstret();
- cycles += rdcycle();
- }
- } else {
- for (int i = 0; i < R; i++)
- {
- instret = -rdinstret();
- cycles = -rdcycle();
- mm(m, n, p, a, p, b, n, c, n);
- instret += rdinstret();
- cycles += rdcycle();
- }
+ for (int i = 0; i < R; i++)
+ {
+ instret = -rdinstret();
+ cycles = -rdcycle();
+ mm(m, n, p, a, p, b, n, c, n);
+ instret += rdinstret();
+ cycles += rdcycle();
}
asm volatile("fence");
diff --git a/benchmarks/vec-cmplxmult/bmark.mk b/benchmarks/vec-cmplxmult/bmark.mk
deleted file mode 100644
index ae93506..0000000
--- a/benchmarks/vec-cmplxmult/bmark.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-#=======================================================================
-# UCB CS250 Makefile fragment for benchmarks
-#-----------------------------------------------------------------------
-#
-# Each benchmark directory should have its own fragment which
-# essentially lists what the source files are and how to link them
-# into an riscv and/or host executable. All variables should include
-# the benchmark name as a prefix so that they are unique.
-#
-
-vec_cmplxmult_c_src = \
- vec_cmplxmult_main.c \
-
-vec_cmplxmult_riscv_src = \
- crt.S \
- vec_cmplxmult_asm.S
-
-vec_cmplxmult_c_objs = $(patsubst %.c, %.o, $(vec_cmplxmult_c_src))
-vec_cmplxmult_riscv_objs = $(patsubst %.S, %.o, $(vec_cmplxmult_riscv_src))
-
-vec_cmplxmult_host_bin = vec-cmplxmult.host
-$(vec_cmplxmult_host_bin) : $(vec_cmplxmult_c_src)
- $(HOST_COMP) $^ -o $(vec_cmplxmult_host_bin)
-
-vec_cmplxmult_riscv_bin = vec-cmplxmult.riscv
-$(vec_cmplxmult_riscv_bin) : $(vec_cmplxmult_c_objs) $(vec_cmplxmult_riscv_objs)
- $(RISCV_LINK) $(RISCV_LINK_SYSCALL) $(vec_cmplxmult_c_objs) $(vec_cmplxmult_riscv_objs) -o $(vec_cmplxmult_riscv_bin)
-
-junk += $(vec_cmplxmult_c_objs) $(vec_cmplxmult_riscv_objs) \
- $(vec_cmplxmult_host_bin) $(vec_cmplxmult_riscv_bin)
diff --git a/benchmarks/vec-cmplxmult/cmplxmult_gendata.pl b/benchmarks/vec-cmplxmult/cmplxmult_gendata.pl
deleted file mode 100755
index 07881b8..0000000
--- a/benchmarks/vec-cmplxmult/cmplxmult_gendata.pl
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/usr/bin/perl -w
-#==========================================================================
-# vvadd_gendata.pl
-#
-# Author : Christopher Batten (cbatten@mit.edu)
-# Date : April 29, 2005
-#
-(our $usageMsg = <<'ENDMSG') =~ s/^\#//gm;
-#
-# Simple script which creates an input data set and the reference data
-# for the vvadd benchmark.
-#
-ENDMSG
-
-use strict "vars";
-use warnings;
-no warnings("once");
-use Getopt::Long;
-
-#--------------------------------------------------------------------------
-# Command line processing
-#--------------------------------------------------------------------------
-
-our %opts;
-
-sub usage()
-{
-
- print "\n";
- print " Usage: vvadd_gendata.pl [options] \n";
- print "\n";
- print " Options:\n";
- print " --help print this message\n";
- print " --size size of input data [1000]\n";
- print " --seed random seed [1]\n";
- print "$usageMsg";
-
- exit();
-}
-
-sub processCommandLine()
-{
-
- $opts{"help"} = 0;
- $opts{"size"} = 1000;
- $opts{"seed"} = 1;
- Getopt::Long::GetOptions( \%opts, 'help|?', 'size:i', 'seed:i' ) or usage();
- $opts{"help"} and usage();
-
-}
-
-#--------------------------------------------------------------------------
-# Helper Functions
-#--------------------------------------------------------------------------
-
-sub printArray
-{
- my $arrayName = $_[0];
- my $arrayRefReal = $_[1];
- my $arrayRefImag = $_[2];
-
- my $numCols = 20;
- my $arrayLen = scalar(@{$arrayRefReal});
-
- print "struct Complex ".$arrayName."[DATA_SIZE] = \n";
- print "{\n";
-
- print " ";
- for ( my $i = 0; $i < $arrayLen; $i++ ) {
- print sprintf("{%3.2f, %3.2f}",$arrayRefReal->[$i], $arrayRefImag->[$i]);
- if ( $i != $arrayLen-1 ) {
- print ",\n ";
- }
- }
-
- print "\n};\n\n";
-}
-
-#--------------------------------------------------------------------------
-# Main
-#--------------------------------------------------------------------------
-
-sub main()
-{
-
- processCommandLine();
- srand($opts{"seed"});
-
- my @values_real1;
- my @values_imag1;
- my @values_real2;
- my @values_imag2;
- my @product_real;
- my @product_imag;
- for ( my $i = 0; $i < $opts{"size"}; $i++ ) {
- my $value_real1 = (rand(9.0));
- my $value_imag1 = (rand(9.0));
- my $value_real2 = (rand(9.0));
- my $value_imag2 = (rand(9.0));
- push( @values_real1, $value_real1 );
- push( @values_imag1, $value_imag1 );
- push( @values_real2, $value_real2 );
- push( @values_imag2, $value_imag2 );
- push( @product_real, ($value_real1 * $value_real2) - ($value_imag1 * $value_imag2));
- push( @product_imag, ($value_imag1 * $value_real2) + ($value_real1 * $value_imag2));
- }
-
-
- print "\n\#define DATA_SIZE ".$opts{"size"}." \n\n";
- printArray( "input1_data", \@values_real1, \@values_imag1 );
- printArray( "input2_data", \@values_real2, \@values_imag2 );
- printArray( "verify_data", \@product_real, \@product_imag );
-
-}
-
-main();
-
diff --git a/benchmarks/vec-cmplxmult/dataset.h b/benchmarks/vec-cmplxmult/dataset.h
deleted file mode 100644
index 7fb3856..0000000
--- a/benchmarks/vec-cmplxmult/dataset.h
+++ /dev/null
@@ -1,1553 +0,0 @@
-// See LICENSE for license details.
-
-
-#define DATA_SIZE 512
-
-struct Complex input1_data[DATA_SIZE] =
-{
- {0.37, 4.09},
- {5.09, 0.02},
- {6.75, 3.30},
- {1.19, 0.58},
- {5.26, 1.95},
- {5.60, 1.90},
- {8.39, 3.06},
- {3.54, 8.09},
- {8.66, 0.11},
- {1.05, 6.76},
- {3.84, 4.51},
- {5.94, 6.32},
- {2.88, 8.84},
- {7.88, 6.27},
- {4.27, 2.45},
- {4.86, 5.83},
- {1.83, 0.80},
- {6.84, 6.04},
- {4.61, 4.97},
- {1.76, 5.34},
- {2.41, 8.58},
- {3.04, 5.26},
- {8.13, 3.32},
- {8.23, 2.96},
- {8.41, 5.34},
- {1.77, 4.90},
- {5.11, 8.82},
- {5.85, 7.34},
- {1.63, 1.88},
- {7.74, 5.67},
- {2.60, 6.35},
- {1.28, 2.28},
- {7.98, 3.87},
- {5.20, 4.85},
- {6.86, 0.04},
- {4.31, 0.90},
- {3.63, 6.25},
- {4.00, 2.67},
- {6.09, 5.59},
- {2.02, 3.17},
- {2.60, 5.83},
- {5.54, 4.75},
- {3.51, 7.17},
- {4.10, 6.49},
- {3.31, 6.72},
- {5.26, 8.91},
- {8.88, 7.69},
- {3.12, 4.79},
- {5.04, 4.15},
- {6.99, 3.23},
- {7.02, 6.17},
- {1.29, 4.02},
- {1.13, 6.70},
- {8.41, 4.32},
- {4.98, 8.34},
- {5.85, 3.22},
- {2.59, 6.00},
- {0.45, 5.03},
- {0.86, 7.69},
- {5.29, 0.55},
- {3.44, 3.57},
- {7.28, 0.16},
- {7.38, 2.62},
- {4.06, 4.83},
- {8.70, 8.26},
- {7.29, 8.86},
- {4.84, 0.49},
- {6.32, 8.57},
- {5.12, 1.36},
- {0.20, 5.78},
- {6.00, 6.58},
- {3.91, 6.56},
- {0.02, 3.56},
- {2.23, 8.21},
- {3.92, 7.34},
- {7.83, 2.39},
- {3.73, 2.13},
- {4.94, 1.63},
- {8.00, 4.54},
- {2.57, 1.56},
- {4.50, 3.13},
- {8.08, 0.62},
- {6.59, 5.93},
- {2.26, 1.10},
- {5.01, 7.47},
- {4.76, 3.91},
- {2.90, 6.79},
- {2.59, 5.65},
- {2.75, 0.10},
- {6.61, 0.95},
- {3.30, 7.37},
- {2.65, 3.66},
- {5.89, 7.72},
- {0.82, 0.54},
- {0.95, 6.02},
- {3.44, 1.09},
- {7.44, 3.72},
- {3.22, 0.11},
- {0.49, 8.70},
- {8.61, 5.60},
- {4.81, 8.30},
- {4.70, 5.83},
- {5.34, 7.99},
- {1.56, 0.33},
- {1.09, 4.96},
- {6.83, 8.74},
- {8.57, 3.91},
- {1.17, 2.73},
- {7.64, 7.75},
- {2.30, 4.31},
- {3.69, 6.08},
- {3.60, 8.92},
- {6.79, 4.06},
- {1.54, 1.40},
- {6.55, 4.08},
- {7.01, 4.59},
- {6.79, 3.84},
- {1.82, 4.35},
- {1.39, 3.06},
- {3.22, 0.46},
- {8.31, 5.42},
- {4.47, 8.73},
- {4.66, 7.93},
- {2.49, 7.84},
- {1.03, 5.44},
- {8.17, 8.00},
- {2.14, 3.65},
- {7.07, 6.72},
- {3.22, 2.48},
- {7.38, 2.04},
- {2.52, 8.50},
- {4.13, 6.39},
- {6.40, 0.49},
- {0.38, 0.48},
- {3.40, 0.37},
- {6.31, 3.75},
- {4.33, 1.98},
- {4.50, 6.94},
- {0.45, 4.35},
- {7.87, 6.53},
- {8.94, 1.68},
- {6.50, 0.01},
- {2.10, 2.23},
- {6.29, 3.27},
- {3.14, 2.11},
- {3.16, 0.37},
- {5.17, 1.76},
- {6.75, 6.70},
- {7.42, 3.21},
- {1.53, 1.27},
- {6.08, 2.61},
- {1.82, 2.88},
- {7.69, 1.07},
- {3.56, 0.64},
- {7.70, 3.50},
- {1.42, 0.32},
- {6.90, 6.29},
- {1.76, 6.10},
- {1.97, 7.96},
- {1.60, 6.73},
- {6.30, 4.61},
- {6.37, 3.97},
- {0.76, 6.60},
- {8.05, 6.33},
- {3.36, 0.78},
- {0.13, 1.94},
- {0.75, 5.87},
- {7.16, 3.87},
- {5.79, 0.87},
- {7.52, 5.94},
- {4.16, 4.72},
- {5.06, 5.63},
- {0.09, 6.44},
- {8.15, 0.50},
- {3.67, 2.75},
- {5.04, 8.12},
- {4.62, 6.23},
- {2.73, 4.48},
- {3.85, 8.48},
- {3.24, 4.33},
- {6.17, 7.41},
- {1.67, 6.13},
- {0.97, 1.01},
- {3.49, 1.67},
- {4.38, 6.48},
- {6.30, 6.75},
- {6.94, 7.33},
- {0.73, 2.94},
- {3.67, 0.31},
- {0.27, 8.43},
- {7.84, 0.80},
- {1.34, 3.06},
- {1.33, 4.99},
- {7.61, 8.60},
- {1.27, 3.57},
- {7.36, 2.25},
- {5.07, 7.50},
- {5.55, 3.55},
- {7.32, 4.24},
- {1.44, 3.03},
- {7.24, 2.25},
- {4.91, 4.89},
- {4.13, 5.73},
- {7.86, 5.24},
- {7.26, 6.05},
- {0.94, 3.77},
- {2.29, 8.29},
- {1.23, 6.71},
- {5.27, 1.25},
- {3.74, 8.36},
- {6.37, 4.12},
- {3.41, 1.66},
- {8.80, 1.77},
- {8.54, 3.75},
- {1.49, 8.98},
- {0.95, 6.63},
- {7.17, 7.44},
- {2.74, 0.46},
- {5.72, 4.84},
- {1.07, 2.65},
- {4.79, 0.99},
- {0.34, 7.04},
- {6.67, 3.38},
- {6.91, 8.08},
- {0.52, 0.40},
- {7.07, 7.62},
- {7.54, 0.89},
- {0.61, 4.00},
- {8.98, 1.49},
- {1.55, 0.26},
- {5.60, 2.92},
- {7.44, 3.39},
- {6.25, 8.09},
- {2.13, 1.52},
- {6.71, 1.75},
- {1.12, 8.43},
- {8.49, 7.04},
- {3.34, 5.58},
- {2.43, 8.41},
- {6.88, 7.45},
- {8.25, 8.90},
- {0.01, 5.85},
- {8.97, 0.01},
- {5.05, 3.60},
- {8.76, 7.13},
- {4.59, 8.87},
- {8.74, 5.41},
- {5.22, 6.15},
- {2.26, 8.14},
- {1.16, 8.97},
- {6.45, 5.61},
- {6.12, 8.07},
- {2.17, 7.39},
- {7.15, 2.04},
- {0.01, 2.37},
- {8.89, 2.15},
- {6.80, 5.50},
- {1.83, 2.15},
- {1.62, 7.97},
- {1.49, 0.97},
- {8.78, 7.11},
- {5.04, 0.21},
- {3.81, 8.02},
- {5.10, 0.48},
- {4.44, 1.81},
- {6.72, 3.68},
- {3.36, 5.82},
- {5.99, 0.74},
- {4.81, 0.47},
- {8.19, 2.02},
- {0.30, 6.63},
- {3.30, 1.51},
- {7.04, 4.79},
- {6.35, 1.52},
- {8.53, 0.92},
- {0.45, 0.39},
- {4.28, 5.90},
- {6.12, 5.64},
- {8.59, 7.41},
- {4.30, 5.78},
- {6.43, 2.21},
- {4.77, 7.90},
- {0.70, 5.41},
- {8.18, 6.98},
- {1.29, 2.11},
- {2.16, 4.09},
- {3.29, 1.89},
- {0.49, 8.12},
- {3.96, 5.91},
- {2.84, 5.36},
- {6.28, 4.19},
- {6.54, 0.63},
- {2.55, 0.29},
- {5.61, 0.23},
- {8.02, 4.40},
- {2.62, 3.69},
- {6.54, 0.25},
- {4.94, 4.86},
- {5.81, 2.73},
- {2.61, 6.62},
- {1.47, 4.98},
- {4.43, 0.97},
- {1.05, 0.44},
- {7.74, 1.30},
- {2.55, 6.53},
- {8.23, 4.24},
- {1.76, 3.09},
- {7.05, 6.10},
- {6.56, 3.03},
- {3.88, 4.19},
- {6.85, 5.32},
- {2.79, 3.66},
- {3.19, 6.72},
- {6.30, 4.73},
- {4.39, 2.31},
- {0.91, 4.92},
- {2.42, 3.31},
- {0.68, 0.96},
- {8.90, 3.57},
- {8.19, 3.87},
- {0.83, 1.18},
- {2.50, 8.93},
- {3.17, 8.93},
- {7.78, 4.05},
- {0.91, 5.55},
- {5.12, 6.37},
- {3.34, 7.63},
- {4.16, 2.85},
- {1.64, 6.72},
- {1.44, 4.71},
- {0.20, 1.04},
- {5.81, 2.04},
- {7.02, 1.80},
- {7.71, 6.69},
- {8.86, 6.35},
- {5.09, 7.07},
- {2.28, 8.67},
- {1.39, 2.65},
- {2.29, 1.30},
- {8.10, 7.17},
- {2.94, 6.11},
- {2.78, 7.15},
- {1.44, 5.74},
- {7.56, 2.18},
- {4.96, 6.24},
- {0.74, 5.42},
- {2.92, 3.59},
- {0.93, 0.66},
- {8.71, 8.81},
- {1.60, 5.03},
- {3.36, 4.56},
- {5.40, 5.87},
- {3.40, 2.89},
- {5.33, 3.61},
- {3.97, 7.61},
- {5.35, 8.41},
- {8.18, 4.04},
- {3.40, 0.46},
- {7.04, 8.11},
- {4.47, 6.74},
- {7.27, 0.06},
- {4.94, 2.57},
- {0.27, 4.06},
- {5.68, 6.95},
- {5.53, 4.82},
- {1.05, 4.34},
- {8.15, 3.91},
- {5.47, 0.38},
- {1.53, 7.80},
- {4.57, 3.74},
- {3.89, 4.86},
- {1.33, 0.95},
- {1.01, 5.36},
- {7.52, 3.15},
- {8.55, 2.59},
- {4.40, 1.39},
- {7.19, 4.86},
- {6.93, 7.86},
- {4.37, 5.88},
- {6.50, 6.74},
- {7.40, 3.07},
- {0.00, 1.86},
- {2.50, 4.56},
- {6.13, 8.66},
- {5.00, 5.65},
- {4.66, 8.75},
- {4.56, 3.70},
- {2.22, 0.57},
- {3.55, 3.57},
- {1.93, 5.58},
- {4.73, 5.02},
- {1.56, 0.61},
- {5.59, 4.62},
- {4.82, 0.06},
- {1.44, 7.95},
- {7.30, 6.89},
- {0.68, 4.56},
- {1.51, 7.49},
- {7.69, 5.75},
- {2.92, 0.66},
- {0.47, 0.54},
- {0.10, 8.37},
- {6.58, 8.66},
- {2.59, 7.19},
- {0.83, 7.69},
- {8.22, 5.41},
- {7.75, 2.10},
- {6.71, 1.62},
- {5.54, 6.22},
- {8.24, 4.46},
- {2.60, 2.11},
- {1.16, 7.03},
- {4.95, 0.20},
- {8.84, 6.68},
- {5.61, 3.86},
- {5.64, 5.44},
- {3.48, 3.11},
- {4.26, 2.86},
- {2.16, 7.76},
- {7.79, 4.61},
- {3.21, 0.63},
- {7.44, 7.69},
- {3.52, 4.42},
- {0.35, 2.73},
- {5.56, 7.33},
- {1.86, 3.50},
- {7.06, 8.72},
- {7.34, 0.44},
- {6.00, 2.27},
- {0.85, 6.68},
- {3.80, 1.59},
- {6.08, 4.72},
- {3.37, 8.58},
- {0.58, 4.79},
- {6.83, 0.21},
- {4.51, 7.63},
- {3.03, 7.70},
- {2.14, 0.22},
- {4.22, 2.87},
- {5.09, 5.97},
- {4.05, 2.53},
- {1.23, 2.65},
- {3.45, 6.61},
- {2.42, 4.24},
- {8.18, 6.07},
- {8.58, 3.96},
- {3.58, 1.40},
- {2.09, 8.55},
- {0.32, 4.01},
- {3.99, 7.07},
- {3.50, 8.50},
- {5.60, 3.30},
- {5.52, 5.45},
- {8.59, 3.07},
- {4.16, 8.21},
- {7.32, 3.92},
- {6.06, 0.71},
- {2.82, 8.56},
- {0.50, 0.24},
- {6.79, 1.81},
- {7.92, 7.91},
- {5.16, 7.92},
- {6.50, 1.29},
- {5.80, 7.32},
- {8.72, 4.75},
- {7.57, 7.18},
- {5.68, 2.65},
- {7.16, 2.49},
- {7.98, 3.72},
- {6.28, 3.48},
- {0.84, 2.91},
- {7.07, 4.85},
- {5.24, 8.65},
- {8.32, 0.44},
- {5.88, 8.09},
- {2.36, 4.46},
- {5.49, 7.25},
- {4.86, 3.89},
- {5.05, 1.73},
- {0.18, 7.01},
- {8.80, 3.24},
- {3.48, 6.73},
- {5.98, 6.75},
- {1.91, 3.68},
- {8.17, 3.98},
- {6.64, 0.88},
- {0.23, 3.24},
- {7.19, 6.06},
- {4.07, 7.93},
- {6.16, 2.71},
- {7.35, 8.32},
- {5.52, 7.36},
- {1.05, 2.20},
- {2.54, 8.26},
- {2.61, 5.89},
- {5.81, 3.66},
- {8.40, 0.98},
- {6.17, 4.18},
- {7.89, 0.78},
- {3.71, 4.02},
- {5.98, 4.86},
- {7.06, 0.26},
- {6.38, 6.63},
- {4.72, 5.50},
- {0.34, 6.06},
- {0.39, 6.90},
- {1.12, 3.69},
- {7.34, 1.68},
- {1.93, 5.12},
- {5.16, 8.99},
- {8.62, 4.11},
- {5.87, 5.10}
-};
-
-struct Complex input2_data[DATA_SIZE] =
-{
- {7.51, 3.02},
- {1.69, 8.91},
- {3.16, 5.16},
- {8.56, 1.38},
- {7.26, 1.26},
- {0.06, 5.16},
- {8.02, 5.34},
- {6.25, 2.06},
- {1.00, 7.96},
- {2.67, 5.82},
- {2.83, 3.93},
- {6.97, 7.32},
- {6.12, 1.36},
- {3.40, 5.08},
- {8.45, 2.33},
- {5.13, 4.59},
- {2.53, 6.34},
- {5.46, 3.38},
- {5.93, 8.44},
- {0.74, 5.13},
- {2.06, 7.22},
- {8.51, 5.79},
- {2.18, 4.41},
- {7.45, 2.82},
- {8.88, 3.50},
- {8.65, 5.85},
- {3.16, 8.99},
- {5.92, 0.71},
- {1.01, 8.99},
- {0.59, 7.63},
- {3.15, 8.98},
- {8.16, 6.45},
- {2.38, 3.74},
- {8.83, 6.31},
- {2.17, 4.46},
- {4.50, 7.79},
- {2.00, 3.75},
- {6.50, 2.58},
- {2.86, 0.71},
- {8.45, 4.87},
- {1.08, 1.53},
- {5.46, 2.61},
- {3.16, 7.22},
- {2.51, 6.84},
- {3.23, 0.83},
- {0.57, 2.44},
- {3.63, 7.10},
- {4.66, 2.01},
- {8.18, 2.18},
- {2.30, 2.99},
- {5.39, 6.67},
- {0.31, 2.81},
- {8.48, 5.02},
- {7.20, 5.02},
- {3.89, 7.17},
- {8.58, 8.03},
- {0.18, 4.64},
- {0.78, 7.84},
- {3.98, 3.97},
- {5.54, 6.12},
- {2.53, 0.09},
- {8.75, 1.54},
- {3.11, 3.43},
- {4.62, 1.67},
- {3.13, 4.86},
- {7.95, 8.00},
- {8.53, 5.52},
- {3.21, 4.32},
- {8.03, 0.07},
- {5.12, 3.02},
- {3.81, 0.86},
- {1.43, 2.53},
- {0.76, 6.20},
- {0.45, 4.30},
- {7.14, 6.57},
- {4.38, 1.15},
- {3.33, 1.93},
- {4.67, 0.06},
- {6.15, 5.37},
- {2.38, 5.80},
- {2.62, 5.40},
- {1.94, 7.66},
- {6.20, 5.58},
- {7.08, 1.19},
- {2.72, 6.01},
- {4.91, 4.40},
- {8.54, 1.13},
- {7.42, 0.13},
- {7.11, 3.64},
- {8.65, 6.34},
- {6.51, 8.69},
- {8.79, 7.88},
- {6.75, 0.78},
- {3.41, 5.95},
- {0.93, 1.38},
- {5.87, 0.88},
- {7.57, 2.13},
- {1.34, 3.82},
- {1.26, 1.95},
- {3.09, 3.26},
- {6.82, 6.44},
- {7.55, 2.70},
- {0.12, 6.15},
- {0.57, 4.45},
- {1.20, 4.84},
- {3.35, 5.79},
- {0.36, 3.74},
- {1.00, 3.95},
- {3.94, 1.83},
- {2.43, 8.90},
- {5.66, 6.48},
- {4.95, 3.05},
- {5.08, 5.70},
- {0.17, 5.83},
- {4.52, 3.85},
- {0.39, 8.91},
- {0.73, 0.11},
- {7.69, 1.28},
- {6.85, 3.52},
- {8.50, 1.54},
- {2.96, 0.95},
- {3.99, 1.09},
- {5.78, 0.74},
- {7.08, 5.41},
- {7.59, 7.85},
- {2.48, 5.50},
- {0.30, 2.11},
- {5.09, 4.74},
- {7.24, 3.98},
- {6.77, 6.78},
- {0.77, 6.54},
- {4.10, 1.81},
- {4.14, 6.83},
- {2.28, 3.58},
- {4.58, 1.27},
- {7.75, 6.74},
- {6.68, 4.31},
- {6.39, 1.62},
- {3.35, 6.23},
- {8.52, 1.56},
- {4.75, 8.24},
- {3.92, 8.68},
- {4.48, 4.19},
- {0.28, 4.70},
- {2.26, 1.09},
- {2.26, 7.02},
- {7.06, 1.45},
- {4.53, 3.96},
- {7.45, 3.63},
- {1.45, 5.70},
- {0.29, 7.05},
- {1.29, 5.73},
- {0.81, 7.68},
- {0.97, 7.35},
- {0.96, 8.60},
- {0.05, 0.15},
- {1.84, 6.27},
- {5.18, 5.39},
- {4.74, 7.43},
- {2.16, 4.17},
- {6.82, 4.81},
- {0.45, 3.86},
- {7.21, 6.55},
- {4.62, 4.93},
- {4.44, 7.20},
- {5.60, 0.20},
- {0.93, 0.54},
- {8.30, 5.93},
- {7.93, 8.77},
- {2.16, 8.70},
- {1.03, 0.56},
- {4.77, 2.73},
- {8.98, 3.69},
- {3.49, 6.57},
- {0.95, 3.93},
- {8.44, 5.34},
- {3.69, 7.18},
- {1.82, 1.60},
- {5.53, 8.97},
- {4.70, 1.43},
- {0.20, 5.51},
- {2.82, 0.13},
- {2.48, 7.18},
- {2.19, 0.00},
- {0.95, 0.87},
- {8.10, 6.66},
- {5.81, 3.92},
- {1.46, 0.34},
- {8.52, 5.46},
- {6.92, 0.24},
- {1.03, 3.98},
- {0.56, 3.10},
- {7.55, 3.29},
- {3.90, 5.76},
- {1.90, 8.93},
- {7.40, 3.05},
- {3.28, 8.78},
- {4.47, 2.40},
- {8.26, 3.14},
- {3.88, 3.78},
- {1.62, 1.95},
- {7.57, 8.14},
- {7.09, 6.58},
- {7.17, 7.39},
- {6.83, 8.82},
- {3.62, 6.04},
- {8.87, 5.12},
- {6.57, 5.97},
- {7.16, 3.48},
- {4.76, 1.56},
- {4.99, 2.85},
- {6.91, 4.30},
- {2.13, 3.60},
- {2.07, 7.26},
- {4.56, 2.43},
- {6.35, 6.28},
- {1.26, 4.76},
- {7.17, 5.62},
- {5.05, 0.79},
- {0.08, 7.82},
- {7.33, 3.59},
- {5.27, 5.83},
- {5.58, 8.50},
- {4.31, 5.31},
- {8.64, 2.60},
- {8.88, 6.69},
- {2.77, 4.71},
- {7.43, 3.89},
- {6.75, 8.39},
- {7.44, 4.16},
- {1.40, 2.46},
- {0.39, 3.07},
- {0.73, 1.43},
- {6.74, 4.00},
- {2.40, 5.69},
- {6.59, 2.47},
- {3.83, 1.67},
- {2.89, 2.63},
- {4.89, 1.41},
- {6.78, 0.80},
- {0.13, 5.67},
- {8.16, 0.29},
- {7.30, 6.71},
- {7.87, 8.25},
- {2.61, 5.00},
- {5.03, 4.78},
- {3.65, 3.62},
- {2.64, 4.87},
- {7.66, 1.09},
- {4.08, 4.70},
- {0.78, 2.02},
- {1.64, 4.78},
- {3.03, 5.87},
- {5.78, 0.87},
- {2.88, 5.13},
- {5.83, 1.14},
- {8.64, 1.73},
- {1.28, 7.18},
- {2.70, 5.16},
- {6.86, 1.27},
- {5.83, 7.68},
- {5.58, 6.35},
- {2.35, 4.33},
- {4.88, 3.36},
- {8.93, 4.92},
- {1.87, 1.08},
- {8.40, 4.19},
- {0.31, 2.64},
- {4.31, 7.93},
- {1.83, 6.71},
- {1.93, 7.98},
- {8.04, 0.02},
- {6.13, 2.90},
- {6.20, 4.38},
- {3.48, 1.60},
- {0.91, 6.38},
- {3.60, 8.25},
- {2.97, 2.18},
- {4.25, 7.17},
- {6.54, 2.27},
- {8.45, 1.36},
- {7.84, 3.00},
- {4.91, 8.46},
- {7.69, 3.58},
- {8.82, 6.81},
- {0.95, 3.82},
- {0.89, 8.67},
- {0.88, 8.32},
- {6.89, 4.77},
- {3.03, 0.82},
- {6.98, 6.18},
- {2.92, 6.80},
- {4.83, 4.46},
- {5.36, 3.51},
- {0.68, 0.34},
- {4.47, 5.76},
- {4.05, 8.57},
- {1.22, 0.73},
- {7.55, 6.52},
- {6.91, 1.13},
- {3.75, 2.24},
- {8.88, 3.26},
- {5.57, 7.83},
- {2.12, 7.58},
- {5.15, 3.02},
- {5.05, 2.37},
- {2.18, 7.29},
- {8.88, 3.06},
- {3.10, 3.70},
- {5.52, 0.51},
- {1.59, 4.38},
- {3.01, 8.95},
- {2.79, 2.15},
- {0.42, 3.03},
- {4.54, 1.21},
- {3.54, 6.51},
- {2.83, 8.50},
- {3.12, 5.67},
- {5.41, 1.88},
- {3.47, 4.72},
- {4.91, 3.21},
- {6.02, 6.07},
- {7.69, 6.49},
- {2.82, 0.77},
- {4.80, 1.90},
- {7.53, 6.64},
- {8.92, 4.08},
- {8.22, 8.78},
- {2.42, 7.18},
- {6.95, 5.57},
- {7.70, 6.55},
- {0.16, 1.49},
- {8.21, 7.48},
- {1.24, 1.69},
- {6.46, 6.05},
- {6.48, 7.98},
- {7.08, 5.93},
- {1.77, 5.59},
- {4.03, 1.56},
- {0.05, 0.65},
- {5.55, 0.72},
- {1.58, 6.17},
- {1.11, 8.72},
- {6.45, 8.09},
- {2.07, 3.36},
- {5.65, 6.50},
- {8.35, 4.98},
- {0.16, 1.58},
- {1.43, 2.93},
- {5.35, 1.67},
- {3.55, 7.75},
- {6.72, 5.17},
- {7.80, 3.15},
- {4.98, 8.02},
- {3.12, 7.97},
- {2.62, 8.84},
- {4.91, 8.91},
- {4.11, 2.99},
- {0.99, 6.46},
- {8.07, 4.00},
- {6.31, 3.55},
- {3.07, 6.34},
- {7.48, 5.88},
- {4.92, 4.37},
- {8.76, 5.04},
- {2.83, 4.57},
- {8.75, 3.10},
- {7.16, 7.07},
- {8.08, 3.80},
- {8.26, 7.85},
- {3.06, 1.46},
- {2.03, 4.34},
- {5.23, 1.04},
- {1.21, 8.69},
- {1.82, 2.10},
- {3.57, 5.43},
- {4.31, 8.50},
- {5.17, 1.09},
- {3.06, 7.31},
- {4.06, 3.26},
- {6.71, 8.20},
- {5.36, 5.16},
- {1.08, 8.77},
- {6.82, 3.20},
- {7.64, 7.66},
- {3.42, 8.21},
- {8.15, 6.94},
- {2.19, 7.88},
- {3.88, 4.35},
- {2.20, 5.82},
- {3.60, 2.96},
- {2.75, 7.97},
- {5.36, 8.76},
- {6.30, 4.62},
- {6.76, 5.07},
- {4.10, 3.30},
- {0.84, 7.09},
- {0.15, 3.45},
- {4.46, 4.08},
- {0.71, 0.76},
- {1.01, 8.40},
- {3.09, 8.33},
- {6.13, 0.62},
- {8.66, 8.88},
- {5.64, 7.97},
- {5.55, 3.51},
- {6.70, 7.15},
- {4.31, 6.97},
- {4.58, 6.99},
- {7.30, 1.26},
- {8.78, 3.89},
- {5.23, 3.35},
- {7.82, 5.89},
- {2.43, 7.35},
- {5.88, 1.26},
- {8.92, 2.84},
- {2.92, 8.01},
- {1.48, 2.34},
- {1.71, 3.40},
- {2.09, 2.74},
- {1.38, 0.32},
- {2.96, 5.20},
- {7.64, 2.94},
- {3.63, 3.88},
- {4.92, 6.39},
- {0.02, 8.67},
- {8.02, 3.99},
- {7.50, 7.49},
- {3.70, 2.90},
- {2.22, 1.62},
- {1.91, 1.05},
- {0.09, 6.89},
- {3.85, 6.35},
- {0.48, 7.25},
- {7.31, 5.51},
- {3.95, 3.38},
- {2.96, 8.75},
- {3.75, 5.76},
- {6.17, 6.52},
- {2.75, 5.83},
- {5.39, 1.43},
- {7.95, 7.98},
- {8.45, 7.81},
- {1.04, 2.67},
- {0.45, 4.26},
- {3.30, 0.05},
- {2.32, 4.57},
- {6.01, 5.41},
- {8.93, 2.00},
- {1.93, 3.15},
- {0.12, 1.35},
- {0.48, 4.00},
- {8.42, 6.49},
- {7.47, 8.76},
- {5.60, 2.90},
- {4.71, 0.45},
- {0.52, 6.86},
- {3.18, 2.15},
- {8.76, 2.04},
- {3.75, 1.59},
- {7.79, 4.06},
- {1.47, 0.90},
- {0.11, 0.29},
- {4.57, 6.95},
- {7.04, 4.40},
- {2.18, 1.75},
- {7.30, 8.71},
- {3.93, 3.11},
- {5.40, 1.78},
- {5.80, 1.05},
- {6.40, 6.13},
- {1.01, 4.99},
- {0.12, 7.88},
- {5.55, 4.57},
- {3.24, 4.86},
- {2.10, 6.88},
- {6.18, 2.58},
- {1.06, 7.54},
- {6.66, 7.44},
- {2.86, 5.28},
- {5.17, 3.18},
- {6.96, 0.10},
- {4.55, 0.05},
- {8.01, 5.80},
- {3.79, 3.32},
- {4.65, 1.53},
- {1.98, 4.75},
- {6.46, 0.63},
- {6.23, 2.69},
- {4.14, 2.95},
- {2.92, 7.47},
- {2.23, 4.48},
- {3.18, 8.84},
- {6.66, 6.43},
- {8.20, 4.54},
- {5.64, 4.90},
- {1.98, 2.74},
- {3.36, 8.60},
- {5.83, 7.23},
- {8.61, 0.25},
- {7.66, 5.90},
- {3.54, 4.24},
- {3.80, 8.48},
- {6.15, 4.07},
- {1.41, 2.14},
- {6.92, 6.43},
- {4.95, 7.83},
- {2.26, 4.29},
- {1.91, 0.40},
- {8.10, 1.26},
- {5.49, 4.23},
- {3.92, 3.68}
-};
-
-struct Complex verify_data[DATA_SIZE] =
-{
- {-9.55, 31.87},
- {8.45, 45.39},
- {4.34, 45.27},
- {9.41, 6.59},
- {35.73, 20.80},
- {-9.46, 29.00},
- {50.95, 69.43},
- {5.47, 57.90},
- {7.79, 69.03},
- {-36.53, 24.18},
- {-6.85, 27.86},
- {-4.86, 87.57},
- {5.59, 57.99},
- {-5.10, 61.38},
- {30.42, 30.70},
- {-1.81, 52.19},
- {-0.43, 13.62},
- {16.97, 56.10},
- {-14.63, 68.37},
- {-26.08, 12.95},
- {-56.93, 35.07},
- {-4.61, 62.42},
- {3.10, 43.03},
- {52.89, 45.25},
- {55.98, 76.85},
- {-13.41, 52.73},
- {-63.15, 73.78},
- {29.38, 47.60},
- {-15.25, 16.57},
- {-38.76, 62.42},
- {-48.83, 43.31},
- {-4.32, 26.85},
- {4.49, 39.11},
- {15.24, 75.60},
- {14.71, 30.66},
- {12.39, 37.66},
- {-16.19, 26.14},
- {19.10, 27.68},
- {13.49, 20.33},
- {1.62, 36.60},
- {-6.13, 10.25},
- {17.87, 40.40},
- {-40.70, 48.05},
- {-34.10, 44.30},
- {5.13, 24.45},
- {-18.80, 17.91},
- {-22.36, 91.00},
- {4.95, 28.61},
- {32.18, 44.95},
- {6.40, 28.33},
- {-3.28, 80.04},
- {-10.91, 4.86},
- {-24.07, 62.47},
- {38.92, 73.33},
- {-40.44, 68.15},
- {24.28, 74.58},
- {-27.37, 13.08},
- {-39.05, 7.43},
- {-27.07, 33.97},
- {25.94, 35.40},
- {8.40, 9.34},
- {63.51, 12.56},
- {13.94, 33.44},
- {10.67, 29.11},
- {-12.93, 68.17},
- {-12.91, 128.67},
- {38.58, 30.92},
- {-16.80, 54.81},
- {41.01, 11.31},
- {-16.46, 30.20},
- {17.23, 30.21},
- {-10.98, 19.28},
- {-22.07, 2.83},
- {-34.27, 13.24},
- {-20.25, 78.23},
- {31.56, 19.48},
- {8.30, 14.29},
- {22.98, 7.89},
- {24.83, 70.87},
- {-2.96, 18.61},
- {-5.10, 32.50},
- {10.92, 63.09},
- {7.76, 73.56},
- {14.73, 10.45},
- {-31.23, 50.42},
- {6.18, 40.10},
- {17.09, 61.26},
- {18.50, 42.26},
- {19.17, 10.67},
- {51.10, 50.14},
- {-42.52, 76.67},
- {-5.54, 53.06},
- {33.70, 56.65},
- {-0.44, 6.76},
- {-7.42, 6.89},
- {19.24, 9.46},
- {48.41, 43.99},
- {3.87, 12.42},
- {-16.32, 11.94},
- {8.37, 45.34},
- {-20.69, 87.66},
- {19.71, 56.72},
- {-48.50, 33.76},
- {-0.57, 7.13},
- {-22.71, 11.26},
- {-27.73, 68.86},
- {-11.59, 33.48},
- {-9.62, 7.36},
- {15.89, 44.50},
- {-32.81, 30.96},
- {-18.53, 58.34},
- {-9.41, 55.15},
- {11.33, 59.36},
- {-7.88, 9.24},
- {13.91, 43.66},
- {-38.15, 64.22},
- {4.54, 3.59},
- {8.44, 35.80},
- {-1.29, 25.84},
- {26.64, 8.86},
- {19.44, 23.93},
- {8.31, 39.70},
- {21.07, 49.26},
- {-24.77, 69.02},
- {-34.89, 49.32},
- {-23.70, 64.79},
- {-7.06, 5.59},
- {4.13, 67.73},
- {13.44, 30.78},
- {36.07, 63.89},
- {-53.67, 23.06},
- {5.35, 33.70},
- {23.17, 45.78},
- {-0.85, 2.44},
- {15.12, 6.04},
- {23.63, 71.56},
- {20.37, 31.88},
- {17.50, 51.67},
- {-25.60, 17.35},
- {56.86, 67.97},
- {28.63, 81.59},
- {25.38, 56.49},
- {0.05, 18.79},
- {-13.60, 30.47},
- {4.80, 8.17},
- {4.55, 23.00},
- {33.94, 19.94},
- {4.04, 57.01},
- {43.61, 50.83},
- {-5.06, 10.59},
- {-16.60, 43.62},
- {-14.17, 14.19},
- {-1.97, 59.94},
- {-1.25, 26.76},
- {-22.66, 69.63},
- {0.03, 0.23},
- {-26.76, 54.82},
- {-23.82, 41.05},
- {-49.83, 52.38},
- {-24.58, 21.18},
- {20.76, 61.75},
- {-12.48, 26.36},
- {-37.73, 52.56},
- {6.00, 68.90},
- {9.32, 27.67},
- {0.36, 10.88},
- {-2.45, 5.87},
- {36.49, 74.56},
- {38.31, 57.71},
- {-35.46, 78.25},
- {1.62, 7.20},
- {8.75, 40.70},
- {-22.91, 58.17},
- {25.14, 55.26},
- {-7.33, 17.05},
- {-0.86, 95.47},
- {-27.65, 56.11},
- {-2.21, 12.53},
- {-54.69, 81.45},
- {9.02, 24.97},
- {-39.56, 35.42},
- {3.90, 17.48},
- {-4.84, 9.43},
- {7.63, 3.67},
- {-1.49, 9.99},
- {6.07, 96.66},
- {11.55, 69.81},
- {0.06, 4.54},
- {29.61, 22.63},
- {-0.18, 58.41},
- {4.87, 32.02},
- {-8.74, 5.88},
- {-6.42, 42.08},
- {-19.85, 77.38},
- {-29.51, 18.18},
- {47.64, 39.05},
- {-49.21, 69.14},
- {16.27, 29.14},
- {47.13, 57.96},
- {-5.88, 17.20},
- {7.39, 17.73},
- {-2.63, 76.94},
- {-8.43, 67.80},
- {17.66, 95.65},
- {-3.78, 105.43},
- {-19.35, 19.33},
- {-22.13, 85.25},
- {-32.01, 51.45},
- {33.34, 27.27},
- {4.76, 45.63},
- {20.07, 38.73},
- {16.43, 26.11},
- {12.41, 35.49},
- {-9.54, 69.75},
- {-15.05, 44.52},
- {-35.58, 48.02},
- {-26.35, 43.57},
- {17.04, 18.66},
- {25.06, 28.94},
- {-20.65, 8.61},
- {31.60, 24.50},
- {-39.23, 39.05},
- {8.47, 75.50},
- {-13.14, 71.52},
- {3.44, 4.81},
- {11.79, 114.92},
- {16.71, 37.99},
- {-11.03, 32.07},
- {48.07, 85.39},
- {10.42, 8.37},
- {0.67, 17.83},
- {-7.51, 24.17},
- {-6.98, 14.83},
- {8.26, 18.75},
- {6.14, 42.31},
- {-13.44, 58.32},
- {20.77, 41.19},
- {-5.08, 24.90},
- {0.02, 44.55},
- {40.65, 56.02},
- {-49.38, 47.95},
- {-1.62, 47.74},
- {65.36, 60.27},
- {10.12, 69.99},
- {-12.80, 62.38},
- {-19.28, 66.58},
- {12.35, 51.40},
- {-16.15, 41.69},
- {8.46, 64.81},
- {-37.44, 42.07},
- {-6.31, 17.43},
- {-28.52, 42.42},
- {-36.85, 35.12},
- {39.58, 17.97},
- {-12.11, 6.90},
- {49.39, 22.67},
- {49.25, 59.28},
- {-13.11, 15.93},
- {-36.76, 29.92},
- {9.02, 8.57},
- {-3.52, 108.92},
- {26.81, 33.21},
- {-25.78, 35.35},
- {23.31, 19.43},
- {30.72, 38.03},
- {8.59, 14.15},
- {3.84, 62.92},
- {-0.07, 16.04},
- {16.99, 40.18},
- {1.44, 58.64},
- {-52.31, 15.21},
- {26.47, 12.18},
- {29.26, 49.76},
- {32.75, 37.25},
- {28.24, 16.85},
- {-2.05, 3.25},
- {-33.27, 56.51},
- {5.90, 30.11},
- {-16.63, 93.02},
- {14.99, 47.54},
- {51.31, 27.46},
- {13.69, 76.22},
- {-42.35, 32.55},
- {37.88, 82.98},
- {-2.92, 27.40},
- {-13.59, 12.14},
- {-13.48, 30.24},
- {-67.06, 11.26},
- {-0.87, 59.62},
- {4.24, 18.59},
- {17.98, 68.03},
- {14.82, 46.36},
- {11.00, 12.77},
- {29.22, 20.92},
- {3.95, 5.68},
- {-9.54, 31.57},
- {24.37, 57.06},
- {2.50, 9.51},
- {26.05, 58.50},
- {10.56, 48.73},
- {-5.65, 21.94},
- {36.16, 23.04},
- {2.42, 10.68},
- {6.56, 61.46},
- {-6.60, 41.32},
- {31.49, 40.93},
- {-18.71, 19.55},
- {43.97, 75.72},
- {9.14, 33.64},
- {19.30, 25.13},
- {-12.38, 38.43},
- {-24.39, 35.99},
- {-5.55, 25.66},
- {-11.71, 21.07},
- {17.12, 15.80},
- {-28.85, 23.36},
- {-21.31, 29.96},
- {-3.33, 6.83},
- {41.43, 36.06},
- {10.13, 52.06},
- {0.30, 8.45},
- {-39.11, 68.91},
- {-33.57, 89.22},
- {18.81, 17.35},
- {-6.22, 28.36},
- {-3.80, 82.00},
- {-1.35, 81.71},
- {9.18, 59.90},
- {-44.29, 28.03},
- {-16.17, 40.76},
- {-5.22, 9.32},
- {-2.14, 9.00},
- {44.18, 67.32},
- {-1.76, 21.32},
- {18.82, 94.67},
- {-23.49, 86.50},
- {-35.23, 74.91},
- {-12.32, 12.48},
- {7.18, 8.81},
- {-4.30, 5.64},
- {11.90, 36.04},
- {-39.71, 28.47},
- {-48.46, 18.94},
- {31.11, 75.20},
- {-10.67, 29.61},
- {-31.00, 35.43},
- {6.53, 44.56},
- {-0.88, 1.57},
- {-13.32, 38.14},
- {0.14, 29.57},
- {-23.39, 42.20},
- {5.95, 67.32},
- {17.38, 33.26},
- {-2.36, 60.71},
- {-48.30, 55.33},
- {-60.27, 69.27},
- {4.13, 92.76},
- {12.63, 12.06},
- {-45.40, 53.50},
- {9.11, 72.28},
- {45.68, 26.21},
- {-1.17, 39.19},
- {-21.89, 31.92},
- {-2.45, 59.04},
- {24.16, 70.02},
- {-16.86, 17.05},
- {59.15, 59.47},
- {36.45, 41.38},
- {-17.30, 68.80},
- {8.35, 66.77},
- {4.78, 20.56},
- {-1.41, 7.70},
- {-0.27, 29.10},
- {-18.33, 69.13},
- {10.10, 22.61},
- {8.17, 28.85},
- {-10.28, 82.05},
- {27.25, 48.21},
- {-29.61, 49.95},
- {4.42, 48.59},
- {24.46, 81.28},
- {-9.60, 10.00},
- {-37.27, 26.90},
- {14.15, 78.71},
- {-5.04, 81.46},
- {-55.91, 68.15},
- {11.48, 61.76},
- {0.33, 18.74},
- {-1.75, 29.29},
- {-28.27, 23.57},
- {2.14, 32.10},
- {-0.58, 14.09},
- {-10.48, 73.71},
- {30.11, 22.64},
- {-30.62, 61.05},
- {7.14, 52.31},
- {-31.75, 8.68},
- {-25.60, 6.33},
- {10.81, 57.00},
- {1.58, 2.68},
- {-4.03, 4.49},
- {-69.40, 26.65},
- {34.97, 57.23},
- {-41.39, 85.26},
- {-56.66, 50.02},
- {26.67, 58.89},
- {36.97, 69.48},
- {17.62, 53.74},
- {-18.06, 67.20},
- {54.54, 42.92},
- {14.62, 28.66},
- {-17.46, 40.70},
- {37.49, 30.72},
- {-27.58, 81.20},
- {28.17, 29.78},
- {34.89, 64.55},
- {-14.73, 36.98},
- {-0.38, 14.23},
- {-22.73, 20.62},
- {3.66, 30.99},
- {4.21, 1.91},
- {-17.97, 61.45},
- {13.89, 44.10},
- {-9.36, 11.27},
- {-19.45, 71.53},
- {-30.31, 16.20},
- {21.83, 98.07},
- {51.73, 58.32},
- {15.61, 25.75},
- {-8.92, 16.21},
- {5.57, 7.03},
- {-31.94, 42.30},
- {-41.53, 54.41},
- {-34.46, 6.55},
- {48.82, 39.18},
- {-7.99, 45.35},
- {-58.46, 49.26},
- {6.76, 13.13},
- {7.31, 45.21},
- {-20.81, 46.15},
- {18.17, 19.43},
- {-11.37, 30.95},
- {-22.46, 82.83},
- {-8.81, 10.85},
- {-22.15, 37.62},
- {28.11, 13.51},
- {1.90, 19.58},
- {-33.67, 62.66},
- {-5.18, 36.44},
- {-14.59, 26.19},
- {-11.07, 5.77},
- {-10.54, 23.97},
- {11.13, 81.69},
- {37.26, 98.19},
- {-0.45, 58.06},
- {32.69, 21.79},
- {-1.75, 41.90},
- {-9.42, 33.26},
- {3.90, 3.16},
- {22.57, 17.60},
- {29.61, 93.77},
- {0.47, 16.32},
- {0.35, 2.00},
- {-24.37, 73.72},
- {40.52, 71.85},
- {3.95, 28.92},
- {18.43, 68.77},
- {20.38, 32.06},
- {36.49, 34.30},
- {32.78, 26.76},
- {-12.45, 23.75},
- {-17.04, 40.20},
- {-67.58, 42.30},
- {44.14, 40.41},
- {-20.29, 54.82},
- {-25.76, 25.64},
- {15.24, 59.03},
- {-24.18, 40.82},
- {20.78, 49.10},
- {-36.53, 21.06},
- {35.15, 44.67},
- {23.56, 47.18},
- {26.83, 31.04},
- {-6.04, 40.57},
- {17.77, 42.20},
- {29.56, 14.24},
- {-14.93, 7.49},
- {42.65, 43.61},
- {4.09, 60.41},
- {17.54, 29.38},
- {-40.77, 79.19},
- {-20.66, 41.15},
- {-16.10, 16.23},
- {-36.23, 71.30},
- {-5.32, 60.14},
- {14.84, 49.12},
- {13.98, 25.01},
- {-15.22, 67.15},
- {40.35, 61.61},
- {30.94, 35.53},
- {17.11, 72.57},
- {23.87, 30.84},
- {-31.95, 79.27},
- {6.63, 52.97},
- {-12.48, 9.24},
- {-41.66, 50.25},
- {-23.34, 27.06},
- {9.40, 35.27},
- {1.66, 10.57},
- {30.45, 79.29},
- {29.85, 59.03},
- {4.19, 41.60}
-};
-
diff --git a/benchmarks/vec-cmplxmult/dataset_test.h b/benchmarks/vec-cmplxmult/dataset_test.h
deleted file mode 100644
index 1f2fed7..0000000
--- a/benchmarks/vec-cmplxmult/dataset_test.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// See LICENSE for license details.
-
-
-#define DATA_SIZE 4
-
-struct Complex input1_data[DATA_SIZE] =
-{
- {0.37, 4.09},
- {5.09, 0.02},
- {6.75, 3.30},
- {1.19, 0.58}
-};
-
-struct Complex input2_data[DATA_SIZE] =
-{
- {7.51, 3.02},
- {1.69, 8.91},
- {3.16, 5.16},
- {8.56, 1.38}
-};
-
-struct Complex verify_data[DATA_SIZE] =
-{
- {-9.55, 31.87},
- {8.45, 45.39},
- {4.34, 45.27},
- {9.41, 6.59}
-};
-
diff --git a/benchmarks/vec-cmplxmult/vec_cmplxmult_asm.S b/benchmarks/vec-cmplxmult/vec_cmplxmult_asm.S
deleted file mode 100644
index dff057e..0000000
--- a/benchmarks/vec-cmplxmult/vec_cmplxmult_asm.S
+++ /dev/null
@@ -1,148 +0,0 @@
-# See LICENSE for license details.
-
-#*****************************************************************************
-# cmplxmult function (assembly version)
-#-----------------------------------------------------------------------------
-
-
-#--------------------------------------------------------------------------
-# Headers and Defines
-#--------------------------------------------------------------------------
-
-# Here are some defines that make writing assembly code easier.
-
-# I'm using the knowledge that rN will be placed in register a0, rA will be
-# placed into register a1, etc., based on the calling convention for functions.
-
-
-#define rN a0
-#define rA a1
-#define rB a2
-#define rC a3
-
-#define rVlen a6
-#define rStride a7
-
-#define rAI t0
-#define rBI t1
-#define rCI t2
-
-# WARNING: do not write to the s0,...,s9 registers without first saving them to
-# the stack.
-
-#--------------------------------------------------------------------------
-# void scalar_cmplxmult_asm( int n, float a[], float b[], float c[] )
-#--------------------------------------------------------------------------
-
- .text
- .align 2
- .globl scalar_cmplxmult_asm
- .type scalar_cmplxmult_asm,@function
-
-scalar_cmplxmult_asm:
-
- # ***** Scalar Example *****
-
- blez rN, done # exit early if n < 0
-
-loop:
- # The following code is a naive implementation...
- # Re-ordering instructions may increase performance, also,
- # RISC-V supports instrucitons such as the "fmuladd" and "fmulsub".
- # fmsub.s fa2,fa4,fa3,ft1
- # Finally, unrolling and other fun transformations can also provide
- # performance gains.
-
- flw f2, 0(rA)
- flw f3, 4(rA)
- flw f4, 0(rB)
- flw f5, 4(rB)
- fmul.s f6, f2, f4
- fmul.s f7, f3, f5
- fmul.s f8, f3, f4
- fmul.s f9, f2, f5
- fsub.s f10, f6, f7
- fadd.s f11, f8, f9
- fsw f10, 0(rC)
- fsw f11, 4(rC)
- addi rN, rN, -1
- addi rA, rA, 8
- addi rB, rB, 8
- addi rC, rC, 8
- bne rN, zero, loop
-done:
- ret
-
-
-#--------------------------------------------------------------------------
-# void vt_cmplxmult_asm( int n, float a[], float b[], float c[] )
-#--------------------------------------------------------------------------
-
-
- # ***** Vector-Thread Example *****
-
- .globl vt_cmplxmult_asm
- .type vt_cmplxmult_asm,@function
-
- # HINT: because you are dealing with an array of structures, a regular,
- # vanilla vector-load/vector-store won't work here!
-
-vt_cmplxmult_asm:
-
- blez rN, cpdone
- la a4, vtcode
- li rStride, 8
-
- vvcfgivl rVlen, rN, 1, 7
-
-stripmineloop:
-
- # ADD YOUR CODE HERE....
- vsetvl rVlen, rN # set the vector length
- # rN is the desired (application) vector length
- # rVLen is what vector length we were given
-
- vflstw vf2, rA, rStride # real number vector load of A
- addi rAI, rA, 4
- vflstw vf4, rB, rStride # real number vector load of B
- addi rBI, rB, 4
- vflstw vf3, rAI, rStride #imaginary number vector load of A
- vflstw vf5, rBI, rStride #imaginary vector number load of B
-
- vf 0(a4) # jump to vector-fetch code
-
- vfsstw vf0, rC, rStride # real number vector store C
- addi rCI, rC, 4
- vfsstw vf1, rCI, rStride # imaginary
-
- slli a5, rVlen, 3
- sub rN, rN, rVlen # book keeping
- add rA, rA, a5
- add rB, rB, a5
- add rC, rC, a5
- bne rN, zero, stripmineloop
- # Step 0: set the vector length
- # Step 1: perform your vector loads
- # Step 2: jump to the vector-fetch code to perform the calculation
- # Step 3: perform the vector store
- # Step 4: book keeping, update the pointers, etc.
-
-cpdone:
- fence.v.l
- ret
-
-vtcode:
- # ADD YOUR VECTOR-ELEMENT CODE HERE ...
- fmul.s f0, f2, f4
- fmsub.s f0, f3, f5, f0
-
- fmul.s f1, f2, f5
- fmadd.s f1, f3, f4, f1
- stop
-
- # The C code uses a jalr instruction to call this function
- # so we can use a jr to return back to where the function
- # was called. Also known as "ret", for "return".
-
- ret
-
diff --git a/benchmarks/vec-cmplxmult/vec_cmplxmult_main.c b/benchmarks/vec-cmplxmult/vec_cmplxmult_main.c
deleted file mode 100644
index 62521c4..0000000
--- a/benchmarks/vec-cmplxmult/vec_cmplxmult_main.c
+++ /dev/null
@@ -1,319 +0,0 @@
-// See LICENSE for license details.
-
-//**************************************************************************
-// Vector-Thread Complex Multiply benchmark
-//--------------------------------------------------------------------------
-//
-// This benchmark multiplies two complex numbers together. The input data (and
-// reference data) should be generated using the cmplxmult_gendata.pl perl
-// script and dumped to a file named dataset.h. The riscv-gcc toolchain does
-// not support system calls so printf's can only be used on a host system, not
-// on the riscv-v processor simulator itself.
-//
-// HOWEVER: printstr() and printhex() are provided, for a primitive form of
-// printing strings and hexadecimal values to stdout.
-
-
-// Choose which implementation you wish to test... but leave only one on!
-// (only the first one will be executed).
-//#define SCALAR_C
-//#define SCALAR_ASM
-#define VT_ASM
-
-//--------------------------------------------------------------------------
-// Macros
-
-// Set HOST_DEBUG to 1 if you are going to compile this for a host
-// machine (ie Athena/Linux) for debug purposes and set HOST_DEBUG
-// to 0 if you are compiling with the smips-gcc toolchain.
-
-#ifndef HOST_DEBUG
-#define HOST_DEBUG 0
-#endif
-
-// Set PREALLOCATE to 1 if you want to preallocate the benchmark
-// function before starting stats. If you have instruction/data
-// caches and you don't want to count the overhead of misses, then
-// you will need to use preallocation.
-
-#ifndef PREALLOCATE
-#define PREALLOCATE 0
-#endif
-
-// Set SET_STATS to 1 if you want to carve out the piece that actually
-// does the computation.
-
-#ifndef SET_STATS
-#define SET_STATS 0
-#endif
-
-//--------------------------------------------------------------------------
-// Host Platform Includes
-
-#if HOST_DEBUG
- #include <stdio.h>
- #include <stdlib.h>
-#else
-void printstr(const char*);
-#endif
-
-#include "util.h"
-
-
-//--------------------------------------------------------------------------
-// Complex Value Structs
-
-struct Complex
-{
- float real;
- float imag;
-};
-
-
-//--------------------------------------------------------------------------
-// Input/Reference Data
-
-//#include "dataset_test.h"
-#include "dataset.h"
-
-
-//--------------------------------------------------------------------------
-// Helper functions
-
-float absolute( float in)
-{
- if (in > 0)
- return in;
- else
- return -in;
-}
-
-
-// are two floating point numbers "close enough"?
-// this is pretty loose, because Perl is giving me pretty terrible answers
-int close_enough(float a, float b)
-{
- int close_enough = 1;
-
- if ( absolute(a) > 1.10*absolute(b)
- || absolute(a) < 0.90*absolute(b)
- || absolute(a) > 1.10*absolute(b)
- || absolute(a) < 0.90*absolute(b))
- {
- if (absolute(absolute(a) - absolute(b)) > 0.1)
- {
- close_enough = 0;
- }
- }
-
- return close_enough;
-}
-
-int verify( int n, struct Complex test[], struct Complex correct[] )
-{
- int i;
- for ( i = 0; i < n; i++ ) {
- if ( !close_enough(test[i].real, correct[i].real)
- || !close_enough(test[i].imag, correct[i].imag))
- {
-#if HOST_DEBUG
- printf(" test[%d] : {%3.2f, %3.2f}\n", i, test[i].real, test[i].imag);
- printf(" corr[%d] : {%3.2f, %3.2f}\n", i, correct[i].real, correct[i].imag);
-#endif
- // tell us which index fails + 10
- // (so that if i==0,i==1 fails, we don't
- // think it was a 'not-finished yet' or pass)
-// return i+10;
- return 2;
- }
- }
- return 1;
-}
-
-//#if HOST_DEBUG
-void printComplexArray( char name[], int n, struct Complex arr[] )
-{
-#if HOST_DEBUG
- int i;
- printf( " %10s :", name );
- for ( i = 0; i < n; i++ )
- printf( " {%03.2f,%03.2f} ", arr[i].real, arr[i].imag );
- printf( "\n" );
-#else
- int i;
- printstr( name );
- for ( i = 0; i < n; i++ )
- {
- printstr(" {");
- printhex((int) arr[i].real);
- printstr(",");
- printhex((int) arr[i].imag);
- printstr("}");
- }
- printstr( "\n" );
-#endif
-}
-//#endif
-
-
-
-void finishTest( int correct, long long num_cycles, long long num_retired )
-{
- int toHostValue = correct;
-#if HOST_DEBUG
- if ( toHostValue == 1 )
- printf( "*** PASSED ***\n" );
- else
- printf( "*** FAILED *** (tohost = %d)\n", toHostValue );
- exit(0);
-#else
- // we no longer run in -testrun mode, which means we can't use
- // the tohost register to communicate "test is done" and "test results"
- // so instead we will communicate through print* functions!
- if ( correct == 1 )
- {
- printstr( "*** PASSED *** (num_cycles = 0x" );
- printhex(num_cycles);
- printstr( ", num_inst_retired = 0x");
- printhex(num_retired);
- printstr( ")\n" );
- }
- else
- {
- printstr( "*** FAILED *** (num_cycles = 0x");
- printhex(num_cycles);
- printstr( ", num_inst_retired = 0x");
- printhex(num_retired);
- printstr( ")\n" );
- }
- exit();
-#endif
-}
-
-
-
-
-// deprecated - cr10/stats-enable register no longer exists
-void setStats( int enable )
-{
-#if ( !HOST_DEBUG && SET_STATS )
- asm( "mtpcr %0, cr10" : : "r" (enable) );
-#endif
-}
-
-long long getCycles()
-{
- long long cycles = 1337;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdcycle %0" : "=r" (cycles) );
-#endif
- return cycles;
-}
-
-long long getInstRetired()
-{
- long long inst_retired = 1338;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdinstret %0" : "=r" (inst_retired) );
-#endif
- return inst_retired;
-}
-
-//--------------------------------------------------------------------------
-// complex multiply function
-
-// scalar C implementation
-void cmplxmult( int n, struct Complex a[], struct Complex b[], struct Complex c[] )
-{
- int i;
- for ( i = 0; i < n; i++ )
- {
- c[i].real = (a[i].real * b[i].real) - (a[i].imag * b[i].imag);
- c[i].imag = (a[i].imag * b[i].real) + (a[i].real * b[i].imag);
- }
-}
-
-// assembly implementations can be found in *_asm.S
-
-//--------------------------------------------------------------------------
-// Main
-
-int main( int argc, char* argv[] )
-{
- struct Complex results_data[DATA_SIZE];
- long long start_cycles = 0;
- long long stop_cycles = 0;
- long long num_cycles;
- long long start_retired = 0;
- long long stop_retired = 0;
- long long num_retired;
-
- // Output the input array
-
-#if HOST_DEBUG
- printComplexArray( "input1", DATA_SIZE, input1_data );
- printComplexArray( "input2", DATA_SIZE, input2_data );
- printComplexArray( "verify", DATA_SIZE, verify_data );
-#endif
-
- // --------------------------------------------------
- // If needed we preallocate everything in the caches
-
-#if PREALLOCATE
-
-#ifdef SCALAR_C
- cmplxmult( DATA_SIZE, input1_data, input2_data, results_data );
-#else
-#ifdef SCALAR_ASM
- scalar_cmplxmult_asm( DATA_SIZE, input1_data, input2_data, results_data );
-#else
-#ifdef VT_ASM
- vt_cmplxmult_asm( DATA_SIZE, input1_data, input2_data, results_data );
-#endif
-#endif
-#endif
-
-#endif
-
- // --------------------------------------------------
- // Do the cmplxmult
-
- start_cycles = getCycles();
- start_retired = getInstRetired();
-
-#ifdef SCALAR_C
- cmplxmult( DATA_SIZE, input1_data, input2_data, results_data );
-#else
-#ifdef SCALAR_ASM
- #if HOST_DEBUG==0
- scalar_cmplxmult_asm( DATA_SIZE, input1_data, input2_data, results_data );
- #endif
-#else
-#ifdef VT_ASM
- #if HOST_DEBUG==0
- vt_cmplxmult_asm( DATA_SIZE, input1_data, input2_data, results_data );
- #endif
-#endif
-#endif
-#endif
-
- stop_cycles = getCycles();
- stop_retired = getInstRetired();
- num_cycles = stop_cycles - start_cycles;
- num_retired = stop_retired - start_retired;
-
- // --------------------------------------------------
- // Print out the results
-
-#if HOST_DEBUG
- printComplexArray( "results", DATA_SIZE, results_data );
- printComplexArray( "verify ", DATA_SIZE, verify_data );
-#endif
-
-
- // --------------------------------------------------
- // Check the results
- int correct = verify( DATA_SIZE, results_data, verify_data );
- finishTest(correct, num_cycles, num_retired);
-
-}
diff --git a/benchmarks/vec-fft/bmark.mk b/benchmarks/vec-fft/bmark.mk
deleted file mode 100644
index 46a2835..0000000
--- a/benchmarks/vec-fft/bmark.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-#=======================================================================
-# UCB CS250 Makefile fragment for benchmarks
-#-----------------------------------------------------------------------
-#
-# Each benchmark directory should have its own fragment which
-# essentially lists what the source files are and how to link them
-# into an riscv and/or host executable. All variables should include
-# the benchmark name as a prefix so that they are unique.
-#
-
-vec-fft_data_src = fft-data.c
-
-vec-fft_c_src = \
- vec-fft_main.c \
- vec-fft.c \
- $(vec-fft_data_src)
-
-vec-fft_riscv_src = \
- crt.S \
- vec-vfft.S
-
-vec-fft_c_objs = $(patsubst %.c, %.o, $(vec-fft_c_src))
-vec-fft_riscv_objs = $(patsubst %.S, %.o, $(vec-fft_riscv_src))
-
-vec-fft_data_bin = fft-data-gen
-$(vec-fft_data_src): $(vec-fft_data_bin)
- ./$< $(FFT_FLOATING_PREC) $(FFT_SIZE) > $@
-
-vec-fft_host_bin = vec-fft.host
-$(vec-fft_host_bin): $(vec-fft_c_src)
-# $(HOST_COMP) $^ -o $(vec-fft_host_bin)
-
-RISCV_LINK_SYSCALL = $(bmarkdir)/common/syscalls.c -lc
-
-vec-fft_riscv_bin = vec-fft.riscv
-$(vec-fft_riscv_bin): $(vec-fft_c_objs) $(vec-fft_riscv_objs)
- $(RISCV_LINK) $(RISCV_LINK_SYSCALL) $(vec-fft_c_objs) $(vec-fft_riscv_objs) -o $(vec-fft_riscv_bin)
-
-junk += \
- $(vec-fft_data_src) $(vec-fft_c_objs) $(vec-fft_riscv_objs) \
- $(vec-fft_host_bin) $(vec-fft_riscv_bin)
diff --git a/benchmarks/vec-fft/cvt16.c b/benchmarks/vec-fft/cvt16.c
deleted file mode 100644
index ef769b0..0000000
--- a/benchmarks/vec-fft/cvt16.c
+++ /dev/null
@@ -1,122 +0,0 @@
-// See LICENSE for license details.
-
-#include "cvt16.h"
-
-#define H_BIAS (UINT16_C(0xf))
-#define H_F_MASK (UINT16_C(0x03FF))
-#define H_E_MASK (UINT16_C(0x7C00))
-#define H_E_SHIFT (10)
-#define H_S_MASK (UINT16_C(0x8000))
-
-#define H_QNAN (H_F_MASK)
-
-#define S_BIAS (UINT32_C(0x7F))
-#define S_F_MASK (UINT32_C(0x007fffff))
-#define S_E_MASK (UINT32_C(0x7f800000))
-#define S_E_SHIFT (23)
-#define S_S_MASK (UINT32_C(0x80000000))
-
-#define S_QNAN (S_F_MASK)
-
-#define PAD (S_E_SHIFT - H_E_SHIFT)
-
-uint_fast32_t cvt_hs(uint_fast16_t x)
-{
-#define MSB (UINT32_C(0x00800000))
- uint_fast32_t frac, exp, sign;
- frac = (x & H_F_MASK) << PAD;
- exp = (x & H_E_MASK);
- sign = (x & H_S_MASK);
-
- switch (exp) {
- case 0:
- if (frac) { /* Denormal */
- exp = S_BIAS - 14;
- /* Adjust fraction for implicit leading 1-bit */
- for (; !(frac & MSB); frac <<= 1, exp--);
- frac &= ~(MSB);
- exp <<= S_E_SHIFT;
- }
- break;
-
- case H_E_MASK: /* Infinity and NaN */
- exp = S_E_MASK;
- if (frac) { /* Set padding bits for NaN */
- frac |= (1 << PAD) - 1;
- }
- break;
- default:
- exp += (S_BIAS - H_BIAS) << H_E_SHIFT; /* Re-bias */
- exp <<= PAD;
- }
- return (sign << 16) | exp | frac;
-#undef MSB
-}
-
-/*
- * LSB : frac[13]
- * Guard bit (G): frac[12]
- * Round bit (R): frac[11]
- * Sticky bit (S): OR of frac[10..0]
- *
- * RTZ:
- * truncate
- * RUP:
- * 000 : exact
- * else : round up
- * RDN:
- * 000 : exact
- * else : round down
- * RNE:
- * 0xx : round down
- * 100 : tie; round up if LSB is 1
- * 101 : round up
- * 110 : round up
- * 111 : round up
- */
-uint_fast16_t cvt_sh(uint_fast32_t x, int rm)
-{
-#define MSB UINT16_C(0x0400)
- uint_fast32_t frac, exp, sign;
- int e;
- sign = (x & S_S_MASK) >> 16;
- exp = (x & S_E_MASK);
- if (exp && exp != S_E_MASK) {
- int inc;
- inc = 0;
- switch (rm) {
- case RNE:
- /* Round up if G is set and either R, S,
- or the bit before G is non-zero */
- inc = (x & 0x1000) && (x & 0x2fff);
- break;
- case RUP:
- inc = ((x & 0x1fff) != 0) && (!sign);
- break;
- case RDN:
- inc = ((x & 0x1fff) != 0) && sign;
- break;
- }
- x += inc << PAD;
- exp = (x & S_E_MASK);
- }
- frac = (x & S_F_MASK) >> PAD;
-
- e = (exp >> S_E_SHIFT) - S_BIAS;
- if (e < -24) { /* Round to zero */
- return sign;
- } else if (e < -14) { /* Denormal */
- frac = (frac | MSB) >> (-e - 14);
- return sign | frac;
- } else if (e < 16) {
- exp = (e + H_BIAS) << H_E_SHIFT;
- } else if (e < 127) { /* Round to infinity */
- exp = H_E_MASK;
- frac = 0;
- } else {
- /* Infinity and NaN */
- }
- return sign | exp | frac;
-#undef MSB
-}
-
diff --git a/benchmarks/vec-fft/cvt16.h b/benchmarks/vec-fft/cvt16.h
deleted file mode 100644
index 3d45f01..0000000
--- a/benchmarks/vec-fft/cvt16.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// See LICENSE for license details.
-
-#ifndef _CVT16_H
-#define _CVT16_H
-
-#include <stdint.h>
-
-extern uint_fast32_t cvt_hs(uint_fast16_t);
-extern uint_fast16_t cvt_sh(uint_fast32_t, int);
-
-enum riscv_rm {
- RNE = 0, /* Round to nearest; ties to even */
- RTZ = 1, /* Round towards zero (truncate) */
- RDN = 2, /* Round towards negative infinity (down) */
- RUP = 3, /* Round towards positive infinity (up) */
- RMM = 4, /* Round to nearest; ties to max magnitude */
-};
-
-#endif
diff --git a/benchmarks/vec-fft/cvt_fft.c b/benchmarks/vec-fft/cvt_fft.c
deleted file mode 100644
index 94884b0..0000000
--- a/benchmarks/vec-fft/cvt_fft.c
+++ /dev/null
@@ -1,39 +0,0 @@
-// See LICENSE for license details.
-
-#include <stdio.h>
-#include <stdint.h>
-#include <inttypes.h>
-
-#include "cvt16.h"
-
-typedef float fftval_t;
-#include "fft_data_generic.c"
-
-static void _array(const char *s, const fftval_t *v, unsigned int n)
-{
- union single {
- float f;
- uint32_t u;
- } bits;
- unsigned int i;
-
- printf("fftval_t %s[%u] = { ", s, n);
- for (i = 0; i < n; i++) {
- bits.f = v[i];
- printf("0x%04" PRIx16 ", ", cvt_sh(bits.u, RNE));
- }
- puts("};");
-}
-
-#define array(v) _array(#v, (v), (sizeof(v) / sizeof(0[v])))
-
-int main(void)
-{
- array(input_data_real);
- array(input_data_imag);
- array(output_data_real);
- array(output_data_imag);
- array(tf_real);
- array(tf_imag);
- return 0;
-}
diff --git a/benchmarks/vec-fft/data.c b/benchmarks/vec-fft/data.c
deleted file mode 100644
index bf8a18c..0000000
--- a/benchmarks/vec-fft/data.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// See LICENSE for license details.
-
-#include "fft_const.h"
-
-#if !defined(FP_HALF)
-
-fftval_t input_data_real[ 128 ] = { 0.639426798458, 0.0250107552227, 0.275029318369, 0.223210738149, 0.736471214164, 0.676699487423, 0.892179567705, 0.0869388326294, 0.421921819685, 0.0297972194381, 0.218637974804, 0.505355288103, 0.0265359696839, 0.198837650687, 0.64988443778, 0.544941480603, 0.220440622041, 0.589265683876, 0.809430456678, 0.00649875967806, 0.805819251833, 0.698139394988, 0.340250516518, 0.155479499812, 0.957213072207, 0.336594545113, 0.0927458433801, 0.0967163768335, 0.847494366347, 0.603726031367, 0.807128273274, 0.729731786694, 0.536228091455, 0.973115763979, 0.378534377208, 0.552040631273, 0.829404664253, 0.618519752364, 0.861706900311, 0.577352145257, 0.704571836215, 0.0458243836557, 0.227898275652, 0.289387963602, 0.0797919769236, 0.232790886361, 0.10100142941, 0.27797360311, 0.635684444264, 0.36483217897, 0.370180967117, 0.209507030771, 0.266977822049, 0.936654587712, 0.648035385247, 0.609131005667, 0.171138648198, 0.72912679795, 0.163402493762, 0.379455441758, 0.989523350637, 0.639999759854, 0.556949743775, 0.68461425099, 0.84285192019, 0.775999911546, 0.229048071964, 0.032100243904, 0.315453048059, 0.267740875976, 0.210982843586, 0.942909714335, 0.876367626473, 0.314677880798, 0.655438665295, 0.395631901061, 0.914547589741, 0.458851852587, 0.264880166498, 0.246627507694, 0.561368134163, 0.262741608523, 0.584585990224, 0.897822883602, 0.39940050514, 0.219320759157, 0.997537606495, 0.509526293676, 0.0909094121738, 0.0471163754247, 0.109649130351, 0.627446041703, 0.792079364363, 0.4221599668, 0.063527706152, 0.381619286507, 0.99612138024, 0.529114345099, 0.971078377614, 0.860779702234, 0.0114810219428, 0.72072181936, 0.681710369027, 0.536970330409, 0.266825189953, 0.64096179858, 0.111552173596, 0.434765250669, 0.453723706329, 0.953815927521, 0.875852940378, 0.263389050751, 0.50058611305, 0.17865188053, 0.912627839345, 0.870518569837, 0.298444791449, 0.638949494866, 0.608970211438, 0.15283926855, 0.762510800075, 0.53937903012, 0.778626478631, 0.530353672195, 0.000571896127944, 0.324156057005, 0.0194767423858, 0.929098616265 };
-fftval_t input_data_imag[ 128 ] = { 0.878721877823, 0.831665529361, 0.307514125403, 0.0579251664942, 0.878009599204, 0.946949445298, 0.0856534520679, 0.485990463317, 0.0692125184684, 0.760602165257, 0.765834429307, 0.1283914645, 0.475282378099, 0.549803593495, 0.26505662894, 0.872433041085, 0.423137940201, 0.211798205442, 0.539296088779, 0.72993106909, 0.20115106339, 0.311716291301, 0.995149356661, 0.649878057639, 0.438100083915, 0.517575841036, 0.121004195868, 0.224697337032, 0.338085562147, 0.588308718457, 0.230114732597, 0.220217384452, 0.070993086009, 0.63110295727, 0.228941783811, 0.905420013006, 0.859635400254, 0.0708573498887, 0.238004634369, 0.668977778296, 0.21423680737, 0.132311848725, 0.935514240581, 0.571043093325, 0.472671026312, 0.784619424291, 0.807496997767, 0.190409914362, 0.0969308142288, 0.431051182406, 0.42357862302, 0.467024668037, 0.72907584946, 0.673364547293, 0.984165211366, 0.098417871152, 0.402621282102, 0.339302605395, 0.861672536353, 0.24865633392, 0.190208908441, 0.448613547833, 0.421881639834, 0.278545144667, 0.249806447882, 0.923265599276, 0.443130745053, 0.861349104762, 0.55032531245, 0.0505883295249, 0.999282468413, 0.83602758508, 0.968996257285, 0.926366983008, 0.848695734414, 0.166311110604, 0.485641125451, 0.213747299199, 0.401040292549, 0.0586353999722, 0.378973118977, 0.98530884378, 0.265203058172, 0.784070601949, 0.455008367339, 0.42300748599, 0.95731764086, 0.995422689493, 0.555768323406, 0.718408275296, 0.154796825274, 0.296707825495, 0.968709364969, 0.579180290816, 0.542195201374, 0.747975560379, 0.0571652729075, 0.584177594459, 0.50285038292, 0.852719892048, 0.157432727939, 0.960778903274, 0.0801114652406, 0.185824960981, 0.59503510645, 0.675212553604, 0.235203895001, 0.119886613947, 0.890287314129, 0.246215347789, 0.594519153533, 0.619381510332, 0.419224915336, 0.583672289291, 0.522782715532, 0.934706257736, 0.204259199424, 0.716191800789, 0.238685952616, 0.395785846791, 0.67169022296, 0.299997079799, 0.316177196272, 0.751864492414, 0.0725431144932, 0.458285522619, 0.998454440854, 0.996096447855 };
-fftval_t output_data_real[ 128 ] = { 61.954455353, -3.55833399529, -0.523354806008, -3.37768557289, 3.32687067509, -3.0237541092, -0.378319273514, 0.525689010981, 5.25658573479, -2.28074215555, -4.28723433346, -4.4277864945, 1.25302215885, -0.482791893995, -1.12845609406, -3.21089274844, -0.078505416643, -2.1193590094, 4.98495906311, -3.56979439628, 2.72333789593, 2.25668218204, 0.335271678442, -6.34334972936, 0.712532452309, 0.409291142904, -1.22780527711, 3.84865910019, 0.969858896916, 1.05979174012, -0.405273430345, 1.0161952607, 2.65666792497, -7.17797945232, 3.35748060331, -1.93036005449, 5.79228873407, 6.83679539719, 0.455509780838, -4.32751152407, -0.195720493898, -4.39713867575, 4.04962604613, 8.55532419691, 0.793886999177, 2.74675335418, 1.78534557879, -0.150461101563, 4.79269199365, -0.097190171132, -2.93509465459, 0.000498021981268, -3.87438881161, -5.12734321093, -2.12762472404, -1.16638837683, 3.59130812163, -0.816225274592, -0.806189352525, -1.15586605458, -1.92113200189, 0.855167926588, 0.603604208411, -0.409696855698, 2.88640009067, 2.56152175575, -1.09096481126, 0.828707821899, -0.962267817144, -0.81230709709, 1.16163049602, -0.695404120144, -4.20242999608, -2.92482265517, 1.02303060189, -2.70129415201, 0.525364381257, 2.49338291739, 2.34783772688, 4.95908644781, 0.177530769676, 5.16759926801, -2.55397551085, 1.48552350843, -4.50573276988, 0.451229866674, -6.81151821737, -5.00364260745, -0.98762260691, 5.226676945, 1.73684083074, -4.95366720132, 2.43429602647, 0.460297668808, 0.111897844813, -2.75691723482, 0.310022422864, -1.58528590021, -2.03689286823, -1.102027189, 3.51353594739, 1.0387748517, 3.84115211002, 3.81032001841, 2.43243605239, 0.621532229972, 5.36804043022, 7.69993469463, 3.63860246238, 3.633002238, -2.47462170952, 5.24293295589, 0.774064132507, -3.91244434865, 4.72655267242, -2.81469193189, 0.993153378271, -3.2354193083, 0.474071574908, 0.756162196284, -1.15709647317, 3.31705213122, -6.01086540873, 2.37742277745, 2.84408587391, -3.65152823413, -3.16692487284, 2.0388874191 };
-fftval_t output_data_imag[ 128 ] = { 64.7050383851, 0.698184545699, 3.42493175348, 5.66261938459, 1.00574698274, -3.1031255135, 5.20424207641, 2.0448135066, -4.63849287023, 2.51117736295, 1.41295259621, -2.45639979763, 5.86862949669, -4.29715899392, 1.97792740773, 1.61104358821, 3.55985554637, -0.852668449458, 3.78965920404, 1.11985520891, -3.08121666225, 4.31756301978, 7.89587646848, 5.66554418397, -6.1086556137, 5.62222049291, 4.34787054172, 0.668211990523, 2.31296531095, 5.41014021609, 0.453996830494, 2.7935768665, -2.34494675051, 1.17549556253, -2.36863533542, 3.34802654836, 0.810944712905, -3.46714468032, -4.00653978407, -3.0699493452, 5.34453801646, -1.15007047713, 1.48224491218, 1.96983218353, -2.35988258452, -3.83406990073, 1.05359927173, -2.62518260336, -2.26840395653, 4.53058951798, 4.37784201599, 1.74456564948, 1.17919710136, 5.85762105311, -2.17089571025, -0.186855334345, -2.78684050993, 11.2542088523, 3.53682020657, 0.921750647669, -2.75033375937, -2.39105725671, 5.69627942011, -2.14262056709, -3.24450591785, -4.88101239098, -0.82019947831, 1.73555667725, -2.67542169613, 2.70255959353, -1.56904900802, 0.813903077259, -4.79584930282, -0.827151380084, -0.153701429418, -2.79898616186, 2.31828350443, 2.21515556736, -3.40293773784, -0.162985084297, -3.05206321075, 1.75265985778, 1.95085395048, -4.00325708931, -4.0551434497, 1.05832733908, -0.462016761175, -10.7553551483, -1.34633968539, 3.33861851859, 0.17331130312, -3.50040264719, -0.469531530722, -6.75712678783, 0.101038910495, 4.60866018427, -1.43982416145, -0.388454731031, -2.90742197761, 0.187444758531, 2.66953361587, 6.87916789749, -1.25246099771, -0.80213619158, 0.490239247273, -4.52070544206, 1.9815151617, -4.46229763612, -2.28749790966, 0.771352499303, 2.42025535542, 2.63871825487, -3.99023733181, -0.379591050964, 2.64500129424, -1.50502365382, 1.35040224487, 6.8258533247, -2.71874835374, 5.97039779238, 3.11574368961, 6.0121394881, -1.19573643258, 2.25554012485, -0.82195704339, -1.2418186553, 1.11396326277, -1.87990085069 };
-fftval_t tf_real[ 128 ] = { 1.0, 0.998795456205, 0.995184726672, 0.989176509965, 0.980785280403, 0.970031253195, 0.956940335732, 0.941544065183, 0.923879532511, 0.903989293123, 0.881921264348, 0.85772861, 0.831469612303, 0.803207531481, 0.773010453363, 0.740951125355, 0.707106781187, 0.671558954847, 0.634393284164, 0.595699304492, 0.55557023302, 0.514102744193, 0.471396736826, 0.42755509343, 0.382683432365, 0.336889853392, 0.290284677254, 0.242980179903, 0.195090322016, 0.146730474455, 0.0980171403296, 0.0490676743274, 6.12323399574e-17, -0.0490676743274, -0.0980171403296, -0.146730474455, -0.195090322016, -0.242980179903, -0.290284677254, -0.336889853392, -0.382683432365, -0.42755509343, -0.471396736826, -0.514102744193, -0.55557023302, -0.595699304492, -0.634393284164, -0.671558954847, -0.707106781187, -0.740951125355, -0.773010453363, -0.803207531481, -0.831469612303, -0.85772861, -0.881921264348, -0.903989293123, -0.923879532511, -0.941544065183, -0.956940335732, -0.970031253195, -0.980785280403, -0.989176509965, -0.995184726672, -0.998795456205, -1.0, -0.998795456205, -0.995184726672, -0.989176509965, -0.980785280403, -0.970031253195, -0.956940335732, -0.941544065183, -0.923879532511, -0.903989293123, -0.881921264348, -0.85772861, -0.831469612303, -0.803207531481, -0.773010453363, -0.740951125355, -0.707106781187, -0.671558954847, -0.634393284164, -0.595699304492, -0.55557023302, -0.514102744193, -0.471396736826, -0.42755509343, -0.382683432365, -0.336889853392, -0.290284677254, -0.242980179903, -0.195090322016, -0.146730474455, -0.0980171403296, -0.0490676743274, -1.83697019872e-16, 0.0490676743274, 0.0980171403296, 0.146730474455, 0.195090322016, 0.242980179903, 0.290284677254, 0.336889853392, 0.382683432365, 0.42755509343, 0.471396736826, 0.514102744193, 0.55557023302, 0.595699304492, 0.634393284164, 0.671558954847, 0.707106781187, 0.740951125355, 0.773010453363, 0.803207531481, 0.831469612303, 0.85772861, 0.881921264348, 0.903989293123, 0.923879532511, 0.941544065183, 0.956940335732, 0.970031253195, 0.980785280403, 0.989176509965, 0.995184726672, 0.998795456205 };
-fftval_t tf_imag[ 128 ] = { -0.0, -0.0490676743274, -0.0980171403296, -0.146730474455, -0.195090322016, -0.242980179903, -0.290284677254, -0.336889853392, -0.382683432365, -0.42755509343, -0.471396736826, -0.514102744193, -0.55557023302, -0.595699304492, -0.634393284164, -0.671558954847, -0.707106781187, -0.740951125355, -0.773010453363, -0.803207531481, -0.831469612303, -0.85772861, -0.881921264348, -0.903989293123, -0.923879532511, -0.941544065183, -0.956940335732, -0.970031253195, -0.980785280403, -0.989176509965, -0.995184726672, -0.998795456205, -1.0, -0.998795456205, -0.995184726672, -0.989176509965, -0.980785280403, -0.970031253195, -0.956940335732, -0.941544065183, -0.923879532511, -0.903989293123, -0.881921264348, -0.85772861, -0.831469612303, -0.803207531481, -0.773010453363, -0.740951125355, -0.707106781187, -0.671558954847, -0.634393284164, -0.595699304492, -0.55557023302, -0.514102744193, -0.471396736826, -0.42755509343, -0.382683432365, -0.336889853392, -0.290284677254, -0.242980179903, -0.195090322016, -0.146730474455, -0.0980171403296, -0.0490676743274, -1.22464679915e-16, 0.0490676743274, 0.0980171403296, 0.146730474455, 0.195090322016, 0.242980179903, 0.290284677254, 0.336889853392, 0.382683432365, 0.42755509343, 0.471396736826, 0.514102744193, 0.55557023302, 0.595699304492, 0.634393284164, 0.671558954847, 0.707106781187, 0.740951125355, 0.773010453363, 0.803207531481, 0.831469612303, 0.85772861, 0.881921264348, 0.903989293123, 0.923879532511, 0.941544065183, 0.956940335732, 0.970031253195, 0.980785280403, 0.989176509965, 0.995184726672, 0.998795456205, 1.0, 0.998795456205, 0.995184726672, 0.989176509965, 0.980785280403, 0.970031253195, 0.956940335732, 0.941544065183, 0.923879532511, 0.903989293123, 0.881921264348, 0.85772861, 0.831469612303, 0.803207531481, 0.773010453363, 0.740951125355, 0.707106781187, 0.671558954847, 0.634393284164, 0.595699304492, 0.55557023302, 0.514102744193, 0.471396736826, 0.42755509343, 0.382683432365, 0.336889853392, 0.290284677254, 0.242980179903, 0.195090322016, 0.146730474455, 0.0980171403296, 0.0490676743274 };
-
-#else
-
-fftval_t input_data_real[128] = { 0x391e, 0x2667, 0x3467, 0x3325, 0x39e4, 0x396a, 0x3b23, 0x2d90, 0x36c0, 0x27a1, 0x32ff, 0x380b, 0x26cb, 0x325d, 0x3933, 0x385c, 0x330e, 0x38b7, 0x3a7a, 0x1ea8, 0x3a72, 0x3996, 0x3572, 0x30fa, 0x3ba8, 0x3563, 0x2df0, 0x2e31, 0x3ac8, 0x38d4, 0x3a75, 0x39d6, 0x384a, 0x3bc9, 0x360e, 0x386b, 0x3aa3, 0x38f3, 0x3ae5, 0x389e, 0x39a3, 0x29de, 0x334b, 0x34a1, 0x2d1b, 0x3373, 0x2e77, 0x3473, 0x3916, 0x35d6, 0x35ec, 0x32b4, 0x3446, 0x3b7e, 0x392f, 0x38e0, 0x317a, 0x39d5, 0x313b, 0x3612, 0x3beb, 0x391f, 0x3875, 0x397a, 0x3abe, 0x3a35, 0x3354, 0x281c, 0x350c, 0x3449, 0x32c0, 0x3b8b, 0x3b03, 0x3509, 0x393e, 0x3655, 0x3b51, 0x3757, 0x343d, 0x33e4, 0x387e, 0x3434, 0x38ad, 0x3b2f, 0x3664, 0x3305, 0x3bfb, 0x3814, 0x2dd1, 0x2a08, 0x2f04, 0x3905, 0x3a56, 0x36c1, 0x2c11, 0x361b, 0x3bf8, 0x383c, 0x3bc5, 0x3ae3, 0x21e1, 0x39c4, 0x3974, 0x384c, 0x3445, 0x3921, 0x2f24, 0x36f5, 0x3742, 0x3ba1, 0x3b02, 0x3437, 0x3801, 0x31b8, 0x3b4d, 0x3af7, 0x34c6, 0x391d, 0x38df, 0x30e4, 0x3a1a, 0x3851, 0x3a3b, 0x383e, 0x10af, 0x3530, 0x24fc, 0x3b6f, };
-fftval_t input_data_imag[128] = { 0x3b08, 0x3aa7, 0x34ec, 0x2b6a, 0x3b06, 0x3b93, 0x2d7b, 0x37c7, 0x2c6e, 0x3a16, 0x3a20, 0x301c, 0x379b, 0x3866, 0x343e, 0x3afb, 0x36c5, 0x32c7, 0x3850, 0x39d7, 0x3270, 0x34fd, 0x3bf6, 0x3933, 0x3702, 0x3824, 0x2fbf, 0x3331, 0x3569, 0x38b5, 0x335d, 0x330c, 0x2c8b, 0x390c, 0x3353, 0x3b3e, 0x3ae1, 0x2c89, 0x339e, 0x395a, 0x32db, 0x303c, 0x3b7c, 0x3891, 0x3790, 0x3a47, 0x3a76, 0x3218, 0x2e34, 0x36e6, 0x36c7, 0x3779, 0x39d5, 0x3963, 0x3be0, 0x2e4c, 0x3671, 0x356e, 0x3ae5, 0x33f5, 0x3216, 0x372e, 0x36c0, 0x3475, 0x33fe, 0x3b63, 0x3717, 0x3ae4, 0x3867, 0x2a7a, 0x3bff, 0x3ab0, 0x3bc1, 0x3b69, 0x3aca, 0x3152, 0x37c5, 0x32d7, 0x366b, 0x2b81, 0x3610, 0x3be2, 0x343e, 0x3a46, 0x3748, 0x36c5, 0x3ba9, 0x3bf7, 0x3872, 0x39bf, 0x30f4, 0x34bf, 0x3bc0, 0x38a2, 0x3856, 0x39fc, 0x2b51, 0x38ac, 0x3806, 0x3ad2, 0x310a, 0x3bb0, 0x2d21, 0x31f2, 0x38c3, 0x3967, 0x3387, 0x2fac, 0x3b1f, 0x33e1, 0x38c2, 0x38f4, 0x36b5, 0x38ab, 0x382f, 0x3b7a, 0x3289, 0x39bb, 0x33a3, 0x3655, 0x3960, 0x34cd, 0x350f, 0x3a04, 0x2ca5, 0x3755, 0x3bfd, 0x3bf8, };
-fftval_t output_data_real[128] = { 0x53bf, 0xc31e, 0xb830, 0xc2c1, 0x42a7, 0xc20c, 0xb60e, 0x3835, 0x4542, 0xc090, 0xc44a, 0xc46e, 0x3d03, 0xb7ba, 0xbc84, 0xc26c, 0xad06, 0xc03d, 0x44fc, 0xc324, 0x4172, 0x4083, 0x355d, 0xc658, 0x39b3, 0x368c, 0xbce9, 0x43b3, 0x3bc2, 0x3c3d, 0xb67c, 0x3c11, 0x4150, 0xc72e, 0x42b7, 0xbfb9, 0x45cb, 0x46d6, 0x374a, 0xc454, 0xb243, 0xc466, 0x440d, 0x4847, 0x3a5a, 0x417e, 0x3f24, 0xb0d1, 0x44cb, 0xae38, 0xc1df, 0x1014, 0xc3c0, 0xc521, 0xc041, 0xbcaa, 0x432f, 0xba88, 0xba73, 0xbca0, 0xbfaf, 0x3ad7, 0x38d4, 0xb68e, 0x41c6, 0x411f, 0xbc5d, 0x3aa1, 0xbbb3, 0xba80, 0x3ca6, 0xb990, 0xc434, 0xc1da, 0x3c18, 0xc167, 0x3834, 0x40fd, 0x40b2, 0x44f6, 0x31ae, 0x452b, 0xc11c, 0x3df1, 0xc481, 0x3738, 0xc6d0, 0xc501, 0xbbe7, 0x453a, 0x3ef3, 0xc4f4, 0x40de, 0x375d, 0x2f29, 0xc184, 0x34f6, 0xbe57, 0xc013, 0xbc68, 0x4307, 0x3c28, 0x43af, 0x439f, 0x40dd, 0x38f9, 0x455e, 0x47b3, 0x4347, 0x4344, 0xc0f3, 0x453e, 0x3a31, 0xc3d3, 0x44ba, 0xc1a1, 0x3bf2, 0xc279, 0x3796, 0x3a0d, 0xbca1, 0x42a2, 0xc603, 0x40c1, 0x41b0, 0xc34e, 0xc255, 0x4014, };
-fftval_t output_data_imag[128] = { 0x540b, 0x3996, 0x42da, 0x45aa, 0x3c06, 0xc235, 0x4534, 0x4017, 0xc4a3, 0x4106, 0x3da7, 0xc0ea, 0x45de, 0xc44c, 0x3fe9, 0x3e72, 0x431f, 0xbad2, 0x4394, 0x3c7b, 0xc22a, 0x4451, 0x47e5, 0x45aa, 0xc61c, 0x459f, 0x4459, 0x3958, 0x40a0, 0x4569, 0x3744, 0x4196, 0xc0b1, 0x3cb4, 0xc0bd, 0x42b2, 0x3a7d, 0xc2ef, 0xc402, 0xc224, 0x4558, 0xbc9a, 0x3dee, 0x3fe1, 0xc0b8, 0xc3ab, 0x3c37, 0xc140, 0xc089, 0x4488, 0x4461, 0x3efa, 0x3cb7, 0x45dc, 0xc057, 0xb1fb, 0xc193, 0x49a1, 0x4313, 0x3b60, 0xc180, 0xc0c8, 0x45b2, 0xc049, 0xc27d, 0xc4e2, 0xba90, 0x3ef1, 0xc15a, 0x4168, 0xbe47, 0x3a83, 0xc4cc, 0xba9e, 0xb0eb, 0xc199, 0x40a3, 0x406e, 0xc2ce, 0xb137, 0xc21b, 0x3f03, 0x3fce, 0xc401, 0xc40e, 0x3c3c, 0xb764, 0xc961, 0xbd63, 0x42ad, 0x318c, 0xc300, 0xb783, 0xc6c2, 0x2e77, 0x449c, 0xbdc2, 0xb637, 0xc1d1, 0x3200, 0x4157, 0x46e1, 0xbd03, 0xba6b, 0x37d8, 0xc485, 0x3fed, 0xc476, 0xc093, 0x3a2c, 0x40d7, 0x4147, 0xc3fb, 0xb613, 0x414a, 0xbe05, 0x3d67, 0x46d3, 0xc170, 0x45f8, 0x423b, 0x4603, 0xbcc8, 0x4083, 0xba93, 0xbcf8, 0x3c75, 0xbf85, };
-fftval_t tf_real[128] = { 0x3c00, 0x3bfe, 0x3bf6, 0x3bea, 0x3bd9, 0x3bc3, 0x3ba8, 0x3b88, 0x3b64, 0x3b3b, 0x3b0e, 0x3add, 0x3aa7, 0x3a6d, 0x3a2f, 0x39ed, 0x39a8, 0x395f, 0x3913, 0x38c4, 0x3872, 0x381d, 0x378b, 0x36d7, 0x361f, 0x3564, 0x34a5, 0x33c6, 0x323e, 0x30b2, 0x2e46, 0x2a48, 0x0000, 0xaa48, 0xae46, 0xb0b2, 0xb23e, 0xb3c6, 0xb4a5, 0xb564, 0xb61f, 0xb6d7, 0xb78b, 0xb81d, 0xb872, 0xb8c4, 0xb913, 0xb95f, 0xb9a8, 0xb9ed, 0xba2f, 0xba6d, 0xbaa7, 0xbadd, 0xbb0e, 0xbb3b, 0xbb64, 0xbb88, 0xbba8, 0xbbc3, 0xbbd9, 0xbbea, 0xbbf6, 0xbbfe, 0xbc00, 0xbbfe, 0xbbf6, 0xbbea, 0xbbd9, 0xbbc3, 0xbba8, 0xbb88, 0xbb64, 0xbb3b, 0xbb0e, 0xbadd, 0xbaa7, 0xba6d, 0xba2f, 0xb9ed, 0xb9a8, 0xb95f, 0xb913, 0xb8c4, 0xb872, 0xb81d, 0xb78b, 0xb6d7, 0xb61f, 0xb564, 0xb4a5, 0xb3c6, 0xb23e, 0xb0b2, 0xae46, 0xaa48, 0x8000, 0x2a48, 0x2e46, 0x30b2, 0x323e, 0x33c6, 0x34a5, 0x3564, 0x361f, 0x36d7, 0x378b, 0x381d, 0x3872, 0x38c4, 0x3913, 0x395f, 0x39a8, 0x39ed, 0x3a2f, 0x3a6d, 0x3aa7, 0x3add, 0x3b0e, 0x3b3b, 0x3b64, 0x3b88, 0x3ba8, 0x3bc3, 0x3bd9, 0x3bea, 0x3bf6, 0x3bfe, };
-fftval_t tf_imag[128] = { 0x8000, 0xaa48, 0xae46, 0xb0b2, 0xb23e, 0xb3c6, 0xb4a5, 0xb564, 0xb61f, 0xb6d7, 0xb78b, 0xb81d, 0xb872, 0xb8c4, 0xb913, 0xb95f, 0xb9a8, 0xb9ed, 0xba2f, 0xba6d, 0xbaa7, 0xbadd, 0xbb0e, 0xbb3b, 0xbb64, 0xbb88, 0xbba8, 0xbbc3, 0xbbd9, 0xbbea, 0xbbf6, 0xbbfe, 0xbc00, 0xbbfe, 0xbbf6, 0xbbea, 0xbbd9, 0xbbc3, 0xbba8, 0xbb88, 0xbb64, 0xbb3b, 0xbb0e, 0xbadd, 0xbaa7, 0xba6d, 0xba2f, 0xb9ed, 0xb9a8, 0xb95f, 0xb913, 0xb8c4, 0xb872, 0xb81d, 0xb78b, 0xb6d7, 0xb61f, 0xb564, 0xb4a5, 0xb3c6, 0xb23e, 0xb0b2, 0xae46, 0xaa48, 0x8000, 0x2a48, 0x2e46, 0x30b2, 0x323e, 0x33c6, 0x34a5, 0x3564, 0x361f, 0x36d7, 0x378b, 0x381d, 0x3872, 0x38c4, 0x3913, 0x395f, 0x39a8, 0x39ed, 0x3a2f, 0x3a6d, 0x3aa7, 0x3add, 0x3b0e, 0x3b3b, 0x3b64, 0x3b88, 0x3ba8, 0x3bc3, 0x3bd9, 0x3bea, 0x3bf6, 0x3bfe, 0x3c00, 0x3bfe, 0x3bf6, 0x3bea, 0x3bd9, 0x3bc3, 0x3ba8, 0x3b88, 0x3b64, 0x3b3b, 0x3b0e, 0x3add, 0x3aa7, 0x3a6d, 0x3a2f, 0x39ed, 0x39a8, 0x395f, 0x3913, 0x38c4, 0x3872, 0x381d, 0x378b, 0x36d7, 0x361f, 0x3564, 0x34a5, 0x33c6, 0x323e, 0x30b2, 0x2e46, 0x2a48, };
-
-#endif
diff --git a/benchmarks/vec-fft/dc_data.c b/benchmarks/vec-fft/dc_data.c
deleted file mode 100644
index a913bf0..0000000
--- a/benchmarks/vec-fft/dc_data.c
+++ /dev/null
@@ -1,14 +0,0 @@
-// See LICENSE for license details.
-
-int input_data_real[1024] = {1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576, 1048576};
-
-int input_data_imag[1024] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-int output_data_real[1024] = {1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-int output_data_imag[1024] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-int tf_real[1024] = {1048576, 1048556, 1048497, 1048398, 1048260, 1048082, 1047865, 1047608, 1047312, 1046977, 1046602, 1046188, 1045734, 1045241, 1044709, 1044137, 1043526, 1042876, 1042186, 1041458, 1040690, 1039883, 1039036, 1038151, 1037226, 1036263, 1035260, 1034218, 1033138, 1032019, 1030860, 1029663, 1028427, 1027153, 1025840, 1024488, 1023097, 1021668, 1020201, 1018695, 1017151, 1015569, 1013948, 1012289, 1010592, 1008857, 1007084, 1005273, 1003424, 1001538, 999613, 997651, 995652, 993615, 991541, 989429, 987280, 985094, 982871, 980610, 978313, 975979, 973609, 971201, 968757, 966277, 963760, 961207, 958618, 955993, 953331, 950634, 947901, 945132, 942328, 939488, 936613, 933703, 930757, 927777, 924761, 921711, 918626, 915506, 912352, 909163, 905941, 902684, 899393, 896068, 892710, 889318, 885893, 882434, 878942, 875417, 871859, 868268, 864644, 860988, 857299, 853578, 849825, 846040, 842224, 838375, 834495, 830583, 826641, 822667, 818662, 814626, 810560, 806463, 802336, 798178, 793991, 789773, 785526, 781249, 776943, 772608, 768243, 763850, 759428, 754977, 750498, 745990, 741455, 736891, 732300, 727681, 723035, 718362, 713661, 708934, 704180, 699400, 694593, 689760, 684901, 680016, 675106, 670170, 665209, 660223, 655212, 650177, 645117, 640032, 634924, 629792, 624635, 619456, 614253, 609027, 603778, 598506, 593212, 587896, 582557, 577197, 571814, 566410, 560985, 555539, 550072, 544584, 539075, 533547, 527998, 522429, 516841, 511233, 505606, 499960, 494295, 488611, 482909, 477189, 471451, 465695, 459922, 454131, 448324, 442499, 436658, 430800, 424926, 419036, 413130, 407209, 401272, 395320, 389354, 383373, 377377, 371367, 365343, 359305, 353254, 347190, 341112, 335022, 328919, 322803, 316676, 310536, 304385, 298222, 292049, 285864, 279668, 273462, 267246, 261019, 254783, 248537, 242281, 236017, 229744, 223462, 217172, 210873, 204567, 198252, 191931, 185602, 179266, 172923, 166574, 160219, 153858, 147490, 141118, 134740, 128356, 121968, 115576, 109179, 102778, 96373, 89965, 83553, 77138, 70720, 64299, 57876, 51451, 45024, 38595, 32164, 25733, 19300, 12867, 6433, 0, -6433, -12867, -19300, -25733, -32164, -38595, -45024, -51451, -57876, -64299, -70720, -77138, -83553, -89965, -96373, -102778, -109179, -115576, -121968, -128356, -134740, -141118, -147490, -153858, -160219, -166574, -172923, -179266, -185602, -191931, -198252, -204567, -210873, -217172, -223462, -229744, -236017, -242281, -248537, -254783, -261019, -267246, -273462, -279668, -285864, -292049, -298222, -304385, -310536, -316676, -322803, -328919, -335022, -341112, -347190, -353254, -359305, -365343, -371367, -377377, -383373, -389354, -395320, -401272, -407209, -413130, -419036, -424926, -430800, -436658, -442499, -448324, -454131, -459922, -465695, -471451, -477189, -482909, -488611, -494295, -499960, -505606, -511233, -516841, -522429, -527998, -533547, -539075, -544584, -550072, -555539, -560985, -566410, -571814, -577197, -582557, -587896, -593212, -598506, -603778, -609027, -614253, -619456, -624635, -629792, -634924, -640032, -645117, -650177, -655212, -660223, -665209, -670170, -675106, -680016, -684901, -689760, -694593, -699400, -704180, -708934, -713661, -718362, -723035, -727681, -732300, -736891, -741455, -745990, -750498, -754977, -759428, -763850, -768243, -772608, -776943, -781249, -785526, -789773, -793991, -798178, -802336, -806463, -810560, -814626, -818662, -822667, -826641, -830583, -834495, -838375, -842224, -846040, -849825, -853578, -857299, -860988, -864644, -868268, -871859, -875417, -878942, -882434, -885893, -889318, -892710, -896068, -899393, -902684, -905941, -909163, -912352, -915506, -918626, -921711, -924761, -927777, -930757, -933703, -936613, -939488, -942328, -945132, -947901, -950634, -953331, -955993, -958618, -961207, -963760, -966277, -968757, -971201, -973609, -975979, -978313, -980610, -982871, -985094, -987280, -989429, -991541, -993615, -995652, -997651, -999613, -1001538, -1003424, -1005273, -1007084, -1008857, -1010592, -1012289, -1013948, -1015569, -1017151, -1018695, -1020201, -1021668, -1023097, -1024488, -1025840, -1027153, -1028427, -1029663, -1030860, -1032019, -1033138, -1034218, -1035260, -1036263, -1037226, -1038151, -1039036, -1039883, -1040690, -1041458, -1042186, -1042876, -1043526, -1044137, -1044709, -1045241, -1045734, -1046188, -1046602, -1046977, -1047312, -1047608, -1047865, -1048082, -1048260, -1048398, -1048497, -1048556, -1048576, -1048556, -1048497, -1048398, -1048260, -1048082, -1047865, -1047608, -1047312, -1046977, -1046602, -1046188, -1045734, -1045241, -1044709, -1044137, -1043526, -1042876, -1042186, -1041458, -1040690, -1039883, -1039036, -1038151, -1037226, -1036263, -1035260, -1034218, -1033138, -1032019, -1030860, -1029663, -1028427, -1027153, -1025840, -1024488, -1023097, -1021668, -1020201, -1018695, -1017151, -1015569, -1013948, -1012289, -1010592, -1008857, -1007084, -1005273, -1003424, -1001538, -999613, -997651, -995652, -993615, -991541, -989429, -987280, -985094, -982871, -980610, -978313, -975979, -973609, -971201, -968757, -966277, -963760, -961207, -958618, -955993, -953331, -950634, -947901, -945132, -942328, -939488, -936613, -933703, -930757, -927777, -924761, -921711, -918626, -915506, -912352, -909163, -905941, -902684, -899393, -896068, -892710, -889318, -885893, -882434, -878942, -875417, -871859, -868268, -864644, -860988, -857299, -853578, -849825, -846040, -842224, -838375, -834495, -830583, -826641, -822667, -818662, -814626, -810560, -806463, -802336, -798178, -793991, -789773, -785526, -781249, -776943, -772608, -768243, -763850, -759428, -754977, -750498, -745990, -741455, -736891, -732300, -727681, -723035, -718362, -713661, -708934, -704180, -699400, -694593, -689760, -684901, -680016, -675106, -670170, -665209, -660223, -655212, -650177, -645117, -640032, -634924, -629792, -624635, -619456, -614253, -609027, -603778, -598506, -593212, -587896, -582557, -577197, -571814, -566410, -560985, -555539, -550072, -544584, -539075, -533547, -527998, -522429, -516841, -511233, -505606, -499960, -494295, -488611, -482909, -477189, -471451, -465695, -459922, -454131, -448324, -442499, -436658, -430800, -424926, -419036, -413130, -407209, -401272, -395320, -389354, -383373, -377377, -371367, -365343, -359305, -353254, -347190, -341112, -335022, -328919, -322803, -316676, -310536, -304385, -298222, -292049, -285864, -279668, -273462, -267246, -261019, -254783, -248537, -242281, -236017, -229744, -223462, -217172, -210873, -204567, -198252, -191931, -185602, -179266, -172923, -166574, -160219, -153858, -147490, -141118, -134740, -128356, -121968, -115576, -109179, -102778, -96373, -89965, -83553, -77138, -70720, -64299, -57876, -51451, -45024, -38595, -32164, -25733, -19300, -12867, -6433, 0, 6433, 12867, 19300, 25733, 32164, 38595, 45024, 51451, 57876, 64299, 70720, 77138, 83553, 89965, 96373, 102778, 109179, 115576, 121968, 128356, 134740, 141118, 147490, 153858, 160219, 166574, 172923, 179266, 185602, 191931, 198252, 204567, 210873, 217172, 223462, 229744, 236017, 242281, 248537, 254783, 261019, 267246, 273462, 279668, 285864, 292049, 298222, 304385, 310536, 316676, 322803, 328919, 335022, 341112, 347190, 353254, 359305, 365343, 371367, 377377, 383373, 389354, 395320, 401272, 407209, 413130, 419036, 424926, 430800, 436658, 442499, 448324, 454131, 459922, 465695, 471451, 477189, 482909, 488611, 494295, 499960, 505606, 511233, 516841, 522429, 527998, 533547, 539075, 544584, 550072, 555539, 560985, 566410, 571814, 577197, 582557, 587896, 593212, 598506, 603778, 609027, 614253, 619456, 624635, 629792, 634924, 640032, 645117, 650177, 655212, 660223, 665209, 670170, 675106, 680016, 684901, 689760, 694593, 699400, 704180, 708934, 713661, 718362, 723035, 727681, 732300, 736891, 741455, 745990, 750498, 754977, 759428, 763850, 768243, 772608, 776943, 781249, 785526, 789773, 793991, 798178, 802336, 806463, 810560, 814626, 818662, 822667, 826641, 830583, 834495, 838375, 842224, 846040, 849825, 853578, 857299, 860988, 864644, 868268, 871859, 875417, 878942, 882434, 885893, 889318, 892710, 896068, 899393, 902684, 905941, 909163, 912352, 915506, 918626, 921711, 924761, 927777, 930757, 933703, 936613, 939488, 942328, 945132, 947901, 950634, 953331, 955993, 958618, 961207, 963760, 966277, 968757, 971201, 973609, 975979, 978313, 980610, 982871, 985094, 987280, 989429, 991541, 993615, 995652, 997651, 999613, 1001538, 1003424, 1005273, 1007084, 1008857, 1010592, 1012289, 1013948, 1015569, 1017151, 1018695, 1020201, 1021668, 1023097, 1024488, 1025840, 1027153, 1028427, 1029663, 1030860, 1032019, 1033138, 1034218, 1035260, 1036263, 1037226, 1038151, 1039036, 1039883, 1040690, 1041458, 1042186, 1042876, 1043526, 1044137, 1044709, 1045241, 1045734, 1046188, 1046602, 1046977, 1047312, 1047608, 1047865, 1048082, 1048260, 1048398, 1048497, 1048556};
-
-int tf_imag[1024] = {0, -6433, -12867, -19300, -25733, -32164, -38595, -45024, -51451, -57876, -64299, -70720, -77138, -83553, -89965, -96373, -102778, -109179, -115576, -121968, -128356, -134740, -141118, -147490, -153858, -160219, -166574, -172923, -179266, -185602, -191931, -198252, -204567, -210873, -217172, -223462, -229744, -236017, -242281, -248537, -254783, -261019, -267246, -273462, -279668, -285864, -292049, -298222, -304385, -310536, -316676, -322803, -328919, -335022, -341112, -347190, -353254, -359305, -365343, -371367, -377377, -383373, -389354, -395320, -401272, -407209, -413130, -419036, -424926, -430800, -436658, -442499, -448324, -454131, -459922, -465695, -471451, -477189, -482909, -488611, -494295, -499960, -505606, -511233, -516841, -522429, -527998, -533547, -539075, -544584, -550072, -555539, -560985, -566410, -571814, -577197, -582557, -587896, -593212, -598506, -603778, -609027, -614253, -619456, -624635, -629792, -634924, -640032, -645117, -650177, -655212, -660223, -665209, -670170, -675106, -680016, -684901, -689760, -694593, -699400, -704180, -708934, -713661, -718362, -723035, -727681, -732300, -736891, -741455, -745990, -750498, -754977, -759428, -763850, -768243, -772608, -776943, -781249, -785526, -789773, -793991, -798178, -802336, -806463, -810560, -814626, -818662, -822667, -826641, -830583, -834495, -838375, -842224, -846040, -849825, -853578, -857299, -860988, -864644, -868268, -871859, -875417, -878942, -882434, -885893, -889318, -892710, -896068, -899393, -902684, -905941, -909163, -912352, -915506, -918626, -921711, -924761, -927777, -930757, -933703, -936613, -939488, -942328, -945132, -947901, -950634, -953331, -955993, -958618, -961207, -963760, -966277, -968757, -971201, -973609, -975979, -978313, -980610, -982871, -985094, -987280, -989429, -991541, -993615, -995652, -997651, -999613, -1001538, -1003424, -1005273, -1007084, -1008857, -1010592, -1012289, -1013948, -1015569, -1017151, -1018695, -1020201, -1021668, -1023097, -1024488, -1025840, -1027153, -1028427, -1029663, -1030860, -1032019, -1033138, -1034218, -1035260, -1036263, -1037226, -1038151, -1039036, -1039883, -1040690, -1041458, -1042186, -1042876, -1043526, -1044137, -1044709, -1045241, -1045734, -1046188, -1046602, -1046977, -1047312, -1047608, -1047865, -1048082, -1048260, -1048398, -1048497, -1048556, -1048576, -1048556, -1048497, -1048398, -1048260, -1048082, -1047865, -1047608, -1047312, -1046977, -1046602, -1046188, -1045734, -1045241, -1044709, -1044137, -1043526, -1042876, -1042186, -1041458, -1040690, -1039883, -1039036, -1038151, -1037226, -1036263, -1035260, -1034218, -1033138, -1032019, -1030860, -1029663, -1028427, -1027153, -1025840, -1024488, -1023097, -1021668, -1020201, -1018695, -1017151, -1015569, -1013948, -1012289, -1010592, -1008857, -1007084, -1005273, -1003424, -1001538, -999613, -997651, -995652, -993615, -991541, -989429, -987280, -985094, -982871, -980610, -978313, -975979, -973609, -971201, -968757, -966277, -963760, -961207, -958618, -955993, -953331, -950634, -947901, -945132, -942328, -939488, -936613, -933703, -930757, -927777, -924761, -921711, -918626, -915506, -912352, -909163, -905941, -902684, -899393, -896068, -892710, -889318, -885893, -882434, -878942, -875417, -871859, -868268, -864644, -860988, -857299, -853578, -849825, -846040, -842224, -838375, -834495, -830583, -826641, -822667, -818662, -814626, -810560, -806463, -802336, -798178, -793991, -789773, -785526, -781249, -776943, -772608, -768243, -763850, -759428, -754977, -750498, -745990, -741455, -736891, -732300, -727681, -723035, -718362, -713661, -708934, -704180, -699400, -694593, -689760, -684901, -680016, -675106, -670170, -665209, -660223, -655212, -650177, -645117, -640032, -634924, -629792, -624635, -619456, -614253, -609027, -603778, -598506, -593212, -587896, -582557, -577197, -571814, -566410, -560985, -555539, -550072, -544584, -539075, -533547, -527998, -522429, -516841, -511233, -505606, -499960, -494295, -488611, -482909, -477189, -471451, -465695, -459922, -454131, -448324, -442499, -436658, -430800, -424926, -419036, -413130, -407209, -401272, -395320, -389354, -383373, -377377, -371367, -365343, -359305, -353254, -347190, -341112, -335022, -328919, -322803, -316676, -310536, -304385, -298222, -292049, -285864, -279668, -273462, -267246, -261019, -254783, -248537, -242281, -236017, -229744, -223462, -217172, -210873, -204567, -198252, -191931, -185602, -179266, -172923, -166574, -160219, -153858, -147490, -141118, -134740, -128356, -121968, -115576, -109179, -102778, -96373, -89965, -83553, -77138, -70720, -64299, -57876, -51451, -45024, -38595, -32164, -25733, -19300, -12867, -6433, 0, 6433, 12867, 19300, 25733, 32164, 38595, 45024, 51451, 57876, 64299, 70720, 77138, 83553, 89965, 96373, 102778, 109179, 115576, 121968, 128356, 134740, 141118, 147490, 153858, 160219, 166574, 172923, 179266, 185602, 191931, 198252, 204567, 210873, 217172, 223462, 229744, 236017, 242281, 248537, 254783, 261019, 267246, 273462, 279668, 285864, 292049, 298222, 304385, 310536, 316676, 322803, 328919, 335022, 341112, 347190, 353254, 359305, 365343, 371367, 377377, 383373, 389354, 395320, 401272, 407209, 413130, 419036, 424926, 430800, 436658, 442499, 448324, 454131, 459922, 465695, 471451, 477189, 482909, 488611, 494295, 499960, 505606, 511233, 516841, 522429, 527998, 533547, 539075, 544584, 550072, 555539, 560985, 566410, 571814, 577197, 582557, 587896, 593212, 598506, 603778, 609027, 614253, 619456, 624635, 629792, 634924, 640032, 645117, 650177, 655212, 660223, 665209, 670170, 675106, 680016, 684901, 689760, 694593, 699400, 704180, 708934, 713661, 718362, 723035, 727681, 732300, 736891, 741455, 745990, 750498, 754977, 759428, 763850, 768243, 772608, 776943, 781249, 785526, 789773, 793991, 798178, 802336, 806463, 810560, 814626, 818662, 822667, 826641, 830583, 834495, 838375, 842224, 846040, 849825, 853578, 857299, 860988, 864644, 868268, 871859, 875417, 878942, 882434, 885893, 889318, 892710, 896068, 899393, 902684, 905941, 909163, 912352, 915506, 918626, 921711, 924761, 927777, 930757, 933703, 936613, 939488, 942328, 945132, 947901, 950634, 953331, 955993, 958618, 961207, 963760, 966277, 968757, 971201, 973609, 975979, 978313, 980610, 982871, 985094, 987280, 989429, 991541, 993615, 995652, 997651, 999613, 1001538, 1003424, 1005273, 1007084, 1008857, 1010592, 1012289, 1013948, 1015569, 1017151, 1018695, 1020201, 1021668, 1023097, 1024488, 1025840, 1027153, 1028427, 1029663, 1030860, 1032019, 1033138, 1034218, 1035260, 1036263, 1037226, 1038151, 1039036, 1039883, 1040690, 1041458, 1042186, 1042876, 1043526, 1044137, 1044709, 1045241, 1045734, 1046188, 1046602, 1046977, 1047312, 1047608, 1047865, 1048082, 1048260, 1048398, 1048497, 1048556, 1048576, 1048556, 1048497, 1048398, 1048260, 1048082, 1047865, 1047608, 1047312, 1046977, 1046602, 1046188, 1045734, 1045241, 1044709, 1044137, 1043526, 1042876, 1042186, 1041458, 1040690, 1039883, 1039036, 1038151, 1037226, 1036263, 1035260, 1034218, 1033138, 1032019, 1030860, 1029663, 1028427, 1027153, 1025840, 1024488, 1023097, 1021668, 1020201, 1018695, 1017151, 1015569, 1013948, 1012289, 1010592, 1008857, 1007084, 1005273, 1003424, 1001538, 999613, 997651, 995652, 993615, 991541, 989429, 987280, 985094, 982871, 980610, 978313, 975979, 973609, 971201, 968757, 966277, 963760, 961207, 958618, 955993, 953331, 950634, 947901, 945132, 942328, 939488, 936613, 933703, 930757, 927777, 924761, 921711, 918626, 915506, 912352, 909163, 905941, 902684, 899393, 896068, 892710, 889318, 885893, 882434, 878942, 875417, 871859, 868268, 864644, 860988, 857299, 853578, 849825, 846040, 842224, 838375, 834495, 830583, 826641, 822667, 818662, 814626, 810560, 806463, 802336, 798178, 793991, 789773, 785526, 781249, 776943, 772608, 768243, 763850, 759428, 754977, 750498, 745990, 741455, 736891, 732300, 727681, 723035, 718362, 713661, 708934, 704180, 699400, 694593, 689760, 684901, 680016, 675106, 670170, 665209, 660223, 655212, 650177, 645117, 640032, 634924, 629792, 624635, 619456, 614253, 609027, 603778, 598506, 593212, 587896, 582557, 577197, 571814, 566410, 560985, 555539, 550072, 544584, 539075, 533547, 527998, 522429, 516841, 511233, 505606, 499960, 494295, 488611, 482909, 477189, 471451, 465695, 459922, 454131, 448324, 442499, 436658, 430800, 424926, 419036, 413130, 407209, 401272, 395320, 389354, 383373, 377377, 371367, 365343, 359305, 353254, 347190, 341112, 335022, 328919, 322803, 316676, 310536, 304385, 298222, 292049, 285864, 279668, 273462, 267246, 261019, 254783, 248537, 242281, 236017, 229744, 223462, 217172, 210873, 204567, 198252, 191931, 185602, 179266, 172923, 166574, 160219, 153858, 147490, 141118, 134740, 128356, 121968, 115576, 109179, 102778, 96373, 89965, 83553, 77138, 70720, 64299, 57876, 51451, 45024, 38595, 32164, 25733, 19300, 12867, 6433};
-
diff --git a/benchmarks/vec-fft/fft-data-gen b/benchmarks/vec-fft/fft-data-gen
deleted file mode 100755
index a8a14d0..0000000
--- a/benchmarks/vec-fft/fft-data-gen
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-import numpy
-
-def array_print(name, data):
- if type_scalar == numpy.float16:
- a = ['{:#04x}'.format(h.astype(int)) for h in data.view(dtype=numpy.uint16)]
- else:
- a = [repr(x) for x in data]
- print 'fftval_t {}[{}] = {{ {} }};'.format(name, len(a), ', '.join(a))
-
-def array_permute(data, radix = 2):
- logradix = int(numpy.log2(radix))
- term_mask = int(radix - 1)
-# num_term = int(numpy.log2(len(data)) / logradix)
- for i in xrange(0, len(data)):
- # Obtain permuted address
- i_left = i
- permuted = 0
- cur_fft_size = radix
- while cur_fft_size <= len(data):
- permuted = (permuted << logradix) | (i_left & term_mask)
- i_left >>= logradix
- cur_fft_size <<= logradix
- # Permute only once and when addresses are different
- if i < permuted:
- tmp = data[i]
- data[i] = data[permuted]
- data[permuted] = tmp
-
-fft_size = 1024
-type_scalar = numpy.float16
-permute = True
-
-if len(sys.argv) > 1:
- type_scalar = {
- '16' : numpy.float16,
- '32' : numpy.float32,
- '64' : numpy.float64 }.get(sys.argv[1].strip(), None)
- if type_scalar == None:
- sys.exit('Invalid datatype')
-
-if len(sys.argv) > 2:
- fft_size = sys.argv[2].strip()
- if not fft_size.isdigit():
- sys.exit('Invalid FFT size')
- fft_size = int(fft_size)
-
-numpy.random.seed(seed=0)
-
-print '#include "fft_const.h"'
-
-# Generate input data
-input_real = numpy.random.uniform(size=fft_size).astype(type_scalar)
-input_imag = numpy.random.uniform(size=fft_size).astype(type_scalar)
-
-# Compute reference FFT output
-type_cmplx = numpy.complex128 if (type_scalar == numpy.float64) else numpy.complex64
-input_cmplx = input_real.astype(type_cmplx)
-input_cmplx.imag = input_imag
-output_cmplx = numpy.fft.fft(input_cmplx)
-
-if permute:
- array_permute(input_real)
- array_permute(input_imag)
-
-array_print('input_data_real', input_real)
-array_print('input_data_imag', input_imag)
-
-output_real = output_cmplx.real.astype(type_scalar)
-output_imag = output_cmplx.imag.astype(type_scalar)
-
-array_print('output_data_real', output_real)
-array_print('output_data_imag', output_imag)
-
-# Generate twiddle factors (TFs)
-# Negate sine since twiddle factor angles are generated *clockwise* from 0
-rad = [(2.0 * numpy.pi * (float(i) / fft_size)) for i in xrange(fft_size)]
-tf_real = numpy.cos(rad).astype(type_scalar)
-tf_imag = -numpy.sin(rad).astype(type_scalar)
-
-array_print('tf_real', tf_real)
-array_print('tf_imag', tf_imag)
diff --git a/benchmarks/vec-fft/fft_const.h b/benchmarks/vec-fft/fft_const.h
deleted file mode 100644
index c9e30ea..0000000
--- a/benchmarks/vec-fft/fft_const.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// See LICENSE for license details.
-
-#ifndef __FFT_CONST_H
-#define __FFT_CONST_H
-
-#ifndef FFT_SIZE
-#define FFT_SIZE 1024
-#endif /* FFT_SIZE */
-
-#if 0
- #define FFT_FIXED
- #define DATA_IN_PERMUTED
-#else
-// #define DATA_IN_UNPERMUTED
- #define FFT_FLOATING
- #define FFT_FLOATING_PREC 64
-#endif
-
-#if defined(FFT_FIXED)
- #define FIX_PT 20
- #define DATA_WIDTH 32
-#elif defined(FFT_FLOATING)
- #if FFT_FLOATING_PREC == 16
- #define FP_HALF
- #elif FFT_FLOATING_PREC == 32
- #define FP_SINGLE
- #elif FFT_FLOATING_PREC == 64
- #define FP_DOUBLE
- #else
- #error "Unsupported floating-point configuration"
- #endif
- #define DATA_WIDTH FFT_FLOATING_PREC
-#else
- #error "Define fixed or floating point in fft_const.h"
-#endif
-
-#if !defined(__ASSEMBLY__)
-
-#include <stdint.h>
-#include <inttypes.h>
-
-#if defined(FFT_FIXED)
- typedef int fftval_t;
- typedef int fftbit_t;
- #define FFT_PRI "%08x"
-#elif defined(FFT_FLOATING)
- #if defined(FP_HALF)
- typedef uint16_t fftval_t;
- typedef uint16_t fftbit_t;
- #define FFT_PRI "%04" PRIx16
- #elif defined(FP_SINGLE)
- typedef float fftval_t;
- typedef uint32_t fftbit_t;
- #define FFT_PRI "%08" PRIx32
- #elif defined(FP_DOUBLE)
- typedef double fftval_t;
- typedef uint64_t fftbit_t;
- #define FFT_PRI "%016" PRIx64
- #endif
-#endif
-
-extern fftval_t input_data_real[FFT_SIZE];
-extern fftval_t input_data_imag[FFT_SIZE];
-extern fftval_t output_data_real[FFT_SIZE];
-extern fftval_t output_data_imag[FFT_SIZE];
-extern fftval_t tf_real[FFT_SIZE];
-extern fftval_t tf_imag[FFT_SIZE];
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __FFT_CONST_H */
diff --git a/benchmarks/vec-fft/fft_cos_data.c b/benchmarks/vec-fft/fft_cos_data.c
deleted file mode 100644
index 909e0ba..0000000
--- a/benchmarks/vec-fft/fft_cos_data.c
+++ /dev/null
@@ -1,8 +0,0 @@
-// See LICENSE for license details.
-
-float input_data_real[ 1024 ] = { 1.0, 0.999981175283, 0.999924701839, 0.999830581796, 0.999698818696, 0.999529417501, 0.999322384588, 0.999077727753, 0.998795456205, 0.998475580573, 0.9981181129, 0.997723066644, 0.997290456679, 0.996820299291, 0.996312612183, 0.995767414468, 0.995184726672, 0.994564570734, 0.993906970002, 0.993211949235, 0.992479534599, 0.991709753669, 0.990902635428, 0.990058210262, 0.989176509965, 0.988257567731, 0.987301418158, 0.986308097245, 0.985277642389, 0.984210092387, 0.983105487431, 0.98196386911, 0.980785280403, 0.979569765685, 0.97831737072, 0.977028142658, 0.975702130039, 0.974339382786, 0.972939952206, 0.971503890986, 0.970031253195, 0.968522094274, 0.966976471045, 0.965394441698, 0.963776065795, 0.962121404269, 0.960430519416, 0.958703474896, 0.956940335732, 0.955141168306, 0.953306040354, 0.951435020969, 0.949528180593, 0.947585591018, 0.945607325381, 0.943593458162, 0.941544065183, 0.939459223602, 0.937339011913, 0.935183509939, 0.932992798835, 0.930766961079, 0.928506080473, 0.926210242138, 0.923879532511, 0.921514039342, 0.91911385169, 0.916679059921, 0.914209755704, 0.911706032005, 0.909167983091, 0.906595704515, 0.903989293123, 0.901348847046, 0.898674465694, 0.895966249756, 0.893224301196, 0.890448723245, 0.887639620403, 0.884797098431, 0.881921264348, 0.879012226429, 0.876070094195, 0.873094978418, 0.870086991109, 0.867046245516, 0.863972856122, 0.860866938638, 0.85772861, 0.854557988365, 0.851355193105, 0.848120344803, 0.84485356525, 0.841554977437, 0.838224705555, 0.834862874986, 0.831469612303, 0.828045045258, 0.824589302785, 0.821102514991, 0.817584813152, 0.814036329706, 0.810457198253, 0.806847553544, 0.803207531481, 0.799537269108, 0.795836904609, 0.7921065773, 0.788346427627, 0.784556597156, 0.780737228572, 0.776888465673, 0.773010453363, 0.769103337646, 0.765167265622, 0.761202385484, 0.757208846506, 0.753186799044, 0.749136394523, 0.745057785441, 0.740951125355, 0.736816568877, 0.732654271672, 0.728464390448, 0.724247082951, 0.720002507961, 0.715730825284, 0.711432195745, 0.707106781187, 0.702754744457, 0.698376249409, 0.69397146089, 0.689540544737, 0.685083667773, 0.680600997795, 0.676092703575, 0.671558954847, 0.666999922304, 0.66241577759, 0.657806693297, 0.653172842954, 0.648514401022, 0.64383154289, 0.639124444864, 0.634393284164, 0.629638238915, 0.624859488142, 0.620057211763, 0.615231590581, 0.610382806276, 0.605511041404, 0.600616479384, 0.595699304492, 0.590759701859, 0.585797857456, 0.580813958096, 0.575808191418, 0.570780745887, 0.565731810784, 0.560661576197, 0.55557023302, 0.550457972937, 0.545324988422, 0.54017147273, 0.534997619887, 0.529803624686, 0.524589682678, 0.519355990166, 0.514102744193, 0.508830142543, 0.503538383726, 0.498227666973, 0.49289819223, 0.487550160148, 0.482183772079, 0.476799230063, 0.471396736826, 0.465976495768, 0.460538710958, 0.455083587126, 0.449611329655, 0.44412214457, 0.438616238539, 0.433093818853, 0.42755509343, 0.4220002708, 0.416429560098, 0.410843171058, 0.405241314005, 0.399624199846, 0.393992040061, 0.388345046699, 0.382683432365, 0.377007410216, 0.371317193952, 0.365612997805, 0.359895036535, 0.35416352542, 0.348418680249, 0.342660717312, 0.336889853392, 0.33110630576, 0.325310292162, 0.319502030816, 0.313681740399, 0.307849640042, 0.302005949319, 0.296150888244, 0.290284677254, 0.284407537211, 0.278519689385, 0.27262135545, 0.266712757475, 0.260794117915, 0.254865659605, 0.248927605746, 0.242980179903, 0.237023605994, 0.231058108281, 0.22508391136, 0.219101240157, 0.213110319916, 0.207111376192, 0.201104634842, 0.195090322016, 0.18906866415, 0.183039887955, 0.177004220412, 0.17096188876, 0.16491312049, 0.158858143334, 0.152797185258, 0.146730474455, 0.140658239333, 0.134580708507, 0.128498110794, 0.122410675199, 0.116318630912, 0.110222207294, 0.104121633872, 0.0980171403296, 0.0919089564971, 0.0857973123444, 0.0796824379714, 0.0735645635997, 0.0674439195637, 0.0613207363022, 0.0551952443497, 0.0490676743274, 0.0429382569349, 0.0368072229414, 0.0306748031766, 0.0245412285229, 0.0184067299058, 0.0122715382857, 0.00613588464915, 6.12323399574e-17, -0.00613588464915, -0.0122715382857, -0.0184067299058, -0.0245412285229, -0.0306748031766, -0.0368072229414, -0.0429382569349, -0.0490676743274, -0.0551952443497, -0.0613207363022, -0.0674439195637, -0.0735645635997, -0.0796824379714, -0.0857973123444, -0.0919089564971, -0.0980171403296, -0.104121633872, -0.110222207294, -0.116318630912, -0.122410675199, -0.128498110794, -0.134580708507, -0.140658239333, -0.146730474455, -0.152797185258, -0.158858143334, -0.16491312049, -0.17096188876, -0.177004220412, -0.183039887955, -0.18906866415, -0.195090322016, -0.201104634842, -0.207111376192, -0.213110319916, -0.219101240157, -0.22508391136, -0.231058108281, -0.237023605994, -0.242980179903, -0.248927605746, -0.254865659605, -0.260794117915, -0.266712757475, -0.27262135545, -0.278519689385, -0.284407537211, -0.290284677254, -0.296150888244, -0.302005949319, -0.307849640042, -0.313681740399, -0.319502030816, -0.325310292162, -0.33110630576, -0.336889853392, -0.342660717312, -0.348418680249, -0.35416352542, -0.359895036535, -0.365612997805, -0.371317193952, -0.377007410216, -0.382683432365, -0.388345046699, -0.393992040061, -0.399624199846, -0.405241314005, -0.410843171058, -0.416429560098, -0.4220002708, -0.42755509343, -0.433093818853, -0.438616238539, -0.44412214457, -0.449611329655, -0.455083587126, -0.460538710958, -0.465976495768, -0.471396736826, -0.476799230063, -0.482183772079, -0.487550160148, -0.49289819223, -0.498227666973, -0.503538383726, -0.508830142543, -0.514102744193, -0.519355990166, -0.524589682678, -0.529803624686, -0.534997619887, -0.54017147273, -0.545324988422, -0.550457972937, -0.55557023302, -0.560661576197, -0.565731810784, -0.570780745887, -0.575808191418, -0.580813958096, -0.585797857456, -0.590759701859, -0.595699304492, -0.600616479384, -0.605511041404, -0.610382806276, -0.615231590581, -0.620057211763, -0.624859488142, -0.629638238915, -0.634393284164, -0.639124444864, -0.64383154289, -0.648514401022, -0.653172842954, -0.657806693297, -0.66241577759, -0.666999922304, -0.671558954847, -0.676092703575, -0.680600997795, -0.685083667773, -0.689540544737, -0.69397146089, -0.698376249409, -0.702754744457, -0.707106781187, -0.711432195745, -0.715730825284, -0.720002507961, -0.724247082951, -0.728464390448, -0.732654271672, -0.736816568877, -0.740951125355, -0.745057785441, -0.749136394523, -0.753186799044, -0.757208846506, -0.761202385484, -0.765167265622, -0.769103337646, -0.773010453363, -0.776888465673, -0.780737228572, -0.784556597156, -0.788346427627, -0.7921065773, -0.795836904609, -0.799537269108, -0.803207531481, -0.806847553544, -0.810457198253, -0.814036329706, -0.817584813152, -0.821102514991, -0.824589302785, -0.828045045258, -0.831469612303, -0.834862874986, -0.838224705555, -0.841554977437, -0.84485356525, -0.848120344803, -0.851355193105, -0.854557988365, -0.85772861, -0.860866938638, -0.863972856122, -0.867046245516, -0.870086991109, -0.873094978418, -0.876070094195, -0.879012226429, -0.881921264348, -0.884797098431, -0.887639620403, -0.890448723245, -0.893224301196, -0.895966249756, -0.898674465694, -0.901348847046, -0.903989293123, -0.906595704515, -0.909167983091, -0.911706032005, -0.914209755704, -0.916679059921, -0.91911385169, -0.921514039342, -0.923879532511, -0.926210242138, -0.928506080473, -0.930766961079, -0.932992798835, -0.935183509939, -0.937339011913, -0.939459223602, -0.941544065183, -0.943593458162, -0.945607325381, -0.947585591018, -0.949528180593, -0.951435020969, -0.953306040354, -0.955141168306, -0.956940335732, -0.958703474896, -0.960430519416, -0.962121404269, -0.963776065795, -0.965394441698, -0.966976471045, -0.968522094274, -0.970031253195, -0.971503890986, -0.972939952206, -0.974339382786, -0.975702130039, -0.977028142658, -0.97831737072, -0.979569765685, -0.980785280403, -0.98196386911, -0.983105487431, -0.984210092387, -0.985277642389, -0.986308097245, -0.987301418158, -0.988257567731, -0.989176509965, -0.990058210262, -0.990902635428, -0.991709753669, -0.992479534599, -0.993211949235, -0.993906970002, -0.994564570734, -0.995184726672, -0.995767414468, -0.996312612183, -0.996820299291, -0.997290456679, -0.997723066644, -0.9981181129, -0.998475580573, -0.998795456205, -0.999077727753, -0.999322384588, -0.999529417501, -0.999698818696, -0.999830581796, -0.999924701839, -0.999981175283, -1.0, -0.999981175283, -0.999924701839, -0.999830581796, -0.999698818696, -0.999529417501, -0.999322384588, -0.999077727753, -0.998795456205, -0.998475580573, -0.9981181129, -0.997723066644, -0.997290456679, -0.996820299291, -0.996312612183, -0.995767414468, -0.995184726672, -0.994564570734, -0.993906970002, -0.993211949235, -0.992479534599, -0.991709753669, -0.990902635428, -0.990058210262, -0.989176509965, -0.988257567731, -0.987301418158, -0.986308097245, -0.985277642389, -0.984210092387, -0.983105487431, -0.98196386911, -0.980785280403, -0.979569765685, -0.97831737072, -0.977028142658, -0.975702130039, -0.974339382786, -0.972939952206, -0.971503890986, -0.970031253195, -0.968522094274, -0.966976471045, -0.965394441698, -0.963776065795, -0.962121404269, -0.960430519416, -0.958703474896, -0.956940335732, -0.955141168306, -0.953306040354, -0.951435020969, -0.949528180593, -0.947585591018, -0.945607325381, -0.943593458162, -0.941544065183, -0.939459223602, -0.937339011913, -0.935183509939, -0.932992798835, -0.930766961079, -0.928506080473, -0.926210242138, -0.923879532511, -0.921514039342, -0.91911385169, -0.916679059921, -0.914209755704, -0.911706032005, -0.909167983091, -0.906595704515, -0.903989293123, -0.901348847046, -0.898674465694, -0.895966249756, -0.893224301196, -0.890448723245, -0.887639620403, -0.884797098431, -0.881921264348, -0.879012226429, -0.876070094195, -0.873094978418, -0.870086991109, -0.867046245516, -0.863972856122, -0.860866938638, -0.85772861, -0.854557988365, -0.851355193105, -0.848120344803, -0.84485356525, -0.841554977437, -0.838224705555, -0.834862874986, -0.831469612303, -0.828045045258, -0.824589302785, -0.821102514991, -0.817584813152, -0.814036329706, -0.810457198253, -0.806847553544, -0.803207531481, -0.799537269108, -0.795836904609, -0.7921065773, -0.788346427627, -0.784556597156, -0.780737228572, -0.776888465673, -0.773010453363, -0.769103337646, -0.765167265622, -0.761202385484, -0.757208846506, -0.753186799044, -0.749136394523, -0.745057785441, -0.740951125355, -0.736816568877, -0.732654271672, -0.728464390448, -0.724247082951, -0.720002507961, -0.715730825284, -0.711432195745, -0.707106781187, -0.702754744457, -0.698376249409, -0.69397146089, -0.689540544737, -0.685083667773, -0.680600997795, -0.676092703575, -0.671558954847, -0.666999922304, -0.66241577759, -0.657806693297, -0.653172842954, -0.648514401022, -0.64383154289, -0.639124444864, -0.634393284164, -0.629638238915, -0.624859488142, -0.620057211763, -0.615231590581, -0.610382806276, -0.605511041404, -0.600616479384, -0.595699304492, -0.590759701859, -0.585797857456, -0.580813958096, -0.575808191418, -0.570780745887, -0.565731810784, -0.560661576197, -0.55557023302, -0.550457972937, -0.545324988422, -0.54017147273, -0.534997619887, -0.529803624686, -0.524589682678, -0.519355990166, -0.514102744193, -0.508830142543, -0.503538383726, -0.498227666973, -0.49289819223, -0.487550160148, -0.482183772079, -0.476799230063, -0.471396736826, -0.465976495768, -0.460538710958, -0.455083587126, -0.449611329655, -0.44412214457, -0.438616238539, -0.433093818853, -0.42755509343, -0.4220002708, -0.416429560098, -0.410843171058, -0.405241314005, -0.399624199846, -0.393992040061, -0.388345046699, -0.382683432365, -0.377007410216, -0.371317193952, -0.365612997805, -0.359895036535, -0.35416352542, -0.348418680249, -0.342660717312, -0.336889853392, -0.33110630576, -0.325310292162, -0.319502030816, -0.313681740399, -0.307849640042, -0.302005949319, -0.296150888244, -0.290284677254, -0.284407537211, -0.278519689385, -0.27262135545, -0.266712757475, -0.260794117915, -0.254865659605, -0.248927605746, -0.242980179903, -0.237023605994, -0.231058108281, -0.22508391136, -0.219101240157, -0.213110319916, -0.207111376192, -0.201104634842, -0.195090322016, -0.18906866415, -0.183039887955, -0.177004220412, -0.17096188876, -0.16491312049, -0.158858143334, -0.152797185258, -0.146730474455, -0.140658239333, -0.134580708507, -0.128498110794, -0.122410675199, -0.116318630912, -0.110222207294, -0.104121633872, -0.0980171403296, -0.0919089564971, -0.0857973123444, -0.0796824379714, -0.0735645635997, -0.0674439195637, -0.0613207363022, -0.0551952443497, -0.0490676743274, -0.0429382569349, -0.0368072229414, -0.0306748031766, -0.0245412285229, -0.0184067299058, -0.0122715382857, -0.00613588464915, -1.83697019872e-16, 0.00613588464915, 0.0122715382857, 0.0184067299058, 0.0245412285229, 0.0306748031766, 0.0368072229414, 0.0429382569349, 0.0490676743274, 0.0551952443497, 0.0613207363022, 0.0674439195637, 0.0735645635997, 0.0796824379714, 0.0857973123444, 0.0919089564971, 0.0980171403296, 0.104121633872, 0.110222207294, 0.116318630912, 0.122410675199, 0.128498110794, 0.134580708507, 0.140658239333, 0.146730474455, 0.152797185258, 0.158858143334, 0.16491312049, 0.17096188876, 0.177004220412, 0.183039887955, 0.18906866415, 0.195090322016, 0.201104634842, 0.207111376192, 0.213110319916, 0.219101240157, 0.22508391136, 0.231058108281, 0.237023605994, 0.242980179903, 0.248927605746, 0.254865659605, 0.260794117915, 0.266712757475, 0.27262135545, 0.278519689385, 0.284407537211, 0.290284677254, 0.296150888244, 0.302005949319, 0.307849640042, 0.313681740399, 0.319502030816, 0.325310292162, 0.33110630576, 0.336889853392, 0.342660717312, 0.348418680249, 0.35416352542, 0.359895036535, 0.365612997805, 0.371317193952, 0.377007410216, 0.382683432365, 0.388345046699, 0.393992040061, 0.399624199846, 0.405241314005, 0.410843171058, 0.416429560098, 0.4220002708, 0.42755509343, 0.433093818853, 0.438616238539, 0.44412214457, 0.449611329655, 0.455083587126, 0.460538710958, 0.465976495768, 0.471396736826, 0.476799230063, 0.482183772079, 0.487550160148, 0.49289819223, 0.498227666973, 0.503538383726, 0.508830142543, 0.514102744193, 0.519355990166, 0.524589682678, 0.529803624686, 0.534997619887, 0.54017147273, 0.545324988422, 0.550457972937, 0.55557023302, 0.560661576197, 0.565731810784, 0.570780745887, 0.575808191418, 0.580813958096, 0.585797857456, 0.590759701859, 0.595699304492, 0.600616479384, 0.605511041404, 0.610382806276, 0.615231590581, 0.620057211763, 0.624859488142, 0.629638238915, 0.634393284164, 0.639124444864, 0.64383154289, 0.648514401022, 0.653172842954, 0.657806693297, 0.66241577759, 0.666999922304, 0.671558954847, 0.676092703575, 0.680600997795, 0.685083667773, 0.689540544737, 0.69397146089, 0.698376249409, 0.702754744457, 0.707106781187, 0.711432195745, 0.715730825284, 0.720002507961, 0.724247082951, 0.728464390448, 0.732654271672, 0.736816568877, 0.740951125355, 0.745057785441, 0.749136394523, 0.753186799044, 0.757208846506, 0.761202385484, 0.765167265622, 0.769103337646, 0.773010453363, 0.776888465673, 0.780737228572, 0.784556597156, 0.788346427627, 0.7921065773, 0.795836904609, 0.799537269108, 0.803207531481, 0.806847553544, 0.810457198253, 0.814036329706, 0.817584813152, 0.821102514991, 0.824589302785, 0.828045045258, 0.831469612303, 0.834862874986, 0.838224705555, 0.841554977437, 0.84485356525, 0.848120344803, 0.851355193105, 0.854557988365, 0.85772861, 0.860866938638, 0.863972856122, 0.867046245516, 0.870086991109, 0.873094978418, 0.876070094195, 0.879012226429, 0.881921264348, 0.884797098431, 0.887639620403, 0.890448723245, 0.893224301196, 0.895966249756, 0.898674465694, 0.901348847046, 0.903989293123, 0.906595704515, 0.909167983091, 0.911706032005, 0.914209755704, 0.916679059921, 0.91911385169, 0.921514039342, 0.923879532511, 0.926210242138, 0.928506080473, 0.930766961079, 0.932992798835, 0.935183509939, 0.937339011913, 0.939459223602, 0.941544065183, 0.943593458162, 0.945607325381, 0.947585591018, 0.949528180593, 0.951435020969, 0.953306040354, 0.955141168306, 0.956940335732, 0.958703474896, 0.960430519416, 0.962121404269, 0.963776065795, 0.965394441698, 0.966976471045, 0.968522094274, 0.970031253195, 0.971503890986, 0.972939952206, 0.974339382786, 0.975702130039, 0.977028142658, 0.97831737072, 0.979569765685, 0.980785280403, 0.98196386911, 0.983105487431, 0.984210092387, 0.985277642389, 0.986308097245, 0.987301418158, 0.988257567731, 0.989176509965, 0.990058210262, 0.990902635428, 0.991709753669, 0.992479534599, 0.993211949235, 0.993906970002, 0.994564570734, 0.995184726672, 0.995767414468, 0.996312612183, 0.996820299291, 0.997290456679, 0.997723066644, 0.9981181129, 0.998475580573, 0.998795456205, 0.999077727753, 0.999322384588, 0.999529417501, 0.999698818696, 0.999830581796, 0.999924701839, 0.999981175283 };
-float input_data_imag[ 1024 ] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-float output_data_real[ 1024 ] = { -3.98328871302e-14, 512.0, 1.27235727414e-14, 2.11219930435e-13, 2.56426491579e-15, 6.90867309258e-14, 2.59436596681e-15, 1.02395635854e-13, 5.61080391287e-16, 2.85262909278e-14, 3.79032227216e-16, 7.53393398908e-14, 2.66162910625e-16, 2.13178823599e-14, -1.93700945762e-15, 2.54685161849e-13, -1.0480207485e-16, 1.49529977383e-14, 1.67741767281e-15, 4.43915870872e-14, 2.72764222422e-16, 1.52808625925e-14, -2.99940488335e-16, 2.81673052451e-14, -3.14206394495e-16, 9.73082752877e-15, 3.41332290024e-16, 2.63398836114e-14, 9.01376884194e-16, 1.07971860501e-14, -2.16489859293e-16, 1.22399044814e-13, -2.81903879404e-16, 7.70972419107e-15, -1.60972715089e-16, 1.94010784335e-14, 1.30859141192e-16, 6.63927036612e-15, 6.13055952407e-16, 2.02306856577e-14, -5.75282259126e-16, 8.03563339119e-15, -1.71840381989e-15, 1.94213634363e-14, -1.48370317037e-16, 2.94407121745e-15, 1.03703984616e-15, 8.23035203833e-14, 7.01961623624e-16, 4.34745397051e-15, 4.56259003886e-16, 1.86244190865e-14, -7.52443713212e-16, 5.72672412574e-15, -4.67950066318e-16, 1.58021773106e-14, 5.894955421e-17, 5.67365377039e-15, 5.84754391954e-16, 1.3231125266e-14, 1.32571081181e-15, 3.25209579784e-15, -2.40264994719e-16, 2.57571741713e-13, -5.00002386189e-16, 3.02656006773e-15, -3.26405588808e-16, 1.42487690053e-14, -6.63822354292e-16, 6.6022019812e-15, 9.94981112262e-16, 5.49373271562e-15, 1.00761570794e-16, 3.95666287023e-15, -1.95071483446e-15, 1.56333546729e-14, 1.70620506332e-15, 2.70111065119e-15, 1.58344416309e-15, 5.66002978792e-14, -1.78754920909e-15, 3.22081292635e-15, 3.72585484986e-16, 9.92942942162e-15, -3.5930568463e-17, 4.215937795e-15, -1.33163046986e-15, 3.72038284346e-15, 1.31631749194e-15, 6.69001898104e-15, 7.5809899164e-16, 1.16035168759e-14, 2.06193747392e-16, -2.05766401993e-15, 3.17731451744e-15, 3.40668848718e-14, -4.64380668017e-16, 9.40864217653e-15, -3.49175297909e-15, 9.34771079725e-15, 1.1341541471e-15, 4.12668346235e-16, 1.33761095312e-15, 1.04488133379e-14, -1.41400258841e-15, -2.14683976834e-16, -5.15479064209e-16, 7.07691580819e-15, -5.95914117692e-16, 5.36244098615e-15, -4.51177893942e-16, 3.68493980688e-14, 7.82350136714e-16, 1.10543728146e-14, 2.27743811408e-16, 3.28225870764e-15, 5.40130814212e-16, 6.67645215345e-15, -3.50843836178e-16, 1.279343385e-14, -1.02139125531e-15, 1.09149611348e-15, 8.77607632505e-16, 9.14235345858e-15, 7.89502628481e-16, 2.25734666014e-15, -4.50745100905e-17, 8.66746035337e-14, 6.27447048091e-16, 3.65533132722e-15, 1.43174399109e-16, 5.82956652231e-15, -1.45737981045e-16, -1.29157867952e-16, 1.18978725726e-15, 1.38364373427e-15, 8.41747333429e-16, 4.3673989967e-15, -3.85906290425e-17, 5.09925725437e-15, 1.50240781231e-16, -1.76650582842e-15, -7.39518114382e-16, 2.87280700733e-14, -9.96989952227e-16, 2.31548911934e-16, 2.36889949114e-16, 6.34954615877e-15, -5.85757554919e-16, -1.68242621986e-15, -4.66248195508e-16, 9.02584093418e-15, 1.40782032941e-16, 3.15901910566e-15, 4.98055709469e-16, 1.20596584076e-14, -8.89342670076e-17, -6.3516242516e-16, -1.7458138716e-15, 2.8058807857e-14, -2.21973351348e-16, 2.04649181021e-15, 3.87342319562e-16, 6.06353860395e-15, -3.81708513492e-16, 1.89335817025e-15, -4.04021120233e-16, -8.93181398066e-15, 2.67075596151e-17, 8.46234003187e-16, -3.08961223442e-16, -5.74890322552e-15, -2.37625728097e-16, -2.5658294371e-15, 1.53521183787e-15, 1.26425818542e-14, -6.13776272451e-18, -1.05988554149e-15, -2.17239450599e-15, -1.08085321211e-15, -1.38697234275e-15, 4.2038156275e-15, -1.59780806146e-15, -7.66808409701e-15, -6.05376786395e-16, 1.30073416562e-14, 2.21277076554e-15, 4.54954264027e-16, 2.61462296006e-15, -3.30725510621e-16, 1.17196752845e-15, 8.49820133083e-14, -8.76902171665e-16, 8.76384566986e-15, -1.5968293806e-15, -6.96917929091e-16, 6.18966041212e-16, 1.4533812346e-15, 1.88194306608e-15, 5.53878921704e-15, 6.41947497837e-16, -2.58911446434e-15, -3.57354629937e-16, -8.36897940857e-16, -1.09968330794e-15, 3.75360545117e-15, -2.38950959284e-15, 1.11602857754e-14, 7.40738951969e-17, 2.18554944972e-15, 2.4737094729e-15, 2.23631813468e-15, -2.38358796158e-16, 7.11506892815e-16, -1.43566227545e-15, 3.63828639912e-15, 3.23176624349e-16, 3.26693081305e-15, 4.06264334213e-16, 1.08648883704e-15, 3.97081814176e-17, -4.11183923829e-15, 1.40901037236e-16, 1.07728205061e-14, 2.49215789888e-16, 1.86987739338e-15, -3.54353005052e-16, 7.49453470008e-16, -8.04573384604e-16, -3.12010826146e-15, 7.73598790599e-16, 7.00000300529e-15, 7.85638252146e-16, 2.66154338778e-15, -1.48244958666e-16, 4.2260599496e-15, -2.71278947456e-16, -2.87357207886e-16, -1.80358697424e-17, 1.84429384913e-14, 1.58318646262e-16, -2.65314193883e-15, -5.70094465335e-16, 4.19048722376e-15, -1.41749070227e-15, 3.88976423898e-15, 7.02433451731e-16, -6.08449237004e-16, 7.61467782713e-16, -5.66018000355e-16, -6.04391978181e-16, -3.3201876178e-15, 7.15562261709e-17, -2.29442813759e-15, 3.192686443e-16, 2.34479102801e-13, -1.57159149434e-16, -2.60208521397e-16, -1.14878564218e-15, -1.31838984174e-15, 4.74081709404e-16, 7.66456304007e-16, 1.7831988913e-15, 4.02011759265e-16, -1.13495040105e-15, 5.07623728442e-15, -1.88288108205e-15, 5.45192154517e-15, 3.06475416731e-15, -2.66569831313e-15, 4.07464728363e-15, 8.65973959208e-15, -2.37551463362e-15, 9.17224986529e-16, -3.09021178563e-15, 2.35961352891e-15, 4.17582405778e-15, -4.10455452096e-15, 5.30952606861e-15, 2.962502435e-14, 5.14002246939e-16, -2.80909888336e-14, -4.26985256491e-15, 1.42928510756e-14, -3.76137762878e-15, -7.32702696459e-16, 1.49462486312e-15, 3.76673344319e-15, 4.2194325517e-16, 3.24382123682e-15, -2.72383715929e-15, 4.55419167509e-15, -9.97821069011e-16, 8.59877137244e-16, 1.73508606445e-15, 2.64691339524e-15, 1.25989890426e-15, 1.87513917999e-15, -4.92411118081e-16, 2.46348904585e-15, -6.27494788887e-16, -3.96750865671e-15, 1.76804844506e-16, 1.52297985316e-14, 1.00538925333e-15, 3.2213904896e-15, 1.88974179837e-17, -1.15748486176e-15, -4.03684563621e-16, -3.09287506838e-16, -3.10177439566e-17, 4.75067161654e-15, 1.9038176849e-16, 1.56016551202e-15, 7.39547679204e-16, 2.66502474114e-15, 2.7423617409e-16, -7.14183467585e-16, -7.83710908369e-16, 9.05941988094e-14, -9.80495714737e-16, 6.85615184726e-16, -1.62855636973e-15, -8.78121607031e-16, -3.3553596728e-16, 7.21229796572e-16, 1.17858908338e-15, -4.6750047143e-16, 1.1511683809e-16, -6.22060882854e-16, -2.06807788113e-17, 2.57050914047e-15, -1.60530397929e-16, 2.82280236155e-16, -1.441330434e-17, 3.36275358528e-14, 7.9160390211e-16, 2.78872405136e-15, 5.71816496774e-16, 1.05669220751e-14, -5.90464067592e-16, 4.70750685665e-15, -4.5809790381e-16, -8.76218356501e-15, 3.22883908531e-16, 1.83351937784e-15, -4.75357553212e-16, 1.12137751537e-14, -6.52233985352e-16, 1.27478459404e-15, -2.48514390054e-16, 1.12642100855e-14, -5.21748385391e-16, 1.17998198641e-15, -5.50000492759e-16, 1.767476236e-15, 1.8743037822e-16, 1.54063158514e-15, 1.45415852793e-16, -7.14244637222e-15, -1.10637652425e-16, 2.24969279334e-15, -5.73868014574e-16, 2.74291992254e-15, 9.92962068291e-16, -2.5412196985e-15, 4.33490689622e-15, 2.91999603692e-14, -4.28995942772e-16, -5.19949879346e-15, -5.01054248088e-15, 4.14925757339e-15, -3.37494690924e-16, 2.28922769946e-15, 2.14932931869e-15, 7.66998402116e-15, -5.69881550658e-17, -8.02603177859e-15, -9.80390426905e-16, 1.94763095569e-15, 4.99722813172e-18, -6.66210410455e-16, 9.41928479954e-16, 4.19895250363e-14, 5.08463478957e-16, 6.20190538995e-15, -2.35854522357e-15, -2.67071268032e-15, -1.38642994103e-15, -1.02418768022e-15, 1.94115907508e-15, 4.56342584147e-15, 7.2192452627e-16, -1.92582982702e-15, -1.449258867e-16, -9.07398851732e-16, 8.64525455475e-16, 3.77536167485e-15, -9.1841281355e-17, 4.89964006655e-15, -1.20756076199e-15, -7.88195479675e-16, -3.68567647009e-16, -8.12712584812e-16, 4.16898212995e-16, 1.3701924654e-15, 5.74575746489e-16, 1.34567384015e-16, 8.12670897395e-16, -9.91145971777e-16, 6.74576695871e-16, 3.85800421458e-15, 5.20619714792e-16, -1.06836589264e-15, -3.72800798199e-16, -2.40927752498e-15, -1.06744761661e-15, -2.95216879137e-16, -6.08174658384e-16, -1.6644187365e-15, -3.86699638476e-16, -7.96907084358e-17, 1.16545894065e-15, -1.24484226387e-15, 1.08374478299e-15, 9.4403695106e-16, -2.08497272972e-16, 4.94396399916e-15, 2.12726465997e-16, -1.77481532024e-15, -6.39406839322e-16, 3.04923459776e-15, -8.69606102743e-16, 2.2219282865e-15, 3.95813673121e-16, -1.7990688344e-16, -5.63916824224e-16, -5.67077590969e-16, 4.22181597111e-16, 1.39110577279e-15, 1.11863342183e-15, 1.81880283834e-15, -2.43702564934e-16, 1.74625259159e-15, 4.3103310218e-16, 7.1373344441e-16, -9.87981427945e-16, 1.98880192188e-14, -2.07375018449e-15, -3.66389163663e-15, 7.63201784862e-16, 2.39596787516e-15, 1.75272272327e-15, 1.254146269e-15, 6.98734718797e-16, -6.50986450705e-15, 2.1034371653e-16, 4.54545295019e-15, -1.913438378e-15, 3.13131278631e-15, 4.26525055625e-15, -9.36882402956e-15, 1.2201732239e-14, 9.71756235254e-15, 5.77507229304e-16, -1.0879283722e-14, -1.20603705944e-14, 1.0169796636e-14, -5.60452211765e-15, 2.38066479825e-16, 2.54995294177e-15, 1.77922351918e-15, 1.35382575568e-15, -4.35716175585e-15, -2.0632735534e-15, 3.19751487327e-15, -1.46551759471e-15, -8.61052538447e-16, 2.31447787942e-15, 6.03596667648e-15, 5.7351050901e-16, 1.35654182726e-15, -3.45858121827e-15, 6.42595130315e-15, -6.48862312509e-16, -1.86443760579e-15, 2.21095741615e-15, -8.20287105612e-16, -1.14763726476e-16, 8.93294678651e-16, -1.42541384839e-15, 4.30201097178e-15, 3.23312042966e-16, -7.90493991157e-16, 9.93935809561e-16, -2.51295030043e-15, -4.98399645598e-17, 3.43126754284e-15, -6.12625705211e-16, 2.02054707759e-15, 9.92734328274e-16, 2.14432093605e-15, 1.27664789667e-15, 3.82656793812e-15, -1.17513236038e-15, 6.46771091798e-16, -6.58541155666e-16, 1.23306063544e-15, 8.63775523006e-16, -4.3065359981e-16, 7.99782798654e-17, 0.0, -7.408935991e-16, 0.0, 7.99782798654e-17, 2.77555756156e-16, 8.63775523006e-16, -2.12613825371e-15, -6.58541155666e-16, -6.3246075703e-15, -1.17513236038e-15, 3.50738763842e-15, 1.27664789667e-15, -3.09021880097e-15, 9.92734328274e-16, 3.03678304335e-16, -6.12625705211e-16, -6.43929354283e-15, -4.98399645598e-17, -3.62120518093e-16, 9.93935809561e-16, -5.08325525014e-15, 3.23312042966e-16, 5.77869894261e-15, -1.42541384839e-15, -3.48884750087e-15, -1.14763726476e-16, -2.22769577566e-15, 2.21095741615e-15, -2.19560878634e-15, -6.48862312509e-16, 1.82487923371e-15, -3.45858121827e-15, -1.02058767664e-14, 5.7351050901e-16, -1.35654182726e-15, 2.31447787942e-15, 1.84725066254e-15, -1.46551759471e-15, -7.01948110961e-16, -2.0632735534e-15, -9.10105706027e-16, 1.35382575568e-15, 2.20007464334e-15, 2.54995294177e-15, -2.9175292536e-15, -5.60452211765e-15, 8.86782446531e-15, -1.20603705944e-14, -1.63373187952e-14, 5.77507229303e-16, 7.93803009299e-15, 1.2201732239e-14, -1.58959478948e-14, 4.26525055625e-15, 6.04573375385e-15, -1.913438378e-15, 7.3258645698e-15, 2.1034371653e-16, -4.98967084796e-15, 6.98734718797e-16, -2.05549959344e-15, 1.75272272327e-15, 7.68385982522e-16, 7.63201784862e-16, -3.01980662698e-14, -2.07375018449e-15, 3.66389163663e-15, -9.87981427945e-16, -5.24382996407e-15, 4.3103310218e-16, 2.04619277278e-15, -2.43702564934e-16, 7.45136378507e-16, 1.11863342183e-15, 8.01862849642e-16, 4.22181597111e-16, 1.03597885229e-15, -5.63916824224e-16, -1.49699967674e-15, 3.95813673121e-16, 5.44753569854e-15, -8.69606102743e-16, -1.48071746875e-15, -6.39406839322e-16, -1.00333450332e-15, 2.12726465997e-16, 3.50683788947e-15, -2.08497272972e-16, -2.96870996645e-15, 1.08374478299e-15, -2.47185893733e-15, 1.16545894065e-15, -3.71558463505e-15, -3.86699638476e-16, -1.30128748642e-15, -6.08174658384e-16, 1.10884195507e-14, -1.06744761661e-15, 2.95216879137e-16, -3.72800798199e-16, 2.84241644262e-15, 5.20619714792e-16, 2.52322931447e-15, 6.74576695871e-16, -3.1022517619e-15, 8.12670897395e-16, -1.35686661376e-15, 5.74575746489e-16, -1.47887556814e-15, 4.16898212995e-16, -3.56342139879e-15, -3.68567647009e-16, -6.17787340511e-15, -1.20756076199e-15, -1.00129216777e-15, -9.1841281355e-17, 5.80591434315e-16, 8.64525455475e-16, 9.37218183823e-16, -1.449258867e-16, -1.08059682348e-15, 7.2192452627e-16, -3.20883147224e-18, 1.94115907508e-15, -3.89446511198e-15, -1.38642994103e-15, -9.96824637036e-16, -2.35854522357e-15, -2.12360666947e-15, 5.08463478957e-16, -6.20190538995e-15, 9.41928479954e-16, -1.80500805804e-15, 4.99722813172e-18, 3.6853304815e-15, -9.80390426905e-16, -8.23624187394e-15, -5.69881550659e-17, 3.32625278161e-15, 2.14932931869e-15, -3.32008827134e-15, -3.37494690924e-16, 2.44443948251e-15, -5.01054248088e-15, -2.33989995551e-14, -4.28995942772e-16, 4.04423170661e-15, 4.33490689622e-15, -5.52681703026e-15, 9.92962068291e-16, 3.41366099079e-15, -5.73868014574e-16, 4.53980096769e-15, -1.10637652425e-16, -4.90690073699e-15, 1.45415852793e-16, -3.83676377132e-15, 1.8743037822e-16, -5.71127218112e-16, -5.50000492759e-16, -1.69405723416e-14, -5.21748385391e-16, -1.17998198641e-15, -2.48514390054e-16, -1.37094578956e-14, -6.52233985352e-16, -1.74972395421e-15, -4.75357553212e-16, 1.00574099701e-14, 3.22883908531e-16, 2.64812859627e-15, -4.5809790381e-16, -1.27698595878e-14, -5.90464067592e-16, -1.65381610939e-15, 5.71816496774e-16, -2.70837644704e-14, 7.9160390211e-16, -1.83425181237e-15, -1.441330434e-17, -4.93951306978e-15, -1.60530397929e-16, -4.18555326087e-16, -2.06807788113e-17, 4.2742176548e-15, 1.1511683809e-16, 1.43023548865e-16, 1.17858908338e-15, 6.98475617935e-16, -3.3553596728e-16, -2.71937835408e-15, -1.62855636973e-15, -7.07711585931e-14, -9.80495714737e-16, -6.85615184726e-16, -7.83710908369e-16, -5.88860604709e-15, 2.7423617409e-16, 3.45294997788e-16, 7.39547679204e-16, -2.94724655451e-15, 1.9038176849e-16, 1.26835957679e-17, -3.10177439566e-17, -1.90223835643e-15, -4.03684563621e-16, -1.80679336733e-15, 1.88974179837e-17, -1.43881511287e-14, 1.00538925333e-15, -8.38271502277e-16, 1.76804844506e-16, -1.07529288593e-15, -6.27494788887e-16, -1.94098315881e-16, -4.92411118081e-16, -1.27913041272e-15, 1.25989890426e-15, -5.36544050569e-16, 1.73508606445e-15, -1.48155012895e-15, -9.97821069011e-16, 4.15057248691e-15, -2.72383715929e-15, -5.77648211823e-15, 4.2194325517e-16, -3.24382123682e-15, 1.49462486312e-15, -1.8054003715e-15, -3.76137762878e-15, 6.07589488891e-15, -4.26985256491e-15, -3.55292890168e-14, 5.14002246939e-16, 3.21517708057e-14, 5.30952606861e-15, -5.34435750472e-15, 4.17582405778e-15, -3.97790495752e-17, -3.09021178563e-15, -1.01652223712e-14, -2.37551463362e-15, 6.33120358087e-16, 4.07464728363e-15, -4.82942871756e-15, 3.06475416731e-15, 1.97881378861e-15, -1.88288108205e-15, 2.76755019208e-15, -1.13495040105e-15, -2.52778382087e-15, 1.7831988913e-15, -1.47788897876e-15, 4.74081709404e-16, 8.03809676956e-17, -1.14878564218e-15, -2.34479102801e-13, -1.57159149434e-16, 2.60208521397e-16, 3.192686443e-16, -5.23192600355e-15, 7.15562261709e-17, -4.25119562298e-15, -6.04391978181e-16, -7.83671062062e-15, 7.61467782713e-16, -5.04172299165e-16, 7.02433451731e-16, -2.10294556608e-15, -1.41749070227e-15, -5.48981100148e-16, -5.70094465335e-16, -4.66293670343e-15, 1.58318646262e-16, -8.7098537217e-16, -1.80358697424e-17, -2.27532007435e-15, -2.71278947456e-16, 1.68378392771e-15, -1.48244958666e-16, 3.07586485054e-17, 7.85638252146e-16, -5.22365417556e-15, 7.73598790599e-16, -3.53829557192e-15, -8.04573384604e-16, 3.90956922218e-15, -3.54353005052e-16, -2.19020428393e-14, 2.49215789888e-16, -1.86987739338e-15, 1.40901037236e-16, -4.5904923547e-15, 3.97081814176e-17, 1.73632359456e-15, 4.06264334213e-16, -2.02248558346e-15, 3.23176624349e-16, -1.39636105172e-15, -1.43566227545e-15, -1.46008034978e-15, -2.38358796158e-16, -4.18834972627e-15, 2.4737094729e-15, -2.5713237352e-14, 7.40738951969e-17, -1.08421915539e-15, -2.38950959284e-15, 2.26871291959e-15, -1.09968330794e-15, 2.97468012304e-16, -3.57354629937e-16, -3.46977886104e-15, 6.41947497837e-16, 1.13725373844e-15, 1.88194306608e-15, -2.61245323064e-15, 6.18966041212e-16, -5.20509779573e-15, -1.5968293806e-15, -6.2172489379e-14, -8.76902171665e-16, -8.76384566986e-15, 1.17196752845e-15, -4.13001454552e-15, 2.61462296006e-15, -2.16502587336e-15, 2.21277076554e-15, 1.04403312756e-14, -6.05376786395e-16, -1.29271495657e-14, -1.59780806146e-15, 6.5665843656e-15, -1.38697234275e-15, -1.37935396685e-15, -2.17239450599e-15, -8.63388429993e-15, -6.13776272452e-18, -5.8768675312e-16, 1.53521183787e-15, 4.8123749377e-15, -2.37625728097e-16, -3.233700987e-16, -3.08961223442e-16, 3.40924736096e-15, 2.67075596151e-17, -1.41750324373e-15, -4.04021120233e-16, 1.68219473853e-15, -3.81708513492e-16, -3.4726970431e-15, 3.87342319562e-16, -2.36913960358e-14, -2.21973351348e-16, -2.04649181021e-15, -1.7458138716e-15, -7.83153542858e-15, -8.89342670076e-17, -4.34569832689e-15, 4.98055709469e-16, -1.01007693457e-14, 1.40782032941e-16, -6.49417390119e-16, -4.66248195508e-16, -8.16132272723e-15, -5.85757554919e-16, -7.19649188366e-15, 2.36889949114e-16, -3.05813987445e-14, -9.96989952227e-16, -2.03025529022e-15, -7.39518114382e-16, -2.35384490801e-15, 1.50240781231e-16, -4.882785595e-15, -3.85906290425e-17, -4.33544352438e-15, 8.41747333429e-16, -2.43325585761e-15, 1.18978725726e-15, -5.20113274643e-15, -1.45737981045e-16, -1.7572801079e-15, 1.43174399109e-16, -9.81188124701e-14, 6.27447048091e-16, -3.65533132722e-15, -4.50745100905e-17, -7.79313932677e-15, 7.89502628481e-16, -1.02993825451e-15, 8.77607632505e-16, -7.95700244129e-15, -1.02139125531e-15, 3.6031784029e-15, -3.50843836178e-16, -7.98476832232e-15, 5.40130814212e-16, -8.1970177362e-15, 2.27743811408e-16, -4.2203133694e-14, 7.82350136714e-16, -6.31091170203e-15, -4.51177893942e-16, -4.63744167336e-15, -5.95914117693e-16, -2.59375338172e-15, -5.15479064209e-16, -7.49034383788e-15, -1.41400258841e-15, 2.71030279049e-15, 1.33761095312e-15, -1.26418339437e-14, 1.1341541471e-15, -2.07045836128e-16, -3.49175297909e-15, -3.24266744932e-14, -4.64380668017e-16, -9.40864217653e-15, 3.17731451744e-15, -1.50103148572e-14, 2.06193747392e-16, 2.27227094656e-15, 7.5809899164e-16, -3.02254702386e-15, 1.31631749194e-15, -9.07257572833e-15, -1.33163046986e-15, -8.44464247043e-15, -3.5930568463e-17, -4.86015568863e-15, 3.72585484986e-16, -5.11962421069e-14, -1.78754920909e-15, -3.26892368847e-15, 1.58344416309e-15, -1.43700865822e-14, 1.70620506332e-15, 3.4898600853e-16, -1.95071483446e-15, -8.85669591942e-15, 1.00761570794e-16, -6.17848331473e-15, 9.94981112262e-16, -8.8604874255e-15, -6.63822354292e-16, -3.70083634403e-15, -3.26405588808e-16, -2.61472549377e-13, -5.00002386189e-16, -3.02656006773e-15, -2.40264994719e-16, -1.3574012293e-14, 1.32571081181e-15, -2.98787954048e-15, 5.84754391954e-16, -1.26967296071e-14, 5.894955421e-17, -5.3504242545e-15, -4.67950066318e-16, -1.53725096238e-14, -7.52443713212e-16, -6.70433491573e-15, 4.56259003886e-16, -8.64257547722e-14, 7.01961623624e-16, -4.89064962318e-15, 1.03703984616e-15, -2.59924929928e-14, -1.48370317037e-16, -5.9921142312e-15, -1.71840381989e-15, -1.75167215756e-14, -5.75282259126e-16, -9.08771116942e-15, 6.13055952407e-16, -2.28217866367e-14, 1.30859141192e-16, -6.61543881274e-15, -1.60972715089e-16, -1.14100565686e-13, -2.81903879404e-16, -7.70972419107e-15, -2.16489859293e-16, -2.97037300528e-14, 9.01376884194e-16, -9.69539643162e-15, 3.41332290024e-16, -3.54466068642e-14, -3.14206394495e-16, -9.89509761608e-15, -2.99940488335e-16, -4.26352084326e-14, 2.72764222422e-16, -1.6326395471e-14, 1.67741767281e-15, -2.55323100194e-13, -1.0480207485e-16, -1.60483627967e-14, -1.93700945762e-15, -7.02452656662e-14, 2.66162910625e-16, -2.244010883e-14, 3.79032227216e-16, -9.72442087284e-14, 5.61080391287e-16, -3.41587128221e-14, 2.59436596681e-15, -2.02224056364e-13, 2.56426491579e-15, -6.32228954874e-14, 1.27235727414e-14, 512.0 };
-float output_data_imag[ 1024 ] = { 0.0, -2.73953068846e-13, 1.15172383906e-15, 3.68662073617e-15, -1.45479157899e-15, 2.48165218159e-15, -2.08879510066e-16, -3.85093749736e-16, 5.46113498614e-15, 2.44894545386e-16, -1.68032250205e-15, -3.63986713248e-15, 1.14467078969e-15, 2.62379558266e-15, -1.20173507003e-16, 2.45588135991e-14, -2.28073078977e-15, -9.53898338068e-16, 8.87809217826e-16, 4.12808780082e-15, -2.56251438336e-16, 3.30146726949e-15, -3.54940262707e-16, 8.03877524948e-15, 1.15285950656e-15, -2.30506445454e-16, 8.87513413854e-17, 2.23261909814e-15, 1.5063710346e-15, 4.33122162145e-17, -1.89599352224e-16, 7.60192042751e-15, -6.02005880314e-16, 1.40456009736e-15, 9.6334874024e-16, 6.16753874481e-15, -2.79440119233e-15, 7.58459144135e-16, -9.69817982155e-17, -1.02144885918e-15, 6.91272417172e-16, 8.56194950051e-16, -1.73762849479e-15, 1.76239136203e-16, 7.01809248253e-16, 1.67538466295e-15, 5.85407041713e-16, -4.08080055893e-15, -9.33375515213e-16, 1.86124598693e-15, 1.07736225398e-15, 2.49127345913e-15, -1.34168769079e-15, 3.74217398683e-17, -2.46964522561e-16, 1.73613760301e-15, -5.292814139e-16, 3.15536314342e-15, -1.24304317762e-15, 1.49412576636e-15, 9.5116703599e-17, -3.08361084214e-15, -5.57200987754e-16, 5.27584784246e-14, -4.38802570717e-16, 7.50641619326e-16, 1.4339129634e-16, 2.77869203777e-15, -1.19948718688e-15, 1.5010958528e-15, 5.61489696854e-16, 1.10581498676e-14, -6.49624898559e-16, -7.74709496067e-16, 1.20842656842e-15, 4.14245116142e-15, 1.94514500159e-15, 4.10166856894e-15, -9.65961864596e-16, 8.6875315271e-15, 2.30258216555e-15, 8.72132579025e-16, -1.29036326958e-15, 5.45154445953e-15, 7.20381737789e-16, -1.39624137643e-15, 2.98104266618e-15, -6.05386165158e-15, -4.4850648388e-15, -2.05528714873e-16, 3.26666197019e-15, 4.87260297905e-15, -2.37907983094e-15, 2.67048811613e-15, 7.24055578052e-15, 1.29495798241e-14, -1.4274727085e-14, -6.51401619087e-16, 9.12521170012e-15, 5.19436767679e-15, -4.46023168045e-15, 4.09915099629e-17, 5.43887418291e-16, 7.22166519042e-15, 3.87071888059e-15, 3.15972494277e-15, -2.58665031383e-15, 5.91326033617e-15, 8.71432135114e-16, -5.43469963092e-15, 6.21762895013e-16, 1.45491025006e-14, -2.62650078075e-15, 4.60081762556e-16, 2.0674938355e-15, 1.35294748496e-15, -6.87341536638e-16, 5.08905965428e-15, 5.99905973439e-16, -4.23065985666e-15, 1.82031123201e-15, -1.46333181508e-15, -6.8309871823e-16, 4.40227356677e-15, 7.239150452e-16, 7.0106959564e-16, -8.08802501863e-16, 6.5877373318e-14, -1.31418601149e-16, 2.25141356872e-15, 3.5172838985e-16, 3.44013830933e-15, -1.75788615762e-15, 3.48768747897e-15, 1.46855202014e-16, 7.27213449042e-15, 8.38081251592e-16, 1.49813912017e-16, -6.127982626e-16, 4.08551466839e-15, 1.1310458676e-15, 3.56826164738e-15, 5.70155242519e-17, 1.11868821688e-14, 1.36575582806e-15, 4.81064806855e-16, 2.09172631408e-16, 2.6352845297e-15, -3.51163600879e-16, 1.80215435991e-15, 1.15875883238e-15, 1.8974577543e-15, 9.09195860278e-17, 1.68406438478e-15, -4.52996069251e-16, 7.16598795991e-15, -3.16341778083e-16, 7.19036831591e-17, -2.07538381817e-15, 1.19525619111e-14, 1.50466816212e-15, 1.84871764945e-15, 4.6143140642e-16, 1.23331070715e-14, -1.07218380206e-15, 6.14417737434e-16, 6.77303719623e-16, 1.44568346796e-14, -9.11413353252e-16, -1.886112873e-15, -4.63247220387e-16, 3.22941920061e-15, -2.99741558825e-16, 4.78748900403e-15, -8.08889827204e-16, 1.59212885519e-15, 2.44889260229e-15, -2.26072842079e-15, -1.44413919146e-15, 7.59273364297e-16, -2.75187425977e-17, 3.62442320155e-15, 7.62203077378e-15, -4.56065051903e-15, -1.36578151305e-14, -2.70522479486e-15, 6.20798781571e-15, -3.2701216735e-15, 2.9308161452e-15, 2.26318853066e-15, -1.50147548979e-15, 2.71536915785e-14, -1.0582799372e-15, 1.55630501158e-16, 1.58007273902e-15, 1.99864191434e-15, -1.52779539895e-16, 2.10511581427e-15, -4.87706719594e-16, 3.83599367747e-15, 2.57798035437e-15, 2.72503514671e-15, -1.11551257282e-15, 3.79956633175e-15, 6.58165718252e-17, 1.94068261795e-15, -7.2971861241e-16, 1.53938428317e-15, -1.61852535736e-15, 1.87027481149e-15, -8.75257341819e-16, 1.05001481037e-15, -1.58460373069e-15, 1.44282331787e-15, -7.88127363583e-17, 2.17999174599e-15, 1.24831743062e-15, 2.93495848303e-15, -5.98969996062e-16, 2.6507319804e-15, 4.57756990983e-16, 3.16240869392e-15, 5.04529873205e-16, 1.96896872755e-14, 1.48256414363e-16, 1.76415150978e-15, -1.16075694013e-16, 3.26728884325e-15, -1.31887586034e-15, 1.43015338233e-16, 6.20025641148e-16, 3.52423571023e-15, -3.78777065646e-16, -6.40918411023e-16, -1.71454239283e-15, 4.29410127026e-15, 5.82491925549e-16, 2.41815943113e-16, 1.06847904754e-15, 9.82445238275e-15, -3.08636449864e-16, 2.1981949625e-15, -7.98080310683e-17, 1.57967036623e-15, -5.9142466091e-16, 1.29893812167e-16, 1.04393914747e-15, -2.97749689255e-15, -8.60515224882e-16, 2.05084022671e-15, 1.55232536105e-16, 6.43333838214e-15, 1.76930977808e-15, 1.71998355771e-15, -3.27866146078e-16, 1.75327100343e-13, -1.49619899803e-15, 2.17327516568e-15, 6.27230612655e-16, 2.28496416758e-15, 4.31061372935e-16, 1.51498556345e-15, -2.41379657496e-16, 8.54922474292e-15, -2.53561776174e-15, -1.96447154088e-15, 2.46918155941e-15, -2.67247754713e-15, 1.20896925943e-15, -1.67710097423e-15, -5.03563949166e-15, 1.23463603282e-14, 3.88281935351e-15, -1.1424375941e-15, 4.99640215333e-16, -1.04677547743e-14, 4.55567315921e-16, 1.42661144347e-16, -1.80034340757e-14, 9.1368787862e-15, 3.74104800735e-14, 4.00380603665e-15, -1.8706945529e-14, -2.20818470989e-16, 1.01999118023e-15, -4.01042068495e-15, 4.66953597322e-15, 9.44164533434e-15, -6.87306490459e-15, 1.08736024308e-15, 9.31705575511e-16, 2.32883817834e-15, -8.06961215069e-16, -1.47089236451e-15, 1.77077881743e-15, 3.90918337789e-15, 1.57990274188e-15, 1.74207324944e-15, -3.30443144419e-15, 2.73324021617e-15, 2.11076281525e-16, 7.73929782593e-16, 5.40861669409e-16, 1.73884379909e-14, -2.73405127195e-15, 2.85004867239e-16, 1.23083033936e-15, -1.56874307021e-15, -1.6356257922e-16, 8.07722696748e-16, 1.53282664689e-16, 5.364085064e-15, 3.11824908548e-17, 1.41089768053e-15, -6.38938501779e-16, 2.05736294853e-15, 1.91885771844e-15, -2.57743472288e-16, -2.99081365518e-16, 3.49949100306e-14, -6.26180595204e-16, 1.27989187959e-15, 1.8653083502e-15, -6.88959173984e-16, -5.94001284124e-16, 1.95206111324e-15, 8.35526733382e-16, -7.17586251191e-16, 7.94471446201e-16, -3.75954311181e-15, -9.64968503347e-16, 6.78789892289e-15, 9.03780977626e-16, -4.48394529542e-16, -1.01347542423e-15, 3.24769590978e-15, 1.03434867957e-15, 5.93750240162e-17, 3.41941256699e-16, -2.44970720548e-15, -5.91886740811e-16, 2.31733889993e-15, 1.53956173749e-15, -5.09325879895e-15, -8.46364173071e-17, -1.31049784366e-15, 2.72307441143e-16, -8.35462049356e-15, 2.0789546282e-15, -2.97490424655e-16, -2.43920969935e-15, 2.0780366678e-14, 1.43010813713e-15, 1.08680349384e-15, -4.99993130819e-17, 1.3680270116e-14, -1.40145030122e-15, 3.28706638594e-15, -9.09427414205e-16, 5.30016397989e-15, -3.33019544847e-15, -3.15270030444e-16, 8.33013116985e-16, 3.2837614527e-15, -8.60412920251e-16, 3.52974170665e-15, -3.46724512498e-15, 8.25136006591e-15, 7.38228425443e-15, 7.78682260469e-16, -1.22884453464e-15, 7.61251483515e-16, -2.67927805373e-15, -3.4724735923e-15, -2.91227515194e-15, 2.25458342396e-15, 8.63807144024e-15, 3.94723677236e-15, -4.69103089485e-15, 1.79576307685e-15, 9.76657567195e-16, 1.29424672859e-15, -7.8591867691e-16, 8.82586683227e-14, -5.61630023192e-16, 1.33879732711e-15, 3.04735560047e-16, 2.96410916004e-15, -6.32746643693e-16, 2.13171849548e-15, 1.79549912284e-16, -1.37624603807e-17, 7.26603588845e-16, 5.34517424813e-15, -1.53186598697e-15, 1.12739162102e-15, 1.57021092237e-15, -3.47030469894e-15, -1.18897281333e-15, 2.40747130957e-14, -1.05267373886e-15, -1.28194598679e-16, 2.08151664043e-15, 3.37542627501e-15, -5.683054308e-16, 3.08330910932e-15, -7.16428068166e-16, 5.79006317403e-15, 5.14656906134e-16, -1.93911940545e-15, -5.97663274908e-16, 3.63481646884e-15, 7.28614918687e-16, 3.14792560133e-15, -6.60308405852e-16, 1.66100069802e-14, -5.06121189428e-16, 1.91495894075e-15, 4.45548779047e-16, 3.50951956396e-15, -1.05944300987e-15, 2.7856512572e-15, 6.01975675551e-16, 5.17446671808e-15, 3.31070910974e-16, 1.20601098318e-16, -7.4426931679e-18, 3.47449350828e-15, 1.59667472032e-15, -1.08415641271e-15, 4.81781264109e-16, 1.94990794908e-14, -6.73463851011e-16, 2.22808131986e-15, 4.35441399322e-16, 2.63459727026e-15, -8.80130817626e-16, 3.39520236172e-15, 2.92930541465e-17, 2.0183756753e-15, -6.24042921308e-16, 2.83589172759e-15, -3.11700531387e-16, 6.00367777332e-17, 8.10893172234e-16, 1.83522365021e-15, 7.06860747402e-16, 5.8949581831e-14, -1.04753731431e-15, 1.64787634483e-16, 3.35728878682e-16, -1.88475924946e-15, 6.33964389112e-16, 9.31502974883e-16, -3.26657487871e-16, 8.30401977958e-15, -4.07592395138e-15, -5.45651366298e-15, 2.90213508097e-15, 1.86236227006e-16, -8.3007961954e-16, 5.54053228612e-15, -9.52706427437e-15, 1.37906889101e-14, 2.41761718074e-14, 2.82538102906e-15, -1.06762551442e-14, 2.75798217925e-15, -2.88001099304e-15, -2.28664254033e-15, 2.11912893337e-15, 3.5762590347e-15, 3.59009480548e-15, 4.28953465839e-15, -4.66990708882e-15, 1.66935096227e-15, 1.57105507873e-15, -3.6015676964e-16, 1.43426043374e-15, 1.54443678718e-14, -4.88239152496e-15, 2.15112376664e-17, 1.30008265697e-15, 2.98259119492e-15, -5.57512769384e-16, -3.90128205711e-15, 3.74488886447e-18, 4.67403343815e-15, 2.93834111152e-16, 2.97009596838e-15, -1.0606029569e-15, 3.59389654082e-15, 2.74299797442e-15, -2.72719448966e-15, 1.33912843396e-15, 1.55794281528e-14, -2.0568874456e-15, 9.25544153536e-16, 2.8772277208e-15, 1.60162392082e-15, 7.15690976427e-16, 3.97451358465e-16, -4.34861403234e-16, 6.54731976893e-15, -5.50309884485e-16, 3.21363537806e-16, -5.83283100715e-18, 7.97606207447e-15, 1.35539048596e-15, 5.49479200048e-17, -1.35902499261e-15, 2.81908510707e-13, 0.0, 2.30384872588e-16, 1.35902499261e-15, 7.15606768812e-15, -1.35539048596e-15, -3.32934781371e-16, 5.83283100715e-18, 6.82396271486e-15, 5.50309884485e-16, 2.28191148578e-15, 4.34861403234e-16, -2.60841819373e-15, -7.15690976427e-16, 1.65356121823e-15, -2.8772277208e-15, 1.78974754514e-14, 2.0568874456e-15, 3.26502957885e-15, -1.33912843396e-15, -7.18705074102e-16, -2.74299797442e-15, -1.43829432517e-15, 1.0606029569e-15, 6.14487166166e-16, -2.93834111152e-16, 1.82087292996e-15, -3.7448888645e-18, 2.83217041153e-15, 5.57512769384e-16, 5.84411288227e-15, -1.30008265697e-15, 1.91578000059e-14, 4.88239152496e-15, 2.15112376664e-17, -1.43426043374e-15, 3.65576990312e-15, -1.57105507873e-15, 8.14864619644e-16, 4.66990708882e-15, -7.51238578891e-16, -3.59009480548e-15, -5.5463129009e-16, -2.11912893337e-15, 3.30124938173e-15, 2.88001099304e-15, -4.05336817949e-15, 1.06762551442e-14, 1.19937957534e-14, -2.41761718074e-14, 2.77219011992e-16, 9.52706427437e-15, 2.6201569591e-15, 8.3007961954e-16, 7.39881718642e-15, -2.90213508097e-15, 5.26181244446e-15, 4.07592395138e-15, -3.91241475767e-15, 3.26657487871e-16, 3.77537176656e-16, -6.33964389112e-16, 3.75835979084e-15, -3.35728878682e-16, 6.3416619461e-14, 1.04753731431e-15, 1.64787634483e-16, -7.06860747402e-16, 4.02790012768e-15, -8.10893172234e-16, 2.68479927427e-15, 3.11700531387e-16, 3.34204015564e-15, 6.24042921308e-16, 1.55992276644e-15, -2.92930541465e-17, 3.2529261471e-15, 8.80130817626e-16, -1.30593528745e-15, -4.35441399322e-16, 5.61643337054e-15, 6.73463851011e-16, -4.66938752557e-16, -4.81781264109e-16, 4.428652364e-15, -1.59667472032e-15, 7.95230774979e-16, 7.4426931679e-18, 1.22715914665e-15, -3.31070910974e-16, 1.15986701527e-15, -6.01975675551e-16, 1.95237376217e-15, 1.05944300987e-15, 2.92636799221e-16, -4.45548779047e-16, 2.11510661465e-14, 5.06121189428e-16, 1.91495894075e-15, 6.60308405852e-16, 1.24243697491e-15, -7.28614918687e-16, -2.50585927707e-15, 5.97663274908e-16, 6.97384463069e-16, -5.14656906134e-16, 6.13828595537e-16, 7.16428068166e-16, 2.89649113404e-15, 5.683054308e-16, 2.62058961239e-15, -2.08151664043e-15, 2.68798005623e-14, 1.05267373886e-15, 2.21171437386e-15, 1.18897281333e-15, 2.21205744799e-15, -1.57021092237e-15, 9.39373151287e-16, 1.53186598697e-15, 2.37866323832e-16, -7.26603588845e-16, 3.27389998158e-16, -1.79549912284e-16, 3.29480019222e-15, 6.32746643693e-16, -1.01868335642e-15, -3.04735560047e-16, 6.15654149049e-14, 5.61630023192e-16, 1.33879732711e-15, 7.8591867691e-16, 5.26537079255e-15, -9.76657567195e-16, 2.91705036903e-15, 4.69103089485e-15, 1.31151687544e-15, -8.63807144024e-15, 7.86244214477e-16, 2.91227515194e-15, 7.59356035427e-15, 2.67927805373e-15, -1.49384253891e-15, 1.22884453464e-15, 7.73267875967e-15, -7.38228425443e-15, 1.8988338842e-15, 3.46724512498e-15, -1.4020687178e-15, 8.60412920251e-16, -4.87670330244e-16, -8.33013116985e-16, 7.19262436095e-15, 3.33019544847e-15, 4.01627770763e-15, 9.09427414205e-16, 9.72413130659e-15, 1.40145030122e-15, 1.57738825679e-15, 4.99993130819e-17, 1.77297211517e-14, -1.43010813713e-15, 1.08680349384e-15, 2.43920969935e-15, -6.08708242797e-15, -2.0789546282e-15, -4.91157384466e-17, -2.72307441143e-16, 1.02039121842e-15, 8.46364173071e-17, 7.85620489305e-16, -1.53956173749e-15, -2.12716529091e-15, 5.91886740811e-16, 4.91875266305e-15, -3.41941256699e-16, 6.71726243149e-15, -1.03434867957e-15, 1.45809598464e-15, 1.01347542423e-15, 6.43812545996e-15, -9.03780977626e-16, -2.54449499174e-15, 9.64968503347e-16, -4.24045442967e-15, -7.94471446201e-16, 1.0789220926e-15, -8.35526733382e-16, -8.97592237344e-15, 5.94001284124e-16, 1.40934196371e-15, -1.8653083502e-15, 3.21779874463e-14, 6.26180595204e-16, 1.27989187959e-15, 2.99081365518e-16, 4.18991609102e-15, -1.91885771844e-15, 1.457314646e-15, 6.38938501779e-16, 3.30429387224e-15, -3.11824908548e-17, 1.35410602249e-15, -1.53282664689e-16, -7.19080720576e-16, 1.6356257922e-16, 1.45268634384e-16, -1.23083033936e-15, 6.26870255769e-15, 2.73405127195e-15, -9.15700928308e-16, -5.40861669409e-16, 4.99849276968e-15, -2.11076281525e-16, 1.84032641067e-15, 3.30443144419e-15, 5.06816268077e-15, -1.57990274188e-15, -1.89905199305e-15, -1.77077881743e-15, 3.71527664165e-15, 8.06961215069e-16, 4.7410458348e-15, -9.3170557551e-16, -4.50565123995e-15, 6.87306490459e-15, 1.08736024308e-15, -4.66953597322e-15, 4.35029778249e-15, -1.01999118023e-15, 4.89314709131e-15, 1.8706945529e-14, -6.16308667791e-15, -3.74104800735e-14, -5.76141369393e-15, 1.80034340757e-14, 2.47118694407e-15, -4.55567315921e-16, 6.37223544748e-15, -4.99640215333e-16, -1.20077714778e-15, -3.88281935351e-15, -7.16408559454e-16, 5.03563949166e-15, 2.89206114375e-15, -1.20896925943e-15, 4.80808147015e-15, -2.46918155941e-15, 3.55147911791e-15, 2.53561776174e-15, 4.67228908488e-16, 2.41379657496e-16, -6.51848873468e-16, -4.31061372935e-16, -1.18281780027e-15, -6.27230612655e-16, 1.75327100343e-13, 1.49619899803e-15, 2.17327516568e-15, 3.27866146078e-16, 2.06291956265e-15, -1.76930977808e-15, -1.51954841335e-15, -1.55232536105e-16, 1.85634316912e-15, 8.60515224882e-16, -4.79735756367e-16, -1.04393914747e-15, 3.34834238626e-15, 5.9142466091e-16, -4.53559929379e-16, 7.98080310683e-17, 8.79364664944e-15, 3.08636449864e-16, -3.29749467993e-16, -1.06847904754e-15, 3.0522885131e-15, -5.82491925549e-16, 8.2113910652e-16, 1.71454239283e-15, 1.68749234869e-15, 3.78777065646e-16, -2.04120004293e-15, -6.20025641148e-16, 2.14938315916e-15, 1.31887586034e-15, 1.36203846026e-16, 1.16075694013e-16, 1.29034184016e-14, -1.48256414363e-16, 1.76415150978e-15, -5.04529873205e-16, 2.6396666765e-17, -4.57756990983e-16, 2.2689832801e-15, 5.98969996062e-16, 8.30174523195e-16, -1.24831743062e-15, 2.83079749708e-15, 7.88127363583e-17, -1.91114405181e-16, 1.58460373069e-15, 2.48579725793e-16, 8.75257341819e-16, 1.49867157085e-14, 1.61852535736e-15, -2.35310396817e-17, 7.2971861241e-16, 1.84460278871e-16, -6.58165718252e-17, -1.00676834563e-15, 1.11551257282e-15, 5.40627912031e-15, -2.57798035437e-15, -1.81676189856e-15, 4.87706719594e-16, -8.97467477404e-16, 1.52779539895e-16, 5.08435804738e-15, -1.58007273902e-15, 5.27584784246e-14, 1.0582799372e-15, 1.55630501158e-16, 1.50147548979e-15, -1.80724647827e-15, -2.9308161452e-15, -2.64987903975e-16, -6.20798781571e-15, -6.37192886982e-15, 1.36578151305e-14, 4.11449856153e-15, -7.62203077378e-15, -6.65115982007e-15, 2.75187425977e-17, -1.6839065087e-15, 1.44413919146e-15, 1.63571423575e-15, -2.44889260229e-15, 2.62244182149e-15, 8.08889827204e-16, 5.09607550247e-15, 2.99741558825e-16, 1.48427418572e-15, 4.63247220387e-16, 1.37354149963e-14, 9.11413353252e-16, -7.83770724268e-17, -6.77303719623e-16, 1.12313319789e-14, 1.07218380206e-15, 1.8393415929e-15, -4.6143140642e-16, 3.05305988781e-14, -1.50466816212e-15, 1.84871764945e-15, 2.07538381817e-15, 6.87804381697e-15, 3.16341778083e-16, 3.63391108165e-16, 4.52996069251e-16, 5.29858240133e-15, -9.09195860278e-17, 4.14766347666e-15, -1.15875883238e-15, 3.82181230853e-15, 3.51163600879e-16, -9.82802227161e-16, -2.09172631408e-16, 1.02740527923e-14, -1.36575582806e-15, -3.72565535798e-16, -5.70155242519e-17, 1.96149018218e-15, -1.1310458676e-15, 2.29347123987e-15, 6.127982626e-16, 4.07732164444e-15, -8.38081251592e-16, 2.04440430943e-15, -1.46855202014e-16, 8.27680517458e-15, 1.75788615762e-15, 2.44534317827e-15, -3.5172838985e-16, 5.92813033713e-14, 1.31418601149e-16, 2.25141356872e-15, 8.08802501863e-16, 3.96504310245e-15, -7.239150452e-16, -1.5570024126e-15, 6.8309871823e-16, 5.02630634649e-15, -1.82031123201e-15, 5.54336545356e-15, -5.99905973439e-16, 4.72572983089e-15, 6.87341536638e-16, 4.60419615043e-15, -2.0674938355e-15, 9.94388096759e-15, 2.62650078075e-15, 8.2620876871e-16, -6.21762895013e-16, 3.48264103018e-15, -8.71432135114e-16, -3.52048620971e-15, 2.58665031383e-15, 2.40544909649e-15, -3.87071888059e-15, -2.06322263271e-15, -5.43887418291e-16, 2.85971092565e-15, 4.46023168045e-15, -1.19012926654e-15, -9.12521170012e-15, 1.81942124296e-14, 1.4274727085e-14, -6.51401619087e-16, -7.24055578052e-15, -3.54335205748e-15, 2.37907983094e-15, 5.39475479005e-16, -3.26666197019e-15, 9.14040512567e-15, 4.4850648388e-15, 4.49291860245e-15, -2.98104266618e-15, 5.48993257022e-15, -7.20381737789e-16, -2.18820258483e-15, 1.29036326958e-15, 2.00161219181e-14, -2.30258216555e-15, 1.66156178826e-15, 9.65961864596e-16, -1.09395513157e-15, -1.94514500159e-15, -2.90903521817e-15, -1.20842656842e-15, 2.68715045171e-15, 6.49624898559e-16, -1.45562041651e-15, -5.61489696854e-16, -5.52605006013e-16, 1.19948718688e-15, 2.23410230192e-15, -1.4339129634e-16, 2.88038066242e-14, 4.38802570717e-16, 7.50641619326e-16, 5.57200987754e-16, 3.5593014361e-15, -9.5116703599e-17, 2.67414836986e-15, 1.24304317762e-15, 7.33674732368e-15, 5.292814139e-16, -1.17174344976e-15, 2.46964522561e-16, 6.11851770024e-15, 1.34168769079e-15, 2.10778164938e-15, -1.07736225398e-15, 4.69402664978e-15, 9.33375515213e-16, -1.38001608576e-15, -5.85407041713e-16, 1.59325420701e-15, -7.01809248253e-16, -2.45204764222e-15, 1.73762849479e-15, 1.36478639217e-15, -6.91272417172e-16, 3.49655719087e-15, 9.69817982155e-17, 3.37141467259e-15, 2.79440119233e-15, -1.81105091978e-15, -9.6334874024e-16, 1.76484546791e-14, 6.02005880314e-16, 1.40456009736e-15, 1.89599352224e-16, 4.7762565697e-15, -1.5063710346e-15, 7.10647037785e-16, -8.87513413854e-17, 2.90865656137e-15, -1.15285950656e-15, 1.07726168453e-15, 3.54940262707e-16, 4.10136317079e-15, 2.56251438336e-16, -5.29623538998e-16, -8.87809217826e-16, 1.8166176996e-14, 2.28073078977e-15, -1.56838637789e-15, 1.20173507003e-16, -4.92020930739e-15, -1.14467078969e-15, -5.16312506711e-16, 1.68032250205e-15, 6.57367591077e-16, -5.46113498614e-15, 4.21206462423e-15, 2.08879510066e-16, 2.03269633698e-15, 1.45479157899e-15, -1.65721007671e-15, -1.15172383906e-15, -2.29025619274e-12 };
-float tf_real[ 1024 ] = { 1.0, 0.999981175283, 0.999924701839, 0.999830581796, 0.999698818696, 0.999529417501, 0.999322384588, 0.999077727753, 0.998795456205, 0.998475580573, 0.9981181129, 0.997723066644, 0.997290456679, 0.996820299291, 0.996312612183, 0.995767414468, 0.995184726672, 0.994564570734, 0.993906970002, 0.993211949235, 0.992479534599, 0.991709753669, 0.990902635428, 0.990058210262, 0.989176509965, 0.988257567731, 0.987301418158, 0.986308097245, 0.985277642389, 0.984210092387, 0.983105487431, 0.98196386911, 0.980785280403, 0.979569765685, 0.97831737072, 0.977028142658, 0.975702130039, 0.974339382786, 0.972939952206, 0.971503890986, 0.970031253195, 0.968522094274, 0.966976471045, 0.965394441698, 0.963776065795, 0.962121404269, 0.960430519416, 0.958703474896, 0.956940335732, 0.955141168306, 0.953306040354, 0.951435020969, 0.949528180593, 0.947585591018, 0.945607325381, 0.943593458162, 0.941544065183, 0.939459223602, 0.937339011913, 0.935183509939, 0.932992798835, 0.930766961079, 0.928506080473, 0.926210242138, 0.923879532511, 0.921514039342, 0.91911385169, 0.916679059921, 0.914209755704, 0.911706032005, 0.909167983091, 0.906595704515, 0.903989293123, 0.901348847046, 0.898674465694, 0.895966249756, 0.893224301196, 0.890448723245, 0.887639620403, 0.884797098431, 0.881921264348, 0.879012226429, 0.876070094195, 0.873094978418, 0.870086991109, 0.867046245516, 0.863972856122, 0.860866938638, 0.85772861, 0.854557988365, 0.851355193105, 0.848120344803, 0.84485356525, 0.841554977437, 0.838224705555, 0.834862874986, 0.831469612303, 0.828045045258, 0.824589302785, 0.821102514991, 0.817584813152, 0.814036329706, 0.810457198253, 0.806847553544, 0.803207531481, 0.799537269108, 0.795836904609, 0.7921065773, 0.788346427627, 0.784556597156, 0.780737228572, 0.776888465673, 0.773010453363, 0.769103337646, 0.765167265622, 0.761202385484, 0.757208846506, 0.753186799044, 0.749136394523, 0.745057785441, 0.740951125355, 0.736816568877, 0.732654271672, 0.728464390448, 0.724247082951, 0.720002507961, 0.715730825284, 0.711432195745, 0.707106781187, 0.702754744457, 0.698376249409, 0.69397146089, 0.689540544737, 0.685083667773, 0.680600997795, 0.676092703575, 0.671558954847, 0.666999922304, 0.66241577759, 0.657806693297, 0.653172842954, 0.648514401022, 0.64383154289, 0.639124444864, 0.634393284164, 0.629638238915, 0.624859488142, 0.620057211763, 0.615231590581, 0.610382806276, 0.605511041404, 0.600616479384, 0.595699304492, 0.590759701859, 0.585797857456, 0.580813958096, 0.575808191418, 0.570780745887, 0.565731810784, 0.560661576197, 0.55557023302, 0.550457972937, 0.545324988422, 0.54017147273, 0.534997619887, 0.529803624686, 0.524589682678, 0.519355990166, 0.514102744193, 0.508830142543, 0.503538383726, 0.498227666973, 0.49289819223, 0.487550160148, 0.482183772079, 0.476799230063, 0.471396736826, 0.465976495768, 0.460538710958, 0.455083587126, 0.449611329655, 0.44412214457, 0.438616238539, 0.433093818853, 0.42755509343, 0.4220002708, 0.416429560098, 0.410843171058, 0.405241314005, 0.399624199846, 0.393992040061, 0.388345046699, 0.382683432365, 0.377007410216, 0.371317193952, 0.365612997805, 0.359895036535, 0.35416352542, 0.348418680249, 0.342660717312, 0.336889853392, 0.33110630576, 0.325310292162, 0.319502030816, 0.313681740399, 0.307849640042, 0.302005949319, 0.296150888244, 0.290284677254, 0.284407537211, 0.278519689385, 0.27262135545, 0.266712757475, 0.260794117915, 0.254865659605, 0.248927605746, 0.242980179903, 0.237023605994, 0.231058108281, 0.22508391136, 0.219101240157, 0.213110319916, 0.207111376192, 0.201104634842, 0.195090322016, 0.18906866415, 0.183039887955, 0.177004220412, 0.17096188876, 0.16491312049, 0.158858143334, 0.152797185258, 0.146730474455, 0.140658239333, 0.134580708507, 0.128498110794, 0.122410675199, 0.116318630912, 0.110222207294, 0.104121633872, 0.0980171403296, 0.0919089564971, 0.0857973123444, 0.0796824379714, 0.0735645635997, 0.0674439195637, 0.0613207363022, 0.0551952443497, 0.0490676743274, 0.0429382569349, 0.0368072229414, 0.0306748031766, 0.0245412285229, 0.0184067299058, 0.0122715382857, 0.00613588464915, 6.12323399574e-17, -0.00613588464915, -0.0122715382857, -0.0184067299058, -0.0245412285229, -0.0306748031766, -0.0368072229414, -0.0429382569349, -0.0490676743274, -0.0551952443497, -0.0613207363022, -0.0674439195637, -0.0735645635997, -0.0796824379714, -0.0857973123444, -0.0919089564971, -0.0980171403296, -0.104121633872, -0.110222207294, -0.116318630912, -0.122410675199, -0.128498110794, -0.134580708507, -0.140658239333, -0.146730474455, -0.152797185258, -0.158858143334, -0.16491312049, -0.17096188876, -0.177004220412, -0.183039887955, -0.18906866415, -0.195090322016, -0.201104634842, -0.207111376192, -0.213110319916, -0.219101240157, -0.22508391136, -0.231058108281, -0.237023605994, -0.242980179903, -0.248927605746, -0.254865659605, -0.260794117915, -0.266712757475, -0.27262135545, -0.278519689385, -0.284407537211, -0.290284677254, -0.296150888244, -0.302005949319, -0.307849640042, -0.313681740399, -0.319502030816, -0.325310292162, -0.33110630576, -0.336889853392, -0.342660717312, -0.348418680249, -0.35416352542, -0.359895036535, -0.365612997805, -0.371317193952, -0.377007410216, -0.382683432365, -0.388345046699, -0.393992040061, -0.399624199846, -0.405241314005, -0.410843171058, -0.416429560098, -0.4220002708, -0.42755509343, -0.433093818853, -0.438616238539, -0.44412214457, -0.449611329655, -0.455083587126, -0.460538710958, -0.465976495768, -0.471396736826, -0.476799230063, -0.482183772079, -0.487550160148, -0.49289819223, -0.498227666973, -0.503538383726, -0.508830142543, -0.514102744193, -0.519355990166, -0.524589682678, -0.529803624686, -0.534997619887, -0.54017147273, -0.545324988422, -0.550457972937, -0.55557023302, -0.560661576197, -0.565731810784, -0.570780745887, -0.575808191418, -0.580813958096, -0.585797857456, -0.590759701859, -0.595699304492, -0.600616479384, -0.605511041404, -0.610382806276, -0.615231590581, -0.620057211763, -0.624859488142, -0.629638238915, -0.634393284164, -0.639124444864, -0.64383154289, -0.648514401022, -0.653172842954, -0.657806693297, -0.66241577759, -0.666999922304, -0.671558954847, -0.676092703575, -0.680600997795, -0.685083667773, -0.689540544737, -0.69397146089, -0.698376249409, -0.702754744457, -0.707106781187, -0.711432195745, -0.715730825284, -0.720002507961, -0.724247082951, -0.728464390448, -0.732654271672, -0.736816568877, -0.740951125355, -0.745057785441, -0.749136394523, -0.753186799044, -0.757208846506, -0.761202385484, -0.765167265622, -0.769103337646, -0.773010453363, -0.776888465673, -0.780737228572, -0.784556597156, -0.788346427627, -0.7921065773, -0.795836904609, -0.799537269108, -0.803207531481, -0.806847553544, -0.810457198253, -0.814036329706, -0.817584813152, -0.821102514991, -0.824589302785, -0.828045045258, -0.831469612303, -0.834862874986, -0.838224705555, -0.841554977437, -0.84485356525, -0.848120344803, -0.851355193105, -0.854557988365, -0.85772861, -0.860866938638, -0.863972856122, -0.867046245516, -0.870086991109, -0.873094978418, -0.876070094195, -0.879012226429, -0.881921264348, -0.884797098431, -0.887639620403, -0.890448723245, -0.893224301196, -0.895966249756, -0.898674465694, -0.901348847046, -0.903989293123, -0.906595704515, -0.909167983091, -0.911706032005, -0.914209755704, -0.916679059921, -0.91911385169, -0.921514039342, -0.923879532511, -0.926210242138, -0.928506080473, -0.930766961079, -0.932992798835, -0.935183509939, -0.937339011913, -0.939459223602, -0.941544065183, -0.943593458162, -0.945607325381, -0.947585591018, -0.949528180593, -0.951435020969, -0.953306040354, -0.955141168306, -0.956940335732, -0.958703474896, -0.960430519416, -0.962121404269, -0.963776065795, -0.965394441698, -0.966976471045, -0.968522094274, -0.970031253195, -0.971503890986, -0.972939952206, -0.974339382786, -0.975702130039, -0.977028142658, -0.97831737072, -0.979569765685, -0.980785280403, -0.98196386911, -0.983105487431, -0.984210092387, -0.985277642389, -0.986308097245, -0.987301418158, -0.988257567731, -0.989176509965, -0.990058210262, -0.990902635428, -0.991709753669, -0.992479534599, -0.993211949235, -0.993906970002, -0.994564570734, -0.995184726672, -0.995767414468, -0.996312612183, -0.996820299291, -0.997290456679, -0.997723066644, -0.9981181129, -0.998475580573, -0.998795456205, -0.999077727753, -0.999322384588, -0.999529417501, -0.999698818696, -0.999830581796, -0.999924701839, -0.999981175283, -1.0, -0.999981175283, -0.999924701839, -0.999830581796, -0.999698818696, -0.999529417501, -0.999322384588, -0.999077727753, -0.998795456205, -0.998475580573, -0.9981181129, -0.997723066644, -0.997290456679, -0.996820299291, -0.996312612183, -0.995767414468, -0.995184726672, -0.994564570734, -0.993906970002, -0.993211949235, -0.992479534599, -0.991709753669, -0.990902635428, -0.990058210262, -0.989176509965, -0.988257567731, -0.987301418158, -0.986308097245, -0.985277642389, -0.984210092387, -0.983105487431, -0.98196386911, -0.980785280403, -0.979569765685, -0.97831737072, -0.977028142658, -0.975702130039, -0.974339382786, -0.972939952206, -0.971503890986, -0.970031253195, -0.968522094274, -0.966976471045, -0.965394441698, -0.963776065795, -0.962121404269, -0.960430519416, -0.958703474896, -0.956940335732, -0.955141168306, -0.953306040354, -0.951435020969, -0.949528180593, -0.947585591018, -0.945607325381, -0.943593458162, -0.941544065183, -0.939459223602, -0.937339011913, -0.935183509939, -0.932992798835, -0.930766961079, -0.928506080473, -0.926210242138, -0.923879532511, -0.921514039342, -0.91911385169, -0.916679059921, -0.914209755704, -0.911706032005, -0.909167983091, -0.906595704515, -0.903989293123, -0.901348847046, -0.898674465694, -0.895966249756, -0.893224301196, -0.890448723245, -0.887639620403, -0.884797098431, -0.881921264348, -0.879012226429, -0.876070094195, -0.873094978418, -0.870086991109, -0.867046245516, -0.863972856122, -0.860866938638, -0.85772861, -0.854557988365, -0.851355193105, -0.848120344803, -0.84485356525, -0.841554977437, -0.838224705555, -0.834862874986, -0.831469612303, -0.828045045258, -0.824589302785, -0.821102514991, -0.817584813152, -0.814036329706, -0.810457198253, -0.806847553544, -0.803207531481, -0.799537269108, -0.795836904609, -0.7921065773, -0.788346427627, -0.784556597156, -0.780737228572, -0.776888465673, -0.773010453363, -0.769103337646, -0.765167265622, -0.761202385484, -0.757208846506, -0.753186799044, -0.749136394523, -0.745057785441, -0.740951125355, -0.736816568877, -0.732654271672, -0.728464390448, -0.724247082951, -0.720002507961, -0.715730825284, -0.711432195745, -0.707106781187, -0.702754744457, -0.698376249409, -0.69397146089, -0.689540544737, -0.685083667773, -0.680600997795, -0.676092703575, -0.671558954847, -0.666999922304, -0.66241577759, -0.657806693297, -0.653172842954, -0.648514401022, -0.64383154289, -0.639124444864, -0.634393284164, -0.629638238915, -0.624859488142, -0.620057211763, -0.615231590581, -0.610382806276, -0.605511041404, -0.600616479384, -0.595699304492, -0.590759701859, -0.585797857456, -0.580813958096, -0.575808191418, -0.570780745887, -0.565731810784, -0.560661576197, -0.55557023302, -0.550457972937, -0.545324988422, -0.54017147273, -0.534997619887, -0.529803624686, -0.524589682678, -0.519355990166, -0.514102744193, -0.508830142543, -0.503538383726, -0.498227666973, -0.49289819223, -0.487550160148, -0.482183772079, -0.476799230063, -0.471396736826, -0.465976495768, -0.460538710958, -0.455083587126, -0.449611329655, -0.44412214457, -0.438616238539, -0.433093818853, -0.42755509343, -0.4220002708, -0.416429560098, -0.410843171058, -0.405241314005, -0.399624199846, -0.393992040061, -0.388345046699, -0.382683432365, -0.377007410216, -0.371317193952, -0.365612997805, -0.359895036535, -0.35416352542, -0.348418680249, -0.342660717312, -0.336889853392, -0.33110630576, -0.325310292162, -0.319502030816, -0.313681740399, -0.307849640042, -0.302005949319, -0.296150888244, -0.290284677254, -0.284407537211, -0.278519689385, -0.27262135545, -0.266712757475, -0.260794117915, -0.254865659605, -0.248927605746, -0.242980179903, -0.237023605994, -0.231058108281, -0.22508391136, -0.219101240157, -0.213110319916, -0.207111376192, -0.201104634842, -0.195090322016, -0.18906866415, -0.183039887955, -0.177004220412, -0.17096188876, -0.16491312049, -0.158858143334, -0.152797185258, -0.146730474455, -0.140658239333, -0.134580708507, -0.128498110794, -0.122410675199, -0.116318630912, -0.110222207294, -0.104121633872, -0.0980171403296, -0.0919089564971, -0.0857973123444, -0.0796824379714, -0.0735645635997, -0.0674439195637, -0.0613207363022, -0.0551952443497, -0.0490676743274, -0.0429382569349, -0.0368072229414, -0.0306748031766, -0.0245412285229, -0.0184067299058, -0.0122715382857, -0.00613588464915, -1.83697019872e-16, 0.00613588464915, 0.0122715382857, 0.0184067299058, 0.0245412285229, 0.0306748031766, 0.0368072229414, 0.0429382569349, 0.0490676743274, 0.0551952443497, 0.0613207363022, 0.0674439195637, 0.0735645635997, 0.0796824379714, 0.0857973123444, 0.0919089564971, 0.0980171403296, 0.104121633872, 0.110222207294, 0.116318630912, 0.122410675199, 0.128498110794, 0.134580708507, 0.140658239333, 0.146730474455, 0.152797185258, 0.158858143334, 0.16491312049, 0.17096188876, 0.177004220412, 0.183039887955, 0.18906866415, 0.195090322016, 0.201104634842, 0.207111376192, 0.213110319916, 0.219101240157, 0.22508391136, 0.231058108281, 0.237023605994, 0.242980179903, 0.248927605746, 0.254865659605, 0.260794117915, 0.266712757475, 0.27262135545, 0.278519689385, 0.284407537211, 0.290284677254, 0.296150888244, 0.302005949319, 0.307849640042, 0.313681740399, 0.319502030816, 0.325310292162, 0.33110630576, 0.336889853392, 0.342660717312, 0.348418680249, 0.35416352542, 0.359895036535, 0.365612997805, 0.371317193952, 0.377007410216, 0.382683432365, 0.388345046699, 0.393992040061, 0.399624199846, 0.405241314005, 0.410843171058, 0.416429560098, 0.4220002708, 0.42755509343, 0.433093818853, 0.438616238539, 0.44412214457, 0.449611329655, 0.455083587126, 0.460538710958, 0.465976495768, 0.471396736826, 0.476799230063, 0.482183772079, 0.487550160148, 0.49289819223, 0.498227666973, 0.503538383726, 0.508830142543, 0.514102744193, 0.519355990166, 0.524589682678, 0.529803624686, 0.534997619887, 0.54017147273, 0.545324988422, 0.550457972937, 0.55557023302, 0.560661576197, 0.565731810784, 0.570780745887, 0.575808191418, 0.580813958096, 0.585797857456, 0.590759701859, 0.595699304492, 0.600616479384, 0.605511041404, 0.610382806276, 0.615231590581, 0.620057211763, 0.624859488142, 0.629638238915, 0.634393284164, 0.639124444864, 0.64383154289, 0.648514401022, 0.653172842954, 0.657806693297, 0.66241577759, 0.666999922304, 0.671558954847, 0.676092703575, 0.680600997795, 0.685083667773, 0.689540544737, 0.69397146089, 0.698376249409, 0.702754744457, 0.707106781187, 0.711432195745, 0.715730825284, 0.720002507961, 0.724247082951, 0.728464390448, 0.732654271672, 0.736816568877, 0.740951125355, 0.745057785441, 0.749136394523, 0.753186799044, 0.757208846506, 0.761202385484, 0.765167265622, 0.769103337646, 0.773010453363, 0.776888465673, 0.780737228572, 0.784556597156, 0.788346427627, 0.7921065773, 0.795836904609, 0.799537269108, 0.803207531481, 0.806847553544, 0.810457198253, 0.814036329706, 0.817584813152, 0.821102514991, 0.824589302785, 0.828045045258, 0.831469612303, 0.834862874986, 0.838224705555, 0.841554977437, 0.84485356525, 0.848120344803, 0.851355193105, 0.854557988365, 0.85772861, 0.860866938638, 0.863972856122, 0.867046245516, 0.870086991109, 0.873094978418, 0.876070094195, 0.879012226429, 0.881921264348, 0.884797098431, 0.887639620403, 0.890448723245, 0.893224301196, 0.895966249756, 0.898674465694, 0.901348847046, 0.903989293123, 0.906595704515, 0.909167983091, 0.911706032005, 0.914209755704, 0.916679059921, 0.91911385169, 0.921514039342, 0.923879532511, 0.926210242138, 0.928506080473, 0.930766961079, 0.932992798835, 0.935183509939, 0.937339011913, 0.939459223602, 0.941544065183, 0.943593458162, 0.945607325381, 0.947585591018, 0.949528180593, 0.951435020969, 0.953306040354, 0.955141168306, 0.956940335732, 0.958703474896, 0.960430519416, 0.962121404269, 0.963776065795, 0.965394441698, 0.966976471045, 0.968522094274, 0.970031253195, 0.971503890986, 0.972939952206, 0.974339382786, 0.975702130039, 0.977028142658, 0.97831737072, 0.979569765685, 0.980785280403, 0.98196386911, 0.983105487431, 0.984210092387, 0.985277642389, 0.986308097245, 0.987301418158, 0.988257567731, 0.989176509965, 0.990058210262, 0.990902635428, 0.991709753669, 0.992479534599, 0.993211949235, 0.993906970002, 0.994564570734, 0.995184726672, 0.995767414468, 0.996312612183, 0.996820299291, 0.997290456679, 0.997723066644, 0.9981181129, 0.998475580573, 0.998795456205, 0.999077727753, 0.999322384588, 0.999529417501, 0.999698818696, 0.999830581796, 0.999924701839, 0.999981175283 };
-float tf_imag[ 1024 ] = { -0.0, -0.00613588464915, -0.0122715382857, -0.0184067299058, -0.0245412285229, -0.0306748031766, -0.0368072229414, -0.0429382569349, -0.0490676743274, -0.0551952443497, -0.0613207363022, -0.0674439195637, -0.0735645635997, -0.0796824379714, -0.0857973123444, -0.0919089564971, -0.0980171403296, -0.104121633872, -0.110222207294, -0.116318630912, -0.122410675199, -0.128498110794, -0.134580708507, -0.140658239333, -0.146730474455, -0.152797185258, -0.158858143334, -0.16491312049, -0.17096188876, -0.177004220412, -0.183039887955, -0.18906866415, -0.195090322016, -0.201104634842, -0.207111376192, -0.213110319916, -0.219101240157, -0.22508391136, -0.231058108281, -0.237023605994, -0.242980179903, -0.248927605746, -0.254865659605, -0.260794117915, -0.266712757475, -0.27262135545, -0.278519689385, -0.284407537211, -0.290284677254, -0.296150888244, -0.302005949319, -0.307849640042, -0.313681740399, -0.319502030816, -0.325310292162, -0.33110630576, -0.336889853392, -0.342660717312, -0.348418680249, -0.35416352542, -0.359895036535, -0.365612997805, -0.371317193952, -0.377007410216, -0.382683432365, -0.388345046699, -0.393992040061, -0.399624199846, -0.405241314005, -0.410843171058, -0.416429560098, -0.4220002708, -0.42755509343, -0.433093818853, -0.438616238539, -0.44412214457, -0.449611329655, -0.455083587126, -0.460538710958, -0.465976495768, -0.471396736826, -0.476799230063, -0.482183772079, -0.487550160148, -0.49289819223, -0.498227666973, -0.503538383726, -0.508830142543, -0.514102744193, -0.519355990166, -0.524589682678, -0.529803624686, -0.534997619887, -0.54017147273, -0.545324988422, -0.550457972937, -0.55557023302, -0.560661576197, -0.565731810784, -0.570780745887, -0.575808191418, -0.580813958096, -0.585797857456, -0.590759701859, -0.595699304492, -0.600616479384, -0.605511041404, -0.610382806276, -0.615231590581, -0.620057211763, -0.624859488142, -0.629638238915, -0.634393284164, -0.639124444864, -0.64383154289, -0.648514401022, -0.653172842954, -0.657806693297, -0.66241577759, -0.666999922304, -0.671558954847, -0.676092703575, -0.680600997795, -0.685083667773, -0.689540544737, -0.69397146089, -0.698376249409, -0.702754744457, -0.707106781187, -0.711432195745, -0.715730825284, -0.720002507961, -0.724247082951, -0.728464390448, -0.732654271672, -0.736816568877, -0.740951125355, -0.745057785441, -0.749136394523, -0.753186799044, -0.757208846506, -0.761202385484, -0.765167265622, -0.769103337646, -0.773010453363, -0.776888465673, -0.780737228572, -0.784556597156, -0.788346427627, -0.7921065773, -0.795836904609, -0.799537269108, -0.803207531481, -0.806847553544, -0.810457198253, -0.814036329706, -0.817584813152, -0.821102514991, -0.824589302785, -0.828045045258, -0.831469612303, -0.834862874986, -0.838224705555, -0.841554977437, -0.84485356525, -0.848120344803, -0.851355193105, -0.854557988365, -0.85772861, -0.860866938638, -0.863972856122, -0.867046245516, -0.870086991109, -0.873094978418, -0.876070094195, -0.879012226429, -0.881921264348, -0.884797098431, -0.887639620403, -0.890448723245, -0.893224301196, -0.895966249756, -0.898674465694, -0.901348847046, -0.903989293123, -0.906595704515, -0.909167983091, -0.911706032005, -0.914209755704, -0.916679059921, -0.91911385169, -0.921514039342, -0.923879532511, -0.926210242138, -0.928506080473, -0.930766961079, -0.932992798835, -0.935183509939, -0.937339011913, -0.939459223602, -0.941544065183, -0.943593458162, -0.945607325381, -0.947585591018, -0.949528180593, -0.951435020969, -0.953306040354, -0.955141168306, -0.956940335732, -0.958703474896, -0.960430519416, -0.962121404269, -0.963776065795, -0.965394441698, -0.966976471045, -0.968522094274, -0.970031253195, -0.971503890986, -0.972939952206, -0.974339382786, -0.975702130039, -0.977028142658, -0.97831737072, -0.979569765685, -0.980785280403, -0.98196386911, -0.983105487431, -0.984210092387, -0.985277642389, -0.986308097245, -0.987301418158, -0.988257567731, -0.989176509965, -0.990058210262, -0.990902635428, -0.991709753669, -0.992479534599, -0.993211949235, -0.993906970002, -0.994564570734, -0.995184726672, -0.995767414468, -0.996312612183, -0.996820299291, -0.997290456679, -0.997723066644, -0.9981181129, -0.998475580573, -0.998795456205, -0.999077727753, -0.999322384588, -0.999529417501, -0.999698818696, -0.999830581796, -0.999924701839, -0.999981175283, -1.0, -0.999981175283, -0.999924701839, -0.999830581796, -0.999698818696, -0.999529417501, -0.999322384588, -0.999077727753, -0.998795456205, -0.998475580573, -0.9981181129, -0.997723066644, -0.997290456679, -0.996820299291, -0.996312612183, -0.995767414468, -0.995184726672, -0.994564570734, -0.993906970002, -0.993211949235, -0.992479534599, -0.991709753669, -0.990902635428, -0.990058210262, -0.989176509965, -0.988257567731, -0.987301418158, -0.986308097245, -0.985277642389, -0.984210092387, -0.983105487431, -0.98196386911, -0.980785280403, -0.979569765685, -0.97831737072, -0.977028142658, -0.975702130039, -0.974339382786, -0.972939952206, -0.971503890986, -0.970031253195, -0.968522094274, -0.966976471045, -0.965394441698, -0.963776065795, -0.962121404269, -0.960430519416, -0.958703474896, -0.956940335732, -0.955141168306, -0.953306040354, -0.951435020969, -0.949528180593, -0.947585591018, -0.945607325381, -0.943593458162, -0.941544065183, -0.939459223602, -0.937339011913, -0.935183509939, -0.932992798835, -0.930766961079, -0.928506080473, -0.926210242138, -0.923879532511, -0.921514039342, -0.91911385169, -0.916679059921, -0.914209755704, -0.911706032005, -0.909167983091, -0.906595704515, -0.903989293123, -0.901348847046, -0.898674465694, -0.895966249756, -0.893224301196, -0.890448723245, -0.887639620403, -0.884797098431, -0.881921264348, -0.879012226429, -0.876070094195, -0.873094978418, -0.870086991109, -0.867046245516, -0.863972856122, -0.860866938638, -0.85772861, -0.854557988365, -0.851355193105, -0.848120344803, -0.84485356525, -0.841554977437, -0.838224705555, -0.834862874986, -0.831469612303, -0.828045045258, -0.824589302785, -0.821102514991, -0.817584813152, -0.814036329706, -0.810457198253, -0.806847553544, -0.803207531481, -0.799537269108, -0.795836904609, -0.7921065773, -0.788346427627, -0.784556597156, -0.780737228572, -0.776888465673, -0.773010453363, -0.769103337646, -0.765167265622, -0.761202385484, -0.757208846506, -0.753186799044, -0.749136394523, -0.745057785441, -0.740951125355, -0.736816568877, -0.732654271672, -0.728464390448, -0.724247082951, -0.720002507961, -0.715730825284, -0.711432195745, -0.707106781187, -0.702754744457, -0.698376249409, -0.69397146089, -0.689540544737, -0.685083667773, -0.680600997795, -0.676092703575, -0.671558954847, -0.666999922304, -0.66241577759, -0.657806693297, -0.653172842954, -0.648514401022, -0.64383154289, -0.639124444864, -0.634393284164, -0.629638238915, -0.624859488142, -0.620057211763, -0.615231590581, -0.610382806276, -0.605511041404, -0.600616479384, -0.595699304492, -0.590759701859, -0.585797857456, -0.580813958096, -0.575808191418, -0.570780745887, -0.565731810784, -0.560661576197, -0.55557023302, -0.550457972937, -0.545324988422, -0.54017147273, -0.534997619887, -0.529803624686, -0.524589682678, -0.519355990166, -0.514102744193, -0.508830142543, -0.503538383726, -0.498227666973, -0.49289819223, -0.487550160148, -0.482183772079, -0.476799230063, -0.471396736826, -0.465976495768, -0.460538710958, -0.455083587126, -0.449611329655, -0.44412214457, -0.438616238539, -0.433093818853, -0.42755509343, -0.4220002708, -0.416429560098, -0.410843171058, -0.405241314005, -0.399624199846, -0.393992040061, -0.388345046699, -0.382683432365, -0.377007410216, -0.371317193952, -0.365612997805, -0.359895036535, -0.35416352542, -0.348418680249, -0.342660717312, -0.336889853392, -0.33110630576, -0.325310292162, -0.319502030816, -0.313681740399, -0.307849640042, -0.302005949319, -0.296150888244, -0.290284677254, -0.284407537211, -0.278519689385, -0.27262135545, -0.266712757475, -0.260794117915, -0.254865659605, -0.248927605746, -0.242980179903, -0.237023605994, -0.231058108281, -0.22508391136, -0.219101240157, -0.213110319916, -0.207111376192, -0.201104634842, -0.195090322016, -0.18906866415, -0.183039887955, -0.177004220412, -0.17096188876, -0.16491312049, -0.158858143334, -0.152797185258, -0.146730474455, -0.140658239333, -0.134580708507, -0.128498110794, -0.122410675199, -0.116318630912, -0.110222207294, -0.104121633872, -0.0980171403296, -0.0919089564971, -0.0857973123444, -0.0796824379714, -0.0735645635997, -0.0674439195637, -0.0613207363022, -0.0551952443497, -0.0490676743274, -0.0429382569349, -0.0368072229414, -0.0306748031766, -0.0245412285229, -0.0184067299058, -0.0122715382857, -0.00613588464915, -1.22464679915e-16, 0.00613588464915, 0.0122715382857, 0.0184067299058, 0.0245412285229, 0.0306748031766, 0.0368072229414, 0.0429382569349, 0.0490676743274, 0.0551952443497, 0.0613207363022, 0.0674439195637, 0.0735645635997, 0.0796824379714, 0.0857973123444, 0.0919089564971, 0.0980171403296, 0.104121633872, 0.110222207294, 0.116318630912, 0.122410675199, 0.128498110794, 0.134580708507, 0.140658239333, 0.146730474455, 0.152797185258, 0.158858143334, 0.16491312049, 0.17096188876, 0.177004220412, 0.183039887955, 0.18906866415, 0.195090322016, 0.201104634842, 0.207111376192, 0.213110319916, 0.219101240157, 0.22508391136, 0.231058108281, 0.237023605994, 0.242980179903, 0.248927605746, 0.254865659605, 0.260794117915, 0.266712757475, 0.27262135545, 0.278519689385, 0.284407537211, 0.290284677254, 0.296150888244, 0.302005949319, 0.307849640042, 0.313681740399, 0.319502030816, 0.325310292162, 0.33110630576, 0.336889853392, 0.342660717312, 0.348418680249, 0.35416352542, 0.359895036535, 0.365612997805, 0.371317193952, 0.377007410216, 0.382683432365, 0.388345046699, 0.393992040061, 0.399624199846, 0.405241314005, 0.410843171058, 0.416429560098, 0.4220002708, 0.42755509343, 0.433093818853, 0.438616238539, 0.44412214457, 0.449611329655, 0.455083587126, 0.460538710958, 0.465976495768, 0.471396736826, 0.476799230063, 0.482183772079, 0.487550160148, 0.49289819223, 0.498227666973, 0.503538383726, 0.508830142543, 0.514102744193, 0.519355990166, 0.524589682678, 0.529803624686, 0.534997619887, 0.54017147273, 0.545324988422, 0.550457972937, 0.55557023302, 0.560661576197, 0.565731810784, 0.570780745887, 0.575808191418, 0.580813958096, 0.585797857456, 0.590759701859, 0.595699304492, 0.600616479384, 0.605511041404, 0.610382806276, 0.615231590581, 0.620057211763, 0.624859488142, 0.629638238915, 0.634393284164, 0.639124444864, 0.64383154289, 0.648514401022, 0.653172842954, 0.657806693297, 0.66241577759, 0.666999922304, 0.671558954847, 0.676092703575, 0.680600997795, 0.685083667773, 0.689540544737, 0.69397146089, 0.698376249409, 0.702754744457, 0.707106781187, 0.711432195745, 0.715730825284, 0.720002507961, 0.724247082951, 0.728464390448, 0.732654271672, 0.736816568877, 0.740951125355, 0.745057785441, 0.749136394523, 0.753186799044, 0.757208846506, 0.761202385484, 0.765167265622, 0.769103337646, 0.773010453363, 0.776888465673, 0.780737228572, 0.784556597156, 0.788346427627, 0.7921065773, 0.795836904609, 0.799537269108, 0.803207531481, 0.806847553544, 0.810457198253, 0.814036329706, 0.817584813152, 0.821102514991, 0.824589302785, 0.828045045258, 0.831469612303, 0.834862874986, 0.838224705555, 0.841554977437, 0.84485356525, 0.848120344803, 0.851355193105, 0.854557988365, 0.85772861, 0.860866938638, 0.863972856122, 0.867046245516, 0.870086991109, 0.873094978418, 0.876070094195, 0.879012226429, 0.881921264348, 0.884797098431, 0.887639620403, 0.890448723245, 0.893224301196, 0.895966249756, 0.898674465694, 0.901348847046, 0.903989293123, 0.906595704515, 0.909167983091, 0.911706032005, 0.914209755704, 0.916679059921, 0.91911385169, 0.921514039342, 0.923879532511, 0.926210242138, 0.928506080473, 0.930766961079, 0.932992798835, 0.935183509939, 0.937339011913, 0.939459223602, 0.941544065183, 0.943593458162, 0.945607325381, 0.947585591018, 0.949528180593, 0.951435020969, 0.953306040354, 0.955141168306, 0.956940335732, 0.958703474896, 0.960430519416, 0.962121404269, 0.963776065795, 0.965394441698, 0.966976471045, 0.968522094274, 0.970031253195, 0.971503890986, 0.972939952206, 0.974339382786, 0.975702130039, 0.977028142658, 0.97831737072, 0.979569765685, 0.980785280403, 0.98196386911, 0.983105487431, 0.984210092387, 0.985277642389, 0.986308097245, 0.987301418158, 0.988257567731, 0.989176509965, 0.990058210262, 0.990902635428, 0.991709753669, 0.992479534599, 0.993211949235, 0.993906970002, 0.994564570734, 0.995184726672, 0.995767414468, 0.996312612183, 0.996820299291, 0.997290456679, 0.997723066644, 0.9981181129, 0.998475580573, 0.998795456205, 0.999077727753, 0.999322384588, 0.999529417501, 0.999698818696, 0.999830581796, 0.999924701839, 0.999981175283, 1.0, 0.999981175283, 0.999924701839, 0.999830581796, 0.999698818696, 0.999529417501, 0.999322384588, 0.999077727753, 0.998795456205, 0.998475580573, 0.9981181129, 0.997723066644, 0.997290456679, 0.996820299291, 0.996312612183, 0.995767414468, 0.995184726672, 0.994564570734, 0.993906970002, 0.993211949235, 0.992479534599, 0.991709753669, 0.990902635428, 0.990058210262, 0.989176509965, 0.988257567731, 0.987301418158, 0.986308097245, 0.985277642389, 0.984210092387, 0.983105487431, 0.98196386911, 0.980785280403, 0.979569765685, 0.97831737072, 0.977028142658, 0.975702130039, 0.974339382786, 0.972939952206, 0.971503890986, 0.970031253195, 0.968522094274, 0.966976471045, 0.965394441698, 0.963776065795, 0.962121404269, 0.960430519416, 0.958703474896, 0.956940335732, 0.955141168306, 0.953306040354, 0.951435020969, 0.949528180593, 0.947585591018, 0.945607325381, 0.943593458162, 0.941544065183, 0.939459223602, 0.937339011913, 0.935183509939, 0.932992798835, 0.930766961079, 0.928506080473, 0.926210242138, 0.923879532511, 0.921514039342, 0.91911385169, 0.916679059921, 0.914209755704, 0.911706032005, 0.909167983091, 0.906595704515, 0.903989293123, 0.901348847046, 0.898674465694, 0.895966249756, 0.893224301196, 0.890448723245, 0.887639620403, 0.884797098431, 0.881921264348, 0.879012226429, 0.876070094195, 0.873094978418, 0.870086991109, 0.867046245516, 0.863972856122, 0.860866938638, 0.85772861, 0.854557988365, 0.851355193105, 0.848120344803, 0.84485356525, 0.841554977437, 0.838224705555, 0.834862874986, 0.831469612303, 0.828045045258, 0.824589302785, 0.821102514991, 0.817584813152, 0.814036329706, 0.810457198253, 0.806847553544, 0.803207531481, 0.799537269108, 0.795836904609, 0.7921065773, 0.788346427627, 0.784556597156, 0.780737228572, 0.776888465673, 0.773010453363, 0.769103337646, 0.765167265622, 0.761202385484, 0.757208846506, 0.753186799044, 0.749136394523, 0.745057785441, 0.740951125355, 0.736816568877, 0.732654271672, 0.728464390448, 0.724247082951, 0.720002507961, 0.715730825284, 0.711432195745, 0.707106781187, 0.702754744457, 0.698376249409, 0.69397146089, 0.689540544737, 0.685083667773, 0.680600997795, 0.676092703575, 0.671558954847, 0.666999922304, 0.66241577759, 0.657806693297, 0.653172842954, 0.648514401022, 0.64383154289, 0.639124444864, 0.634393284164, 0.629638238915, 0.624859488142, 0.620057211763, 0.615231590581, 0.610382806276, 0.605511041404, 0.600616479384, 0.595699304492, 0.590759701859, 0.585797857456, 0.580813958096, 0.575808191418, 0.570780745887, 0.565731810784, 0.560661576197, 0.55557023302, 0.550457972937, 0.545324988422, 0.54017147273, 0.534997619887, 0.529803624686, 0.524589682678, 0.519355990166, 0.514102744193, 0.508830142543, 0.503538383726, 0.498227666973, 0.49289819223, 0.487550160148, 0.482183772079, 0.476799230063, 0.471396736826, 0.465976495768, 0.460538710958, 0.455083587126, 0.449611329655, 0.44412214457, 0.438616238539, 0.433093818853, 0.42755509343, 0.4220002708, 0.416429560098, 0.410843171058, 0.405241314005, 0.399624199846, 0.393992040061, 0.388345046699, 0.382683432365, 0.377007410216, 0.371317193952, 0.365612997805, 0.359895036535, 0.35416352542, 0.348418680249, 0.342660717312, 0.336889853392, 0.33110630576, 0.325310292162, 0.319502030816, 0.313681740399, 0.307849640042, 0.302005949319, 0.296150888244, 0.290284677254, 0.284407537211, 0.278519689385, 0.27262135545, 0.266712757475, 0.260794117915, 0.254865659605, 0.248927605746, 0.242980179903, 0.237023605994, 0.231058108281, 0.22508391136, 0.219101240157, 0.213110319916, 0.207111376192, 0.201104634842, 0.195090322016, 0.18906866415, 0.183039887955, 0.177004220412, 0.17096188876, 0.16491312049, 0.158858143334, 0.152797185258, 0.146730474455, 0.140658239333, 0.134580708507, 0.128498110794, 0.122410675199, 0.116318630912, 0.110222207294, 0.104121633872, 0.0980171403296, 0.0919089564971, 0.0857973123444, 0.0796824379714, 0.0735645635997, 0.0674439195637, 0.0613207363022, 0.0551952443497, 0.0490676743274, 0.0429382569349, 0.0368072229414, 0.0306748031766, 0.0245412285229, 0.0184067299058, 0.0122715382857, 0.00613588464915 };
diff --git a/benchmarks/vec-fft/fft_dc_float.c b/benchmarks/vec-fft/fft_dc_float.c
deleted file mode 100644
index 8099ff2..0000000
--- a/benchmarks/vec-fft/fft_dc_float.c
+++ /dev/null
@@ -1,8 +0,0 @@
-// See LICENSE for license details.
-
-double input_data_real[ 1024 ] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
-double input_data_imag[ 1024 ] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-double output_data_real[ 1024 ] = { 1024.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
-double output_data_imag[ 1024 ] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
-double tf_real[ 1024 ] = { 1.0, 0.999981175283, 0.999924701839, 0.999830581796, 0.999698818696, 0.999529417501, 0.999322384588, 0.999077727753, 0.998795456205, 0.998475580573, 0.9981181129, 0.997723066644, 0.997290456679, 0.996820299291, 0.996312612183, 0.995767414468, 0.995184726672, 0.994564570734, 0.993906970002, 0.993211949235, 0.992479534599, 0.991709753669, 0.990902635428, 0.990058210262, 0.989176509965, 0.988257567731, 0.987301418158, 0.986308097245, 0.985277642389, 0.984210092387, 0.983105487431, 0.98196386911, 0.980785280403, 0.979569765685, 0.97831737072, 0.977028142658, 0.975702130039, 0.974339382786, 0.972939952206, 0.971503890986, 0.970031253195, 0.968522094274, 0.966976471045, 0.965394441698, 0.963776065795, 0.962121404269, 0.960430519416, 0.958703474896, 0.956940335732, 0.955141168306, 0.953306040354, 0.951435020969, 0.949528180593, 0.947585591018, 0.945607325381, 0.943593458162, 0.941544065183, 0.939459223602, 0.937339011913, 0.935183509939, 0.932992798835, 0.930766961079, 0.928506080473, 0.926210242138, 0.923879532511, 0.921514039342, 0.91911385169, 0.916679059921, 0.914209755704, 0.911706032005, 0.909167983091, 0.906595704515, 0.903989293123, 0.901348847046, 0.898674465694, 0.895966249756, 0.893224301196, 0.890448723245, 0.887639620403, 0.884797098431, 0.881921264348, 0.879012226429, 0.876070094195, 0.873094978418, 0.870086991109, 0.867046245516, 0.863972856122, 0.860866938638, 0.85772861, 0.854557988365, 0.851355193105, 0.848120344803, 0.84485356525, 0.841554977437, 0.838224705555, 0.834862874986, 0.831469612303, 0.828045045258, 0.824589302785, 0.821102514991, 0.817584813152, 0.814036329706, 0.810457198253, 0.806847553544, 0.803207531481, 0.799537269108, 0.795836904609, 0.7921065773, 0.788346427627, 0.784556597156, 0.780737228572, 0.776888465673, 0.773010453363, 0.769103337646, 0.765167265622, 0.761202385484, 0.757208846506, 0.753186799044, 0.749136394523, 0.745057785441, 0.740951125355, 0.736816568877, 0.732654271672, 0.728464390448, 0.724247082951, 0.720002507961, 0.715730825284, 0.711432195745, 0.707106781187, 0.702754744457, 0.698376249409, 0.69397146089, 0.689540544737, 0.685083667773, 0.680600997795, 0.676092703575, 0.671558954847, 0.666999922304, 0.66241577759, 0.657806693297, 0.653172842954, 0.648514401022, 0.64383154289, 0.639124444864, 0.634393284164, 0.629638238915, 0.624859488142, 0.620057211763, 0.615231590581, 0.610382806276, 0.605511041404, 0.600616479384, 0.595699304492, 0.590759701859, 0.585797857456, 0.580813958096, 0.575808191418, 0.570780745887, 0.565731810784, 0.560661576197, 0.55557023302, 0.550457972937, 0.545324988422, 0.54017147273, 0.534997619887, 0.529803624686, 0.524589682678, 0.519355990166, 0.514102744193, 0.508830142543, 0.503538383726, 0.498227666973, 0.49289819223, 0.487550160148, 0.482183772079, 0.476799230063, 0.471396736826, 0.465976495768, 0.460538710958, 0.455083587126, 0.449611329655, 0.44412214457, 0.438616238539, 0.433093818853, 0.42755509343, 0.4220002708, 0.416429560098, 0.410843171058, 0.405241314005, 0.399624199846, 0.393992040061, 0.388345046699, 0.382683432365, 0.377007410216, 0.371317193952, 0.365612997805, 0.359895036535, 0.35416352542, 0.348418680249, 0.342660717312, 0.336889853392, 0.33110630576, 0.325310292162, 0.319502030816, 0.313681740399, 0.307849640042, 0.302005949319, 0.296150888244, 0.290284677254, 0.284407537211, 0.278519689385, 0.27262135545, 0.266712757475, 0.260794117915, 0.254865659605, 0.248927605746, 0.242980179903, 0.237023605994, 0.231058108281, 0.22508391136, 0.219101240157, 0.213110319916, 0.207111376192, 0.201104634842, 0.195090322016, 0.18906866415, 0.183039887955, 0.177004220412, 0.17096188876, 0.16491312049, 0.158858143334, 0.152797185258, 0.146730474455, 0.140658239333, 0.134580708507, 0.128498110794, 0.122410675199, 0.116318630912, 0.110222207294, 0.104121633872, 0.0980171403296, 0.0919089564971, 0.0857973123444, 0.0796824379714, 0.0735645635997, 0.0674439195637, 0.0613207363022, 0.0551952443497, 0.0490676743274, 0.0429382569349, 0.0368072229414, 0.0306748031766, 0.0245412285229, 0.0184067299058, 0.0122715382857, 0.00613588464915, 6.12323399574e-17, -0.00613588464915, -0.0122715382857, -0.0184067299058, -0.0245412285229, -0.0306748031766, -0.0368072229414, -0.0429382569349, -0.0490676743274, -0.0551952443497, -0.0613207363022, -0.0674439195637, -0.0735645635997, -0.0796824379714, -0.0857973123444, -0.0919089564971, -0.0980171403296, -0.104121633872, -0.110222207294, -0.116318630912, -0.122410675199, -0.128498110794, -0.134580708507, -0.140658239333, -0.146730474455, -0.152797185258, -0.158858143334, -0.16491312049, -0.17096188876, -0.177004220412, -0.183039887955, -0.18906866415, -0.195090322016, -0.201104634842, -0.207111376192, -0.213110319916, -0.219101240157, -0.22508391136, -0.231058108281, -0.237023605994, -0.242980179903, -0.248927605746, -0.254865659605, -0.260794117915, -0.266712757475, -0.27262135545, -0.278519689385, -0.284407537211, -0.290284677254, -0.296150888244, -0.302005949319, -0.307849640042, -0.313681740399, -0.319502030816, -0.325310292162, -0.33110630576, -0.336889853392, -0.342660717312, -0.348418680249, -0.35416352542, -0.359895036535, -0.365612997805, -0.371317193952, -0.377007410216, -0.382683432365, -0.388345046699, -0.393992040061, -0.399624199846, -0.405241314005, -0.410843171058, -0.416429560098, -0.4220002708, -0.42755509343, -0.433093818853, -0.438616238539, -0.44412214457, -0.449611329655, -0.455083587126, -0.460538710958, -0.465976495768, -0.471396736826, -0.476799230063, -0.482183772079, -0.487550160148, -0.49289819223, -0.498227666973, -0.503538383726, -0.508830142543, -0.514102744193, -0.519355990166, -0.524589682678, -0.529803624686, -0.534997619887, -0.54017147273, -0.545324988422, -0.550457972937, -0.55557023302, -0.560661576197, -0.565731810784, -0.570780745887, -0.575808191418, -0.580813958096, -0.585797857456, -0.590759701859, -0.595699304492, -0.600616479384, -0.605511041404, -0.610382806276, -0.615231590581, -0.620057211763, -0.624859488142, -0.629638238915, -0.634393284164, -0.639124444864, -0.64383154289, -0.648514401022, -0.653172842954, -0.657806693297, -0.66241577759, -0.666999922304, -0.671558954847, -0.676092703575, -0.680600997795, -0.685083667773, -0.689540544737, -0.69397146089, -0.698376249409, -0.702754744457, -0.707106781187, -0.711432195745, -0.715730825284, -0.720002507961, -0.724247082951, -0.728464390448, -0.732654271672, -0.736816568877, -0.740951125355, -0.745057785441, -0.749136394523, -0.753186799044, -0.757208846506, -0.761202385484, -0.765167265622, -0.769103337646, -0.773010453363, -0.776888465673, -0.780737228572, -0.784556597156, -0.788346427627, -0.7921065773, -0.795836904609, -0.799537269108, -0.803207531481, -0.806847553544, -0.810457198253, -0.814036329706, -0.817584813152, -0.821102514991, -0.824589302785, -0.828045045258, -0.831469612303, -0.834862874986, -0.838224705555, -0.841554977437, -0.84485356525, -0.848120344803, -0.851355193105, -0.854557988365, -0.85772861, -0.860866938638, -0.863972856122, -0.867046245516, -0.870086991109, -0.873094978418, -0.876070094195, -0.879012226429, -0.881921264348, -0.884797098431, -0.887639620403, -0.890448723245, -0.893224301196, -0.895966249756, -0.898674465694, -0.901348847046, -0.903989293123, -0.906595704515, -0.909167983091, -0.911706032005, -0.914209755704, -0.916679059921, -0.91911385169, -0.921514039342, -0.923879532511, -0.926210242138, -0.928506080473, -0.930766961079, -0.932992798835, -0.935183509939, -0.937339011913, -0.939459223602, -0.941544065183, -0.943593458162, -0.945607325381, -0.947585591018, -0.949528180593, -0.951435020969, -0.953306040354, -0.955141168306, -0.956940335732, -0.958703474896, -0.960430519416, -0.962121404269, -0.963776065795, -0.965394441698, -0.966976471045, -0.968522094274, -0.970031253195, -0.971503890986, -0.972939952206, -0.974339382786, -0.975702130039, -0.977028142658, -0.97831737072, -0.979569765685, -0.980785280403, -0.98196386911, -0.983105487431, -0.984210092387, -0.985277642389, -0.986308097245, -0.987301418158, -0.988257567731, -0.989176509965, -0.990058210262, -0.990902635428, -0.991709753669, -0.992479534599, -0.993211949235, -0.993906970002, -0.994564570734, -0.995184726672, -0.995767414468, -0.996312612183, -0.996820299291, -0.997290456679, -0.997723066644, -0.9981181129, -0.998475580573, -0.998795456205, -0.999077727753, -0.999322384588, -0.999529417501, -0.999698818696, -0.999830581796, -0.999924701839, -0.999981175283, -1.0, -0.999981175283, -0.999924701839, -0.999830581796, -0.999698818696, -0.999529417501, -0.999322384588, -0.999077727753, -0.998795456205, -0.998475580573, -0.9981181129, -0.997723066644, -0.997290456679, -0.996820299291, -0.996312612183, -0.995767414468, -0.995184726672, -0.994564570734, -0.993906970002, -0.993211949235, -0.992479534599, -0.991709753669, -0.990902635428, -0.990058210262, -0.989176509965, -0.988257567731, -0.987301418158, -0.986308097245, -0.985277642389, -0.984210092387, -0.983105487431, -0.98196386911, -0.980785280403, -0.979569765685, -0.97831737072, -0.977028142658, -0.975702130039, -0.974339382786, -0.972939952206, -0.971503890986, -0.970031253195, -0.968522094274, -0.966976471045, -0.965394441698, -0.963776065795, -0.962121404269, -0.960430519416, -0.958703474896, -0.956940335732, -0.955141168306, -0.953306040354, -0.951435020969, -0.949528180593, -0.947585591018, -0.945607325381, -0.943593458162, -0.941544065183, -0.939459223602, -0.937339011913, -0.935183509939, -0.932992798835, -0.930766961079, -0.928506080473, -0.926210242138, -0.923879532511, -0.921514039342, -0.91911385169, -0.916679059921, -0.914209755704, -0.911706032005, -0.909167983091, -0.906595704515, -0.903989293123, -0.901348847046, -0.898674465694, -0.895966249756, -0.893224301196, -0.890448723245, -0.887639620403, -0.884797098431, -0.881921264348, -0.879012226429, -0.876070094195, -0.873094978418, -0.870086991109, -0.867046245516, -0.863972856122, -0.860866938638, -0.85772861, -0.854557988365, -0.851355193105, -0.848120344803, -0.84485356525, -0.841554977437, -0.838224705555, -0.834862874986, -0.831469612303, -0.828045045258, -0.824589302785, -0.821102514991, -0.817584813152, -0.814036329706, -0.810457198253, -0.806847553544, -0.803207531481, -0.799537269108, -0.795836904609, -0.7921065773, -0.788346427627, -0.784556597156, -0.780737228572, -0.776888465673, -0.773010453363, -0.769103337646, -0.765167265622, -0.761202385484, -0.757208846506, -0.753186799044, -0.749136394523, -0.745057785441, -0.740951125355, -0.736816568877, -0.732654271672, -0.728464390448, -0.724247082951, -0.720002507961, -0.715730825284, -0.711432195745, -0.707106781187, -0.702754744457, -0.698376249409, -0.69397146089, -0.689540544737, -0.685083667773, -0.680600997795, -0.676092703575, -0.671558954847, -0.666999922304, -0.66241577759, -0.657806693297, -0.653172842954, -0.648514401022, -0.64383154289, -0.639124444864, -0.634393284164, -0.629638238915, -0.624859488142, -0.620057211763, -0.615231590581, -0.610382806276, -0.605511041404, -0.600616479384, -0.595699304492, -0.590759701859, -0.585797857456, -0.580813958096, -0.575808191418, -0.570780745887, -0.565731810784, -0.560661576197, -0.55557023302, -0.550457972937, -0.545324988422, -0.54017147273, -0.534997619887, -0.529803624686, -0.524589682678, -0.519355990166, -0.514102744193, -0.508830142543, -0.503538383726, -0.498227666973, -0.49289819223, -0.487550160148, -0.482183772079, -0.476799230063, -0.471396736826, -0.465976495768, -0.460538710958, -0.455083587126, -0.449611329655, -0.44412214457, -0.438616238539, -0.433093818853, -0.42755509343, -0.4220002708, -0.416429560098, -0.410843171058, -0.405241314005, -0.399624199846, -0.393992040061, -0.388345046699, -0.382683432365, -0.377007410216, -0.371317193952, -0.365612997805, -0.359895036535, -0.35416352542, -0.348418680249, -0.342660717312, -0.336889853392, -0.33110630576, -0.325310292162, -0.319502030816, -0.313681740399, -0.307849640042, -0.302005949319, -0.296150888244, -0.290284677254, -0.284407537211, -0.278519689385, -0.27262135545, -0.266712757475, -0.260794117915, -0.254865659605, -0.248927605746, -0.242980179903, -0.237023605994, -0.231058108281, -0.22508391136, -0.219101240157, -0.213110319916, -0.207111376192, -0.201104634842, -0.195090322016, -0.18906866415, -0.183039887955, -0.177004220412, -0.17096188876, -0.16491312049, -0.158858143334, -0.152797185258, -0.146730474455, -0.140658239333, -0.134580708507, -0.128498110794, -0.122410675199, -0.116318630912, -0.110222207294, -0.104121633872, -0.0980171403296, -0.0919089564971, -0.0857973123444, -0.0796824379714, -0.0735645635997, -0.0674439195637, -0.0613207363022, -0.0551952443497, -0.0490676743274, -0.0429382569349, -0.0368072229414, -0.0306748031766, -0.0245412285229, -0.0184067299058, -0.0122715382857, -0.00613588464915, -1.83697019872e-16, 0.00613588464915, 0.0122715382857, 0.0184067299058, 0.0245412285229, 0.0306748031766, 0.0368072229414, 0.0429382569349, 0.0490676743274, 0.0551952443497, 0.0613207363022, 0.0674439195637, 0.0735645635997, 0.0796824379714, 0.0857973123444, 0.0919089564971, 0.0980171403296, 0.104121633872, 0.110222207294, 0.116318630912, 0.122410675199, 0.128498110794, 0.134580708507, 0.140658239333, 0.146730474455, 0.152797185258, 0.158858143334, 0.16491312049, 0.17096188876, 0.177004220412, 0.183039887955, 0.18906866415, 0.195090322016, 0.201104634842, 0.207111376192, 0.213110319916, 0.219101240157, 0.22508391136, 0.231058108281, 0.237023605994, 0.242980179903, 0.248927605746, 0.254865659605, 0.260794117915, 0.266712757475, 0.27262135545, 0.278519689385, 0.284407537211, 0.290284677254, 0.296150888244, 0.302005949319, 0.307849640042, 0.313681740399, 0.319502030816, 0.325310292162, 0.33110630576, 0.336889853392, 0.342660717312, 0.348418680249, 0.35416352542, 0.359895036535, 0.365612997805, 0.371317193952, 0.377007410216, 0.382683432365, 0.388345046699, 0.393992040061, 0.399624199846, 0.405241314005, 0.410843171058, 0.416429560098, 0.4220002708, 0.42755509343, 0.433093818853, 0.438616238539, 0.44412214457, 0.449611329655, 0.455083587126, 0.460538710958, 0.465976495768, 0.471396736826, 0.476799230063, 0.482183772079, 0.487550160148, 0.49289819223, 0.498227666973, 0.503538383726, 0.508830142543, 0.514102744193, 0.519355990166, 0.524589682678, 0.529803624686, 0.534997619887, 0.54017147273, 0.545324988422, 0.550457972937, 0.55557023302, 0.560661576197, 0.565731810784, 0.570780745887, 0.575808191418, 0.580813958096, 0.585797857456, 0.590759701859, 0.595699304492, 0.600616479384, 0.605511041404, 0.610382806276, 0.615231590581, 0.620057211763, 0.624859488142, 0.629638238915, 0.634393284164, 0.639124444864, 0.64383154289, 0.648514401022, 0.653172842954, 0.657806693297, 0.66241577759, 0.666999922304, 0.671558954847, 0.676092703575, 0.680600997795, 0.685083667773, 0.689540544737, 0.69397146089, 0.698376249409, 0.702754744457, 0.707106781187, 0.711432195745, 0.715730825284, 0.720002507961, 0.724247082951, 0.728464390448, 0.732654271672, 0.736816568877, 0.740951125355, 0.745057785441, 0.749136394523, 0.753186799044, 0.757208846506, 0.761202385484, 0.765167265622, 0.769103337646, 0.773010453363, 0.776888465673, 0.780737228572, 0.784556597156, 0.788346427627, 0.7921065773, 0.795836904609, 0.799537269108, 0.803207531481, 0.806847553544, 0.810457198253, 0.814036329706, 0.817584813152, 0.821102514991, 0.824589302785, 0.828045045258, 0.831469612303, 0.834862874986, 0.838224705555, 0.841554977437, 0.84485356525, 0.848120344803, 0.851355193105, 0.854557988365, 0.85772861, 0.860866938638, 0.863972856122, 0.867046245516, 0.870086991109, 0.873094978418, 0.876070094195, 0.879012226429, 0.881921264348, 0.884797098431, 0.887639620403, 0.890448723245, 0.893224301196, 0.895966249756, 0.898674465694, 0.901348847046, 0.903989293123, 0.906595704515, 0.909167983091, 0.911706032005, 0.914209755704, 0.916679059921, 0.91911385169, 0.921514039342, 0.923879532511, 0.926210242138, 0.928506080473, 0.930766961079, 0.932992798835, 0.935183509939, 0.937339011913, 0.939459223602, 0.941544065183, 0.943593458162, 0.945607325381, 0.947585591018, 0.949528180593, 0.951435020969, 0.953306040354, 0.955141168306, 0.956940335732, 0.958703474896, 0.960430519416, 0.962121404269, 0.963776065795, 0.965394441698, 0.966976471045, 0.968522094274, 0.970031253195, 0.971503890986, 0.972939952206, 0.974339382786, 0.975702130039, 0.977028142658, 0.97831737072, 0.979569765685, 0.980785280403, 0.98196386911, 0.983105487431, 0.984210092387, 0.985277642389, 0.986308097245, 0.987301418158, 0.988257567731, 0.989176509965, 0.990058210262, 0.990902635428, 0.991709753669, 0.992479534599, 0.993211949235, 0.993906970002, 0.994564570734, 0.995184726672, 0.995767414468, 0.996312612183, 0.996820299291, 0.997290456679, 0.997723066644, 0.9981181129, 0.998475580573, 0.998795456205, 0.999077727753, 0.999322384588, 0.999529417501, 0.999698818696, 0.999830581796, 0.999924701839, 0.999981175283 };
-double tf_imag[ 1024 ] = { -0.0, -0.00613588464915, -0.0122715382857, -0.0184067299058, -0.0245412285229, -0.0306748031766, -0.0368072229414, -0.0429382569349, -0.0490676743274, -0.0551952443497, -0.0613207363022, -0.0674439195637, -0.0735645635997, -0.0796824379714, -0.0857973123444, -0.0919089564971, -0.0980171403296, -0.104121633872, -0.110222207294, -0.116318630912, -0.122410675199, -0.128498110794, -0.134580708507, -0.140658239333, -0.146730474455, -0.152797185258, -0.158858143334, -0.16491312049, -0.17096188876, -0.177004220412, -0.183039887955, -0.18906866415, -0.195090322016, -0.201104634842, -0.207111376192, -0.213110319916, -0.219101240157, -0.22508391136, -0.231058108281, -0.237023605994, -0.242980179903, -0.248927605746, -0.254865659605, -0.260794117915, -0.266712757475, -0.27262135545, -0.278519689385, -0.284407537211, -0.290284677254, -0.296150888244, -0.302005949319, -0.307849640042, -0.313681740399, -0.319502030816, -0.325310292162, -0.33110630576, -0.336889853392, -0.342660717312, -0.348418680249, -0.35416352542, -0.359895036535, -0.365612997805, -0.371317193952, -0.377007410216, -0.382683432365, -0.388345046699, -0.393992040061, -0.399624199846, -0.405241314005, -0.410843171058, -0.416429560098, -0.4220002708, -0.42755509343, -0.433093818853, -0.438616238539, -0.44412214457, -0.449611329655, -0.455083587126, -0.460538710958, -0.465976495768, -0.471396736826, -0.476799230063, -0.482183772079, -0.487550160148, -0.49289819223, -0.498227666973, -0.503538383726, -0.508830142543, -0.514102744193, -0.519355990166, -0.524589682678, -0.529803624686, -0.534997619887, -0.54017147273, -0.545324988422, -0.550457972937, -0.55557023302, -0.560661576197, -0.565731810784, -0.570780745887, -0.575808191418, -0.580813958096, -0.585797857456, -0.590759701859, -0.595699304492, -0.600616479384, -0.605511041404, -0.610382806276, -0.615231590581, -0.620057211763, -0.624859488142, -0.629638238915, -0.634393284164, -0.639124444864, -0.64383154289, -0.648514401022, -0.653172842954, -0.657806693297, -0.66241577759, -0.666999922304, -0.671558954847, -0.676092703575, -0.680600997795, -0.685083667773, -0.689540544737, -0.69397146089, -0.698376249409, -0.702754744457, -0.707106781187, -0.711432195745, -0.715730825284, -0.720002507961, -0.724247082951, -0.728464390448, -0.732654271672, -0.736816568877, -0.740951125355, -0.745057785441, -0.749136394523, -0.753186799044, -0.757208846506, -0.761202385484, -0.765167265622, -0.769103337646, -0.773010453363, -0.776888465673, -0.780737228572, -0.784556597156, -0.788346427627, -0.7921065773, -0.795836904609, -0.799537269108, -0.803207531481, -0.806847553544, -0.810457198253, -0.814036329706, -0.817584813152, -0.821102514991, -0.824589302785, -0.828045045258, -0.831469612303, -0.834862874986, -0.838224705555, -0.841554977437, -0.84485356525, -0.848120344803, -0.851355193105, -0.854557988365, -0.85772861, -0.860866938638, -0.863972856122, -0.867046245516, -0.870086991109, -0.873094978418, -0.876070094195, -0.879012226429, -0.881921264348, -0.884797098431, -0.887639620403, -0.890448723245, -0.893224301196, -0.895966249756, -0.898674465694, -0.901348847046, -0.903989293123, -0.906595704515, -0.909167983091, -0.911706032005, -0.914209755704, -0.916679059921, -0.91911385169, -0.921514039342, -0.923879532511, -0.926210242138, -0.928506080473, -0.930766961079, -0.932992798835, -0.935183509939, -0.937339011913, -0.939459223602, -0.941544065183, -0.943593458162, -0.945607325381, -0.947585591018, -0.949528180593, -0.951435020969, -0.953306040354, -0.955141168306, -0.956940335732, -0.958703474896, -0.960430519416, -0.962121404269, -0.963776065795, -0.965394441698, -0.966976471045, -0.968522094274, -0.970031253195, -0.971503890986, -0.972939952206, -0.974339382786, -0.975702130039, -0.977028142658, -0.97831737072, -0.979569765685, -0.980785280403, -0.98196386911, -0.983105487431, -0.984210092387, -0.985277642389, -0.986308097245, -0.987301418158, -0.988257567731, -0.989176509965, -0.990058210262, -0.990902635428, -0.991709753669, -0.992479534599, -0.993211949235, -0.993906970002, -0.994564570734, -0.995184726672, -0.995767414468, -0.996312612183, -0.996820299291, -0.997290456679, -0.997723066644, -0.9981181129, -0.998475580573, -0.998795456205, -0.999077727753, -0.999322384588, -0.999529417501, -0.999698818696, -0.999830581796, -0.999924701839, -0.999981175283, -1.0, -0.999981175283, -0.999924701839, -0.999830581796, -0.999698818696, -0.999529417501, -0.999322384588, -0.999077727753, -0.998795456205, -0.998475580573, -0.9981181129, -0.997723066644, -0.997290456679, -0.996820299291, -0.996312612183, -0.995767414468, -0.995184726672, -0.994564570734, -0.993906970002, -0.993211949235, -0.992479534599, -0.991709753669, -0.990902635428, -0.990058210262, -0.989176509965, -0.988257567731, -0.987301418158, -0.986308097245, -0.985277642389, -0.984210092387, -0.983105487431, -0.98196386911, -0.980785280403, -0.979569765685, -0.97831737072, -0.977028142658, -0.975702130039, -0.974339382786, -0.972939952206, -0.971503890986, -0.970031253195, -0.968522094274, -0.966976471045, -0.965394441698, -0.963776065795, -0.962121404269, -0.960430519416, -0.958703474896, -0.956940335732, -0.955141168306, -0.953306040354, -0.951435020969, -0.949528180593, -0.947585591018, -0.945607325381, -0.943593458162, -0.941544065183, -0.939459223602, -0.937339011913, -0.935183509939, -0.932992798835, -0.930766961079, -0.928506080473, -0.926210242138, -0.923879532511, -0.921514039342, -0.91911385169, -0.916679059921, -0.914209755704, -0.911706032005, -0.909167983091, -0.906595704515, -0.903989293123, -0.901348847046, -0.898674465694, -0.895966249756, -0.893224301196, -0.890448723245, -0.887639620403, -0.884797098431, -0.881921264348, -0.879012226429, -0.876070094195, -0.873094978418, -0.870086991109, -0.867046245516, -0.863972856122, -0.860866938638, -0.85772861, -0.854557988365, -0.851355193105, -0.848120344803, -0.84485356525, -0.841554977437, -0.838224705555, -0.834862874986, -0.831469612303, -0.828045045258, -0.824589302785, -0.821102514991, -0.817584813152, -0.814036329706, -0.810457198253, -0.806847553544, -0.803207531481, -0.799537269108, -0.795836904609, -0.7921065773, -0.788346427627, -0.784556597156, -0.780737228572, -0.776888465673, -0.773010453363, -0.769103337646, -0.765167265622, -0.761202385484, -0.757208846506, -0.753186799044, -0.749136394523, -0.745057785441, -0.740951125355, -0.736816568877, -0.732654271672, -0.728464390448, -0.724247082951, -0.720002507961, -0.715730825284, -0.711432195745, -0.707106781187, -0.702754744457, -0.698376249409, -0.69397146089, -0.689540544737, -0.685083667773, -0.680600997795, -0.676092703575, -0.671558954847, -0.666999922304, -0.66241577759, -0.657806693297, -0.653172842954, -0.648514401022, -0.64383154289, -0.639124444864, -0.634393284164, -0.629638238915, -0.624859488142, -0.620057211763, -0.615231590581, -0.610382806276, -0.605511041404, -0.600616479384, -0.595699304492, -0.590759701859, -0.585797857456, -0.580813958096, -0.575808191418, -0.570780745887, -0.565731810784, -0.560661576197, -0.55557023302, -0.550457972937, -0.545324988422, -0.54017147273, -0.534997619887, -0.529803624686, -0.524589682678, -0.519355990166, -0.514102744193, -0.508830142543, -0.503538383726, -0.498227666973, -0.49289819223, -0.487550160148, -0.482183772079, -0.476799230063, -0.471396736826, -0.465976495768, -0.460538710958, -0.455083587126, -0.449611329655, -0.44412214457, -0.438616238539, -0.433093818853, -0.42755509343, -0.4220002708, -0.416429560098, -0.410843171058, -0.405241314005, -0.399624199846, -0.393992040061, -0.388345046699, -0.382683432365, -0.377007410216, -0.371317193952, -0.365612997805, -0.359895036535, -0.35416352542, -0.348418680249, -0.342660717312, -0.336889853392, -0.33110630576, -0.325310292162, -0.319502030816, -0.313681740399, -0.307849640042, -0.302005949319, -0.296150888244, -0.290284677254, -0.284407537211, -0.278519689385, -0.27262135545, -0.266712757475, -0.260794117915, -0.254865659605, -0.248927605746, -0.242980179903, -0.237023605994, -0.231058108281, -0.22508391136, -0.219101240157, -0.213110319916, -0.207111376192, -0.201104634842, -0.195090322016, -0.18906866415, -0.183039887955, -0.177004220412, -0.17096188876, -0.16491312049, -0.158858143334, -0.152797185258, -0.146730474455, -0.140658239333, -0.134580708507, -0.128498110794, -0.122410675199, -0.116318630912, -0.110222207294, -0.104121633872, -0.0980171403296, -0.0919089564971, -0.0857973123444, -0.0796824379714, -0.0735645635997, -0.0674439195637, -0.0613207363022, -0.0551952443497, -0.0490676743274, -0.0429382569349, -0.0368072229414, -0.0306748031766, -0.0245412285229, -0.0184067299058, -0.0122715382857, -0.00613588464915, -1.22464679915e-16, 0.00613588464915, 0.0122715382857, 0.0184067299058, 0.0245412285229, 0.0306748031766, 0.0368072229414, 0.0429382569349, 0.0490676743274, 0.0551952443497, 0.0613207363022, 0.0674439195637, 0.0735645635997, 0.0796824379714, 0.0857973123444, 0.0919089564971, 0.0980171403296, 0.104121633872, 0.110222207294, 0.116318630912, 0.122410675199, 0.128498110794, 0.134580708507, 0.140658239333, 0.146730474455, 0.152797185258, 0.158858143334, 0.16491312049, 0.17096188876, 0.177004220412, 0.183039887955, 0.18906866415, 0.195090322016, 0.201104634842, 0.207111376192, 0.213110319916, 0.219101240157, 0.22508391136, 0.231058108281, 0.237023605994, 0.242980179903, 0.248927605746, 0.254865659605, 0.260794117915, 0.266712757475, 0.27262135545, 0.278519689385, 0.284407537211, 0.290284677254, 0.296150888244, 0.302005949319, 0.307849640042, 0.313681740399, 0.319502030816, 0.325310292162, 0.33110630576, 0.336889853392, 0.342660717312, 0.348418680249, 0.35416352542, 0.359895036535, 0.365612997805, 0.371317193952, 0.377007410216, 0.382683432365, 0.388345046699, 0.393992040061, 0.399624199846, 0.405241314005, 0.410843171058, 0.416429560098, 0.4220002708, 0.42755509343, 0.433093818853, 0.438616238539, 0.44412214457, 0.449611329655, 0.455083587126, 0.460538710958, 0.465976495768, 0.471396736826, 0.476799230063, 0.482183772079, 0.487550160148, 0.49289819223, 0.498227666973, 0.503538383726, 0.508830142543, 0.514102744193, 0.519355990166, 0.524589682678, 0.529803624686, 0.534997619887, 0.54017147273, 0.545324988422, 0.550457972937, 0.55557023302, 0.560661576197, 0.565731810784, 0.570780745887, 0.575808191418, 0.580813958096, 0.585797857456, 0.590759701859, 0.595699304492, 0.600616479384, 0.605511041404, 0.610382806276, 0.615231590581, 0.620057211763, 0.624859488142, 0.629638238915, 0.634393284164, 0.639124444864, 0.64383154289, 0.648514401022, 0.653172842954, 0.657806693297, 0.66241577759, 0.666999922304, 0.671558954847, 0.676092703575, 0.680600997795, 0.685083667773, 0.689540544737, 0.69397146089, 0.698376249409, 0.702754744457, 0.707106781187, 0.711432195745, 0.715730825284, 0.720002507961, 0.724247082951, 0.728464390448, 0.732654271672, 0.736816568877, 0.740951125355, 0.745057785441, 0.749136394523, 0.753186799044, 0.757208846506, 0.761202385484, 0.765167265622, 0.769103337646, 0.773010453363, 0.776888465673, 0.780737228572, 0.784556597156, 0.788346427627, 0.7921065773, 0.795836904609, 0.799537269108, 0.803207531481, 0.806847553544, 0.810457198253, 0.814036329706, 0.817584813152, 0.821102514991, 0.824589302785, 0.828045045258, 0.831469612303, 0.834862874986, 0.838224705555, 0.841554977437, 0.84485356525, 0.848120344803, 0.851355193105, 0.854557988365, 0.85772861, 0.860866938638, 0.863972856122, 0.867046245516, 0.870086991109, 0.873094978418, 0.876070094195, 0.879012226429, 0.881921264348, 0.884797098431, 0.887639620403, 0.890448723245, 0.893224301196, 0.895966249756, 0.898674465694, 0.901348847046, 0.903989293123, 0.906595704515, 0.909167983091, 0.911706032005, 0.914209755704, 0.916679059921, 0.91911385169, 0.921514039342, 0.923879532511, 0.926210242138, 0.928506080473, 0.930766961079, 0.932992798835, 0.935183509939, 0.937339011913, 0.939459223602, 0.941544065183, 0.943593458162, 0.945607325381, 0.947585591018, 0.949528180593, 0.951435020969, 0.953306040354, 0.955141168306, 0.956940335732, 0.958703474896, 0.960430519416, 0.962121404269, 0.963776065795, 0.965394441698, 0.966976471045, 0.968522094274, 0.970031253195, 0.971503890986, 0.972939952206, 0.974339382786, 0.975702130039, 0.977028142658, 0.97831737072, 0.979569765685, 0.980785280403, 0.98196386911, 0.983105487431, 0.984210092387, 0.985277642389, 0.986308097245, 0.987301418158, 0.988257567731, 0.989176509965, 0.990058210262, 0.990902635428, 0.991709753669, 0.992479534599, 0.993211949235, 0.993906970002, 0.994564570734, 0.995184726672, 0.995767414468, 0.996312612183, 0.996820299291, 0.997290456679, 0.997723066644, 0.9981181129, 0.998475580573, 0.998795456205, 0.999077727753, 0.999322384588, 0.999529417501, 0.999698818696, 0.999830581796, 0.999924701839, 0.999981175283, 1.0, 0.999981175283, 0.999924701839, 0.999830581796, 0.999698818696, 0.999529417501, 0.999322384588, 0.999077727753, 0.998795456205, 0.998475580573, 0.9981181129, 0.997723066644, 0.997290456679, 0.996820299291, 0.996312612183, 0.995767414468, 0.995184726672, 0.994564570734, 0.993906970002, 0.993211949235, 0.992479534599, 0.991709753669, 0.990902635428, 0.990058210262, 0.989176509965, 0.988257567731, 0.987301418158, 0.986308097245, 0.985277642389, 0.984210092387, 0.983105487431, 0.98196386911, 0.980785280403, 0.979569765685, 0.97831737072, 0.977028142658, 0.975702130039, 0.974339382786, 0.972939952206, 0.971503890986, 0.970031253195, 0.968522094274, 0.966976471045, 0.965394441698, 0.963776065795, 0.962121404269, 0.960430519416, 0.958703474896, 0.956940335732, 0.955141168306, 0.953306040354, 0.951435020969, 0.949528180593, 0.947585591018, 0.945607325381, 0.943593458162, 0.941544065183, 0.939459223602, 0.937339011913, 0.935183509939, 0.932992798835, 0.930766961079, 0.928506080473, 0.926210242138, 0.923879532511, 0.921514039342, 0.91911385169, 0.916679059921, 0.914209755704, 0.911706032005, 0.909167983091, 0.906595704515, 0.903989293123, 0.901348847046, 0.898674465694, 0.895966249756, 0.893224301196, 0.890448723245, 0.887639620403, 0.884797098431, 0.881921264348, 0.879012226429, 0.876070094195, 0.873094978418, 0.870086991109, 0.867046245516, 0.863972856122, 0.860866938638, 0.85772861, 0.854557988365, 0.851355193105, 0.848120344803, 0.84485356525, 0.841554977437, 0.838224705555, 0.834862874986, 0.831469612303, 0.828045045258, 0.824589302785, 0.821102514991, 0.817584813152, 0.814036329706, 0.810457198253, 0.806847553544, 0.803207531481, 0.799537269108, 0.795836904609, 0.7921065773, 0.788346427627, 0.784556597156, 0.780737228572, 0.776888465673, 0.773010453363, 0.769103337646, 0.765167265622, 0.761202385484, 0.757208846506, 0.753186799044, 0.749136394523, 0.745057785441, 0.740951125355, 0.736816568877, 0.732654271672, 0.728464390448, 0.724247082951, 0.720002507961, 0.715730825284, 0.711432195745, 0.707106781187, 0.702754744457, 0.698376249409, 0.69397146089, 0.689540544737, 0.685083667773, 0.680600997795, 0.676092703575, 0.671558954847, 0.666999922304, 0.66241577759, 0.657806693297, 0.653172842954, 0.648514401022, 0.64383154289, 0.639124444864, 0.634393284164, 0.629638238915, 0.624859488142, 0.620057211763, 0.615231590581, 0.610382806276, 0.605511041404, 0.600616479384, 0.595699304492, 0.590759701859, 0.585797857456, 0.580813958096, 0.575808191418, 0.570780745887, 0.565731810784, 0.560661576197, 0.55557023302, 0.550457972937, 0.545324988422, 0.54017147273, 0.534997619887, 0.529803624686, 0.524589682678, 0.519355990166, 0.514102744193, 0.508830142543, 0.503538383726, 0.498227666973, 0.49289819223, 0.487550160148, 0.482183772079, 0.476799230063, 0.471396736826, 0.465976495768, 0.460538710958, 0.455083587126, 0.449611329655, 0.44412214457, 0.438616238539, 0.433093818853, 0.42755509343, 0.4220002708, 0.416429560098, 0.410843171058, 0.405241314005, 0.399624199846, 0.393992040061, 0.388345046699, 0.382683432365, 0.377007410216, 0.371317193952, 0.365612997805, 0.359895036535, 0.35416352542, 0.348418680249, 0.342660717312, 0.336889853392, 0.33110630576, 0.325310292162, 0.319502030816, 0.313681740399, 0.307849640042, 0.302005949319, 0.296150888244, 0.290284677254, 0.284407537211, 0.278519689385, 0.27262135545, 0.266712757475, 0.260794117915, 0.254865659605, 0.248927605746, 0.242980179903, 0.237023605994, 0.231058108281, 0.22508391136, 0.219101240157, 0.213110319916, 0.207111376192, 0.201104634842, 0.195090322016, 0.18906866415, 0.183039887955, 0.177004220412, 0.17096188876, 0.16491312049, 0.158858143334, 0.152797185258, 0.146730474455, 0.140658239333, 0.134580708507, 0.128498110794, 0.122410675199, 0.116318630912, 0.110222207294, 0.104121633872, 0.0980171403296, 0.0919089564971, 0.0857973123444, 0.0796824379714, 0.0735645635997, 0.0674439195637, 0.0613207363022, 0.0551952443497, 0.0490676743274, 0.0429382569349, 0.0368072229414, 0.0306748031766, 0.0245412285229, 0.0184067299058, 0.0122715382857, 0.00613588464915 };
diff --git a/benchmarks/vec-fft/fft_gaussian_float.c b/benchmarks/vec-fft/fft_gaussian_float.c
deleted file mode 100644
index be531a8..0000000
--- a/benchmarks/vec-fft/fft_gaussian_float.c
+++ /dev/null
@@ -1,8 +0,0 @@
-// See LICENSE for license details.
-
-float input_data_real[ 1024 ] = { 0.639426798458, 0.0250107552227, 0.275029318369, 0.223210738149, 0.736471214164, 0.676699487423, 0.892179567705, 0.0869388326294, 0.421921819685, 0.0297972194381, 0.218637974804, 0.505355288103, 0.0265359696839, 0.198837650687, 0.64988443778, 0.544941480603, 0.220440622041, 0.589265683876, 0.809430456678, 0.00649875967806, 0.805819251833, 0.698139394988, 0.340250516518, 0.155479499812, 0.957213072207, 0.336594545113, 0.0927458433801, 0.0967163768335, 0.847494366347, 0.603726031367, 0.807128273274, 0.729731786694, 0.536228091455, 0.973115763979, 0.378534377208, 0.552040631273, 0.829404664253, 0.618519752364, 0.861706900311, 0.577352145257, 0.704571836215, 0.0458243836557, 0.227898275652, 0.289387963602, 0.0797919769236, 0.232790886361, 0.10100142941, 0.27797360311, 0.635684444264, 0.36483217897, 0.370180967117, 0.209507030771, 0.266977822049, 0.936654587712, 0.648035385247, 0.609131005667, 0.171138648198, 0.72912679795, 0.163402493762, 0.379455441758, 0.989523350637, 0.639999759854, 0.556949743775, 0.68461425099, 0.84285192019, 0.775999911546, 0.229048071964, 0.032100243904, 0.315453048059, 0.267740875976, 0.210982843586, 0.942909714335, 0.876367626473, 0.314677880798, 0.655438665295, 0.395631901061, 0.914547589741, 0.458851852587, 0.264880166498, 0.246627507694, 0.561368134163, 0.262741608523, 0.584585990224, 0.897822883602, 0.39940050514, 0.219320759157, 0.997537606495, 0.509526293676, 0.0909094121738, 0.0471163754247, 0.109649130351, 0.627446041703, 0.792079364363, 0.4221599668, 0.063527706152, 0.381619286507, 0.99612138024, 0.529114345099, 0.971078377614, 0.860779702234, 0.0114810219428, 0.72072181936, 0.681710369027, 0.536970330409, 0.266825189953, 0.64096179858, 0.111552173596, 0.434765250669, 0.453723706329, 0.953815927521, 0.875852940378, 0.263389050751, 0.50058611305, 0.17865188053, 0.912627839345, 0.870518569837, 0.298444791449, 0.638949494866, 0.608970211438, 0.15283926855, 0.762510800075, 0.53937903012, 0.778626478631, 0.530353672195, 0.000571896127944, 0.324156057005, 0.0194767423858, 0.929098616265, 0.878721877823, 0.831665529361, 0.307514125403, 0.0579251664942, 0.878009599204, 0.946949445298, 0.0856534520679, 0.485990463317, 0.0692125184684, 0.760602165257, 0.765834429307, 0.1283914645, 0.475282378099, 0.549803593495, 0.26505662894, 0.872433041085, 0.423137940201, 0.211798205442, 0.539296088779, 0.72993106909, 0.20115106339, 0.311716291301, 0.995149356661, 0.649878057639, 0.438100083915, 0.517575841036, 0.121004195868, 0.224697337032, 0.338085562147, 0.588308718457, 0.230114732597, 0.220217384452, 0.070993086009, 0.63110295727, 0.228941783811, 0.905420013006, 0.859635400254, 0.0708573498887, 0.238004634369, 0.668977778296, 0.21423680737, 0.132311848725, 0.935514240581, 0.571043093325, 0.472671026312, 0.784619424291, 0.807496997767, 0.190409914362, 0.0969308142288, 0.431051182406, 0.42357862302, 0.467024668037, 0.72907584946, 0.673364547293, 0.984165211366, 0.098417871152, 0.402621282102, 0.339302605395, 0.861672536353, 0.24865633392, 0.190208908441, 0.448613547833, 0.421881639834, 0.278545144667, 0.249806447882, 0.923265599276, 0.443130745053, 0.861349104762, 0.55032531245, 0.0505883295249, 0.999282468413, 0.83602758508, 0.968996257285, 0.926366983008, 0.848695734414, 0.166311110604, 0.485641125451, 0.213747299199, 0.401040292549, 0.0586353999722, 0.378973118977, 0.98530884378, 0.265203058172, 0.784070601949, 0.455008367339, 0.42300748599, 0.95731764086, 0.995422689493, 0.555768323406, 0.718408275296, 0.154796825274, 0.296707825495, 0.968709364969, 0.579180290816, 0.542195201374, 0.747975560379, 0.0571652729075, 0.584177594459, 0.50285038292, 0.852719892048, 0.157432727939, 0.960778903274, 0.0801114652406, 0.185824960981, 0.59503510645, 0.675212553604, 0.235203895001, 0.119886613947, 0.890287314129, 0.246215347789, 0.594519153533, 0.619381510332, 0.419224915336, 0.583672289291, 0.522782715532, 0.934706257736, 0.204259199424, 0.716191800789, 0.238685952616, 0.395785846791, 0.67169022296, 0.299997079799, 0.316177196272, 0.751864492414, 0.0725431144932, 0.458285522619, 0.998454440854, 0.996096447855, 0.0732607210996, 0.213154312267, 0.26520041475, 0.933259377994, 0.880864173686, 0.879270242485, 0.369527088739, 0.157746832357, 0.83374495464, 0.703539925087, 0.611677765726, 0.987233063632, 0.653976317711, 0.00782310715216, 0.817104135115, 0.2993787522, 0.663388714966, 0.938930003927, 0.134291114393, 0.115428670419, 0.107035977709, 0.553223640885, 0.272348212315, 0.60482982703, 0.717612187139, 0.203597312327, 0.634237958885, 0.26398390163, 0.488531852149, 0.905336491079, 0.846103713295, 0.0922984677127, 0.423575772564, 0.276680223972, 0.00354568908778, 0.77111922302, 0.637113377301, 0.261955262434, 0.741230908348, 0.551680421126, 0.427686918981, 0.00966969960834, 0.0752438600738, 0.8831063933, 0.90392857156, 0.545590289206, 0.834595019886, 0.58250956649, 0.148093785567, 0.127445519282, 0.30825834993, 0.898981488743, 0.796122304888, 0.860702582001, 0.898924636526, 0.21007653834, 0.249529739223, 0.102793621672, 0.780116241871, 0.884134701451, 0.406377389832, 0.620661510151, 0.154553338332, 0.929881015694, 0.86460569622, 0.976206032931, 0.81077171994, 0.881416204663, 0.0247863618982, 0.736564471755, 0.332185467946, 0.930815886048, 0.802235138937, 0.864064028375, 0.810749316574, 0.266805709594, 0.787374509135, 0.108095626403, 0.872166782906, 0.858593251338, 0.222433717546, 0.816586605597, 0.460303234679, 0.305190867339, 0.795345499153, 0.227595487408, 0.0236644347015, 0.193129788328, 0.328261951198, 0.86435294203, 0.966889104048, 0.279124992722, 0.641481738608, 0.39967838436, 0.981149687198, 0.536215732479, 0.939237140325, 0.115341751851, 0.970400611022, 0.178567816172, 0.962534315762, 0.265466362523, 0.108402547215, 0.434563758565, 0.728545060653, 0.313677314195, 0.606208853306, 0.511423059669, 0.385195433345, 0.576588043497, 0.254722506139, 0.708785283834, 0.00169127821863, 0.925575165499, 0.538451997093, 0.719429999145, 0.741950077839, 0.670628504433, 0.364221471781, 0.0699738111263, 0.664237684911, 0.330200036043, 0.313915645058, 0.848015279506, 0.719754263014, 0.300322268211, 0.309284662209, 0.408392908619, 0.402400387058, 0.295655202526, 0.127287799059, 0.420446333773, 0.94036367073, 0.677317945273, 0.902805545733, 0.615514915951, 0.300949874566, 0.547937213136, 0.000405939697288, 0.286913716869, 0.42988814999, 0.579984781196, 0.654705623703, 0.464988190247, 0.442159799305, 0.213701400989, 0.473186185909, 0.901180825828, 0.796024760127, 0.169691396198, 0.0847955367251, 0.515452009915, 0.632940855766, 0.33518825541, 0.818423464537, 0.751138137541, 0.672795670557, 0.224640665997, 0.199129932727, 0.0244253877268, 0.244842544078, 0.475136344219, 0.849737694625, 0.0728282291846, 0.414441010998, 0.629765380738, 0.19443523674, 0.696354250491, 0.49437716901, 0.243984439578, 0.656058011112, 0.00554481813803, 0.750964476618, 0.770046188574, 0.106587296564, 0.425146193943, 0.175886681707, 0.95796604228, 0.517957750444, 0.0502183851406, 0.24919827966, 0.848336347352, 0.45646182547, 0.801416601722, 0.667577732586, 0.987892453066, 0.595452318469, 0.950039608443, 0.89142592581, 0.612652322762, 0.719273961276, 0.504778164824, 0.830569169721, 0.547871950611, 0.897208103233, 0.74365544216, 0.474674436823, 0.259191548465, 0.24723973751, 0.637661436776, 0.765813684297, 0.521299812828, 0.626748436982, 0.274597446918, 0.0774833538647, 0.285728150863, 0.271715107082, 0.319709568419, 0.540152222518, 0.138374061516, 0.231261479728, 0.693949812299, 0.706419141695, 0.0642288507139, 0.407599369667, 0.542611140504, 0.415774234103, 0.206834389514, 0.420143517773, 0.90483847834, 0.584079414204, 0.695522986498, 0.856732032304, 0.765594576118, 0.380381028928, 0.00589608358399, 0.351758802672, 0.753475125059, 0.853447950569, 0.95343033847, 0.41902128263, 0.747515668978, 0.546132309734, 0.603252588941, 0.220538694324, 0.219421634621, 0.435835976047, 0.0290248199467, 0.336129543698, 0.679141885028, 0.404316669138, 0.165044731204, 0.467390149232, 0.127627797281, 0.622256960974, 0.0269664519051, 0.39402025634, 0.564391983025, 0.0271020463403, 0.642749648009, 0.135699487231, 0.461698444052, 0.0502846334886, 0.379103864188, 0.211660284211, 0.326845804881, 0.761229707894, 0.379126215564, 0.752009823555, 0.831924285155, 0.252271531782, 0.0819062327616, 0.01938328705, 0.539419047923, 0.999907828509, 0.34996034372, 0.65014409325, 0.781233049611, 0.651754655244, 0.75423320406, 0.949611732716, 0.199360682363, 0.0203800173203, 0.152382345785, 0.126220974874, 0.66945884462, 0.56396958193, 0.217964540907, 0.699464971246, 0.766898098356, 0.167789143368, 0.607247493891, 0.747925651955, 0.114532871379, 0.819301174311, 0.964720773034, 0.108098749658, 0.0256784254975, 0.311957244395, 0.67734728685, 0.958172838206, 0.396654441517, 0.715014705049, 0.0759964778431, 0.690614415933, 0.627242395601, 0.101901305446, 0.772480884951, 0.850293239089, 0.600411614817, 0.121055065067, 0.983844351515, 0.782635346361, 0.347203765308, 0.428378013235, 0.370570876218, 0.505960789677, 0.341231174861, 0.849575627, 0.82233091809, 0.105538870644, 0.960787567215, 0.635585106101, 0.828707311002, 0.707308643706, 0.435487145008, 0.733795304013, 0.965473731238, 0.270082396387, 0.808199218807, 0.538172906448, 0.483497503883, 0.435574493004, 0.731026214305, 0.268395538049, 0.851713160019, 0.830731018891, 0.0866628980557, 0.881631184003, 0.243863439191, 0.464708466603, 0.610331704231, 0.378989304128, 0.0286999977701, 0.850952836312, 0.181839857158, 0.21211985018, 0.797832356828, 0.340338843164, 0.880319979758, 0.701183750332, 0.276268575756, 0.0101511144387, 0.948062577777, 0.085612961958, 0.720074664104, 0.488577846849, 0.758164653482, 0.690609339447, 0.645902899741, 0.490821335079, 0.792932868132, 0.0930533505547, 0.221596400473, 0.691787155295, 0.30620603013, 0.581555585332, 0.47326048876, 0.530921931146, 0.425503812705, 0.745935436714, 0.330791297196, 0.702854942186, 0.270916426976, 0.251403676201, 0.120655884752, 0.192584293452, 0.119554741255, 0.535863965384, 0.762189609484, 0.185149842438, 0.216384639879, 0.484198587213, 0.724585001093, 0.976607022883, 0.524636869109, 0.282998703275, 0.100526108091, 0.194117578091, 0.227483163483, 0.179441543685, 0.0141483672561, 0.534135089268, 0.274311326783, 0.974294931103, 0.553358966799, 0.69741739291, 0.126279492958, 0.868461197263, 0.490878694524, 0.872719734999, 0.574064219626, 0.469396944931, 0.440468798136, 0.18436367039, 0.0513767171836, 0.941063596768, 0.477729187266, 0.822115645299, 0.400707442252, 0.0740821702556, 0.629445706952, 0.0536090742925, 0.149197584474, 0.562839597085, 0.303835511842, 0.99391812271, 0.118451562211, 0.764443445326, 0.606317651243, 0.790740829843, 0.225687137065, 0.52257253513, 0.450514464889, 0.442721004019, 0.860166665826, 0.990031260467, 0.305380244319, 0.621027321072, 0.609630912245, 0.740089305485, 0.947590200325, 0.207787905824, 0.211025195305, 0.660428137192, 0.157057093381, 0.173813548326, 0.0750648689012, 0.00267572260289, 0.450503704618, 0.59381119512, 0.291259289031, 0.231476234556, 0.706955829879, 0.702987558094, 0.454031326407, 0.687384920071, 0.923911044483, 0.787828026647, 0.625058007164, 0.661183042853, 0.933668458446, 0.425138966104, 0.544562378711, 0.647634723402, 0.908411445213, 0.82663115965, 0.0714098368558, 0.165922789221, 0.307611812614, 0.74895772207, 0.569207049319, 0.288610588306, 0.124353658175, 0.688677991212, 0.699733684976, 0.942676240744, 0.500472177118, 0.493795219345, 0.0804418518993, 0.0398607841836, 0.432028664161, 0.322321583358, 0.250367902412, 0.091326886631, 0.961911102193, 0.835958613906, 0.57519910922, 0.950786277806, 0.999572416877, 0.672281584303, 0.269511025967, 0.0402316731446, 0.756268830413, 0.470500823252, 0.651509489434, 0.916072787927, 0.181489147223, 0.585329625278, 0.634784719454, 0.491725802191, 0.0912424062938, 0.347961056295, 0.333308393665, 0.670133509521, 0.8577330944, 0.329803663579, 0.693673673983, 0.288217795361, 0.945193539563, 0.813566034738, 0.550096608972, 0.454825908602, 0.31451715717, 0.323273786276, 0.970184726809, 0.404175057001, 0.514596252329, 0.988119214782, 0.657660386483, 0.542593594357, 0.413247570799, 0.187582541395, 0.361779359152, 0.756443154056, 0.625408742145, 0.759990536061, 0.20355823835, 0.549219639085, 0.927672760844, 0.438116095072, 0.698250029122, 0.121426083363, 0.973146815822, 0.608871667082, 0.239297462328, 0.158378163805, 0.550839007003, 0.552251409054, 0.0932092012815, 0.992257139395, 0.912929878484, 0.461447894179, 0.11746614909, 0.832143173769, 0.498375504707, 0.716603325992, 0.50887201507, 0.273424896713, 0.834723945577, 0.980244632603, 0.243730906075, 0.55126507688, 0.383586013247, 0.921868149932, 0.508240891593, 0.879326255146, 0.864026934429, 0.276247402822, 0.790006182003, 0.414942423551, 0.934248393683, 0.50773767581, 0.820549473186, 0.282838983283, 0.298555849772, 0.586937722414, 0.998902333229, 0.489640346656, 0.148595418383, 0.538580577704, 0.345123941693, 0.551917417071, 0.543430062959, 0.455344616867, 0.321777350229, 0.188652373707, 0.697498427621, 0.571797641985, 0.233562446058, 0.775544475099, 0.0436472990973, 0.744705151565, 0.705227881025, 0.811408902565, 0.386078752491, 0.663688829485, 0.82074755171, 0.98081813866, 0.495328649616, 0.0370196113456, 0.502291150133, 0.59018042931, 0.869700313362, 0.874190374054, 0.440306209771, 0.525951086808, 0.456928074474, 0.722443827571, 0.409978619746, 0.654781326428, 0.154361218772, 0.469490600985, 0.969203630574, 0.338561234051, 0.692704598587, 0.649836652579, 0.851765292351, 0.852341336566, 0.859342184168, 0.380009397523, 0.316661153933, 0.718717425223, 0.759401809334, 0.872383017399, 0.0358990998377, 0.0684207471816, 0.631161016855, 0.92092909878, 0.997425922956, 0.746766366738, 0.433971471923, 0.0984431263832, 0.633747828781, 0.872579232607, 0.443678551662, 0.694001162793, 0.90342406205, 0.0459909686772, 0.796143465162, 0.293367775965, 0.374841089775, 0.145569795699, 0.531166318149, 0.565928061916, 0.792519473881, 0.169983649068, 0.07896835066, 0.870839598645, 0.619710368537, 0.240829791856, 0.912829016024, 0.143117720129, 0.461149913355, 0.253977339414, 0.255326708159, 0.00939743145487, 0.804633076975, 0.901209423599, 0.677610885699, 0.157975622072, 0.441729783604, 0.345565624443, 0.587571705126, 0.63893870236, 0.424308938461, 0.250098224408, 0.845303925143, 0.199216999109, 0.384693248967, 0.483208061059, 0.237205701928, 0.571922692351, 0.574811930179, 0.992692043627, 0.295230753883, 0.977944484577, 0.658229815929, 0.274480380178, 0.565929016956, 0.685799492734, 0.744668841165, 0.049044250776, 0.606406493076, 0.496727286524, 0.904155290894, 0.286194151459, 0.798860119508, 0.607064998164, 0.352320955835, 0.636617878006, 0.62089116313, 0.677764458623, 0.720928376671, 0.659181540317, 0.838337116963, 0.628248103687, 0.903403704073, 0.646340608891, 0.308932883953, 0.440823190163, 0.579573805368, 0.732359767939, 0.0901333757462, 0.295110451629, 0.747480864938, 0.175640070444, 0.132159797747, 0.539407758984, 0.971489581211, 0.530852373703, 0.913486974482, 0.830472619567, 0.256970084563, 0.824689812542, 0.481847829874, 0.806488493794, 0.746559350717, 0.338715253802, 0.11516970745, 0.962893292869, 0.140757015006, 0.966500209463, 0.860140596899, 0.724216712076, 0.979942242782, 0.9672697473, 0.804587644021, 0.365775049406, 0.790681968589, 0.0139186551009, 0.536572308269, 0.454786027734, 0.672828381874, 0.672340797351, 0.584560091652, 0.822417301227, 0.94029189178, 0.108346102199, 0.233821902212, 0.0250246496465, 0.884234845215, 0.56140738225, 0.915255908743, 0.221367200074, 0.0632170411602, 0.82385535139, 0.909387638428, 0.302190174529, 0.408295855795, 0.139777012507, 0.946261532882, 0.304364584356, 0.492624618978, 0.0971919986218, 0.887259308529, 0.135664048706, 0.453643756889, 0.67048621885, 0.743140121523, 0.945974085779, 0.419126753415, 0.742269014765, 0.15452290241, 0.414884527437, 0.0990216347105, 0.48934703779, 0.408115885698, 0.951521525381, 0.032716286855, 0.370529958734, 0.443383086061, 0.950555169851, 0.855450193306, 0.0993546246061, 0.685680265481, 0.544465861482, 0.977842529452, 0.358673841212, 0.398139642744, 0.189808562161, 0.122159719087, 0.848033188464, 0.454717368571, 0.662768738062, 0.641704467233, 0.59714595952, 0.0213574547364, 0.786794590455, 0.243568897164, 0.125923885308, 0.564577975908, 0.0686101528244, 0.765157375889, 0.207157370347, 0.215951351919, 0.86969542677, 0.328559553432 };
-float input_data_imag[ 1024 ] = { 0.147554179941, 0.900531035632, 0.00283555148002, 0.85840612638, 0.144687980321, 0.129992131443, 0.250654196728, 0.174497120901, 0.661057642597, 0.0257801497862, 0.0148603272307, 0.789984664235, 0.23793160609, 0.323771461962, 0.174246201406, 0.0523990178612, 0.741718056954, 0.526085526598, 0.745665275034, 0.476245965423, 0.778017039314, 0.513237957609, 0.109054010004, 0.503838689786, 0.94541564297, 0.0433650368992, 0.78322699598, 0.86698090776, 0.521451214713, 0.458042522098, 0.964026183122, 0.0608254074945, 0.478981910998, 0.401617254513, 0.686097496062, 0.490268854144, 0.909700829115, 0.0734907157665, 0.0807904774108, 0.608297423633, 0.0656822333201, 0.275015999558, 0.633076724301, 0.548356434048, 0.325185443319, 0.994627755861, 0.530556837431, 0.453715417575, 0.605426791535, 0.099178461679, 0.701779418546, 0.852792737296, 0.650916664881, 0.768962730105, 0.720839916658, 0.215023066327, 0.451554915965, 0.228493574365, 0.338931618835, 0.453498902907, 0.415989650261, 0.0950858392756, 0.426764006261, 0.66510786306, 0.374301023436, 0.152638924769, 0.922985035734, 0.0671333081366, 0.831771888475, 0.0932301017037, 0.0965644325658, 0.738795998489, 0.811769285277, 0.556370735615, 0.586465082739, 0.561586413992, 0.329645981416, 0.122231285355, 0.353598079634, 0.665340520003, 0.750284250251, 0.868092148869, 0.721060678746, 0.968398625311, 0.600410091225, 0.351646185693, 0.57791851839, 0.212738805672, 0.656736302988, 0.224244869108, 0.108218381927, 0.845373418601, 0.367561050615, 0.762605631937, 0.574100004331, 0.807221371152, 0.845155161328, 0.974546602126, 0.818426859541, 0.613573280535, 0.64269916383, 0.0262538314536, 0.929084290995, 0.82946078996, 0.267447725154, 0.180416071961, 0.702698772866, 0.30898468883, 0.339824656777, 0.00610578940366, 0.869862706536, 0.566321094761, 0.400784344, 0.141874654151, 0.633172012656, 0.0306570983809, 0.746111762006, 0.215132880034, 0.419832493765, 0.340895981769, 0.370053092477, 0.721595967743, 0.776835619967, 0.567593556614, 0.0849570399772, 0.0526088264255, 0.157409897107, 0.617838181926, 0.673968710613, 0.272102843546, 0.661938692808, 0.485661704891, 0.442044186698, 0.273166844365, 0.754943143668, 0.11381750811, 0.429913633398, 0.28324647008, 0.67848625476, 0.486632753364, 0.667132558736, 0.0454173626044, 0.395263396088, 0.599324956944, 0.00768708589988, 0.301419362018, 0.21123397922, 0.137234805257, 0.255519504021, 0.328122355938, 0.00772990656931, 0.74701412343, 0.175694801876, 0.380207445715, 0.703671263383, 0.500262346556, 0.83335420242, 0.806200186567, 0.0720754965922, 0.861764362023, 0.0423022615628, 0.0187415365856, 0.921162434502, 0.862110013612, 0.575759160737, 0.573399680886, 0.709498961569, 0.417693959843, 0.115173372664, 0.0208565590247, 0.324768179446, 0.80132215431, 0.618125263304, 0.832025913072, 0.919769751741, 0.0881298812979, 0.844484359815, 0.243316474823, 0.588871288303, 0.523962543001, 0.395766696859, 0.310274561836, 0.339513281148, 0.333068622493, 0.168132708046, 0.510483284542, 0.114026639839, 0.509952062323, 0.90592273158, 0.349375265472, 0.727379105674, 0.818948601525, 0.81503700575, 0.236268848947, 0.146444218278, 0.197271802824, 0.602398985273, 0.760215295547, 0.655509010519, 0.177146128947, 0.772848089248, 0.494117025017, 0.754445825247, 0.759877149608, 0.448905256995, 0.924154258386, 0.564491783403, 0.635298319061, 0.624521779442, 0.864246874831, 0.6272174069, 0.150957401393, 0.0682862584958, 0.442208063836, 0.302820435139, 0.274673667486, 0.0561721202131, 0.50733688529, 0.310407850606, 0.451913863701, 0.056890050834, 0.831696631663, 0.0767310011735, 0.864250033925, 0.855293371456, 0.615008388416, 0.507067817334, 0.462711658927, 0.554316371338, 0.791817797265, 0.895876765557, 0.449733703651, 0.809815917698, 0.651837454649, 0.32152676288, 0.475629027943, 0.150861076696, 0.0618737001011, 0.10350187727, 0.899126833956, 0.343437775838, 0.714315549167, 0.504549001501, 0.172558911436, 0.247743723598, 0.437758274309, 0.439421791763, 0.522748035266, 0.158746207982, 0.372851982101, 0.282893578614, 0.408769397247, 0.338367146841, 0.597885862383, 0.789226931564, 0.647305356969, 0.0659118542797, 0.0945059475151, 0.67837934484, 0.284146973878, 0.723733655002, 0.65656408641, 0.906342697164, 0.873279662061, 0.333362036061, 0.582739514586, 0.141428380584, 0.349820787536, 0.967696507693, 0.698479962812, 0.391957984335, 0.595041228152, 0.938002199566, 0.309581887416, 0.376679306056, 0.791661957864, 0.813184783815, 0.670116399995, 0.828958972894, 0.738774672129, 0.685414440278, 0.526393339734, 0.646024820733, 0.423406366322, 0.361828096347, 0.362597668982, 0.180262922877, 0.214192661209, 0.947668267534, 0.486270920873, 0.226543046534, 0.137565353177, 0.0771650843009, 0.844428388686, 0.101140763668, 0.770874720363, 0.835119826635, 0.883682165493, 0.0377474923576, 0.336764371964, 0.766307604447, 0.13104904143, 0.376719870823, 0.162247212088, 0.831345056689, 0.771097813731, 0.809043719639, 0.165539165744, 0.437673405138, 0.410858611497, 0.676362922189, 0.237530201447, 0.444198709805, 0.284927932563, 0.748536518095, 0.448927963033, 0.534011149698, 0.309467896563, 0.808623871091, 0.469015605032, 0.835113392726, 0.367840958225, 0.947130170244, 0.984439793532, 0.461679978441, 0.281771732704, 0.381872434191, 0.527459788461, 0.966268153206, 0.816891239581, 0.801259224152, 0.138398534603, 0.250003211589, 0.641179036204, 0.874116945052, 0.554540745424, 0.102589731748, 0.845892276733, 0.851166048085, 0.285063014059, 0.763116830292, 0.272791299591, 0.905306208978, 0.147348655992, 0.437472560195, 0.946413263012, 0.222038006907, 0.451127990221, 0.349585078139, 0.0266701908029, 0.0532568871711, 0.502007114693, 0.235778073863, 0.994525351238, 0.374912673418, 0.0281875455282, 0.93082590475, 0.839176287612, 0.649960684294, 0.791380637482, 0.137599587726, 0.286879397313, 0.829761583153, 0.696071988576, 0.138792691818, 0.705536175289, 0.448601473982, 0.00525119830562, 0.0792257712707, 0.255923928437, 0.834963099282, 0.548804245444, 0.727234785325, 0.527771505887, 0.111186860324, 0.288101578039, 0.301151194586, 0.0477494466189, 0.419825543753, 0.793899108639, 0.457113616636, 0.11085789529, 0.905146885662, 0.596739042819, 0.0164353522059, 0.515375730209, 0.241938134421, 0.143576840246, 0.429238893103, 0.614809582776, 0.240564238807, 0.416567595209, 0.664371301742, 0.0856139549873, 0.974654490952, 0.0676793229088, 0.526059445322, 0.50732769658, 0.988331485596, 0.554151952418, 0.39045373256, 0.470135078158, 0.635670791469, 0.981039422552, 0.253650261069, 0.0162422311089, 0.78852001628, 0.344802493163, 0.732941021451, 0.628256962476, 0.77150137411, 0.735186984812, 0.332518608372, 0.0443356882952, 0.546013745208, 0.813508865556, 0.175089127052, 0.779142593478, 0.464622899747, 0.695389251996, 0.631735847758, 0.811497681848, 0.0631005370322, 0.776190399703, 0.457679577447, 0.293442571175, 0.0438062756591, 0.199469833715, 0.0419059419304, 0.93337097995, 0.515383589254, 0.989122702296, 0.543030697654, 0.253313765203, 0.753290918819, 0.191103430734, 0.356974176035, 0.780841566978, 0.865798277078, 0.331924686381, 0.124475008244, 0.368019174315, 0.889486517012, 0.74330770552, 0.894637494955, 0.386644768261, 0.973723584315, 0.496203226537, 0.497523392494, 0.924310466627, 0.519275853535, 0.801148087402, 0.727081324343, 0.0789270060555, 0.60245329883, 0.82234127954, 0.545474397345, 0.321211428215, 0.080068911075, 0.660919221458, 0.306495856091, 0.602621627731, 0.426116072883, 0.689764808445, 0.351546983772, 0.0423551628501, 0.870037175056, 0.352559310308, 0.998150597773, 0.274555360075, 0.980027279194, 0.947904378603, 0.0750411649882, 0.637512537883, 0.363311130651, 0.801095975562, 0.679410607815, 0.95278939628, 0.142779468363, 0.607572903321, 0.781311969743, 0.0347989657985, 0.0672333630621, 0.778515373507, 0.366328473107, 0.382854401689, 0.567244641724, 0.605094828855, 0.679062056913, 0.948823529266, 0.372013378471, 0.763084471799, 0.573921778334, 0.529459881536, 0.398034045952, 0.649560736706, 0.249611653093, 0.113448612585, 0.735674859479, 0.499043960256, 0.386987380039, 0.56167271076, 0.261776676587, 0.26028977114, 0.446273112406, 0.996365112155, 0.285576877698, 0.916478909542, 0.491200195254, 0.122637421904, 0.852826290384, 0.452042685245, 0.898679030786, 0.445111192742, 0.0877907411047, 0.681929260251, 0.845521218975, 0.3195877721, 0.347425294739, 0.0649390783161, 0.542171361226, 0.891331682354, 0.851362050753, 0.711809104007, 0.927324456723, 0.637700022564, 0.793696383845, 0.508755745174, 0.121362455078, 0.200980371178, 0.138876872038, 0.790373060808, 0.0262840268083, 0.55402143726, 0.368911165501, 0.803661726289, 0.551646933926, 0.611948362621, 0.0862154816519, 0.309290717528, 0.999595043934, 0.718869659891, 0.52569565483, 0.769164550375, 0.823339399508, 0.0737507129112, 0.972379731514, 0.642338589386, 0.449974495663, 0.68010899065, 0.344514780703, 0.87796015165, 0.780262928838, 0.639793929367, 0.181963136552, 0.966264613934, 0.432618286482, 0.910712270947, 0.0554128500178, 0.124161120639, 0.15301546681, 0.16465707989, 0.322660751155, 0.709332132529, 0.346023082342, 0.940904054932, 0.894925916821, 0.845933706156, 0.250605308982, 0.635057091388, 0.550841415483, 0.125170295127, 0.302824606109, 0.533478029768, 0.502573144741, 0.168635901748, 0.941606987869, 0.15419426688, 0.658732873384, 0.720632768437, 0.605138907862, 0.842530004113, 0.563618034431, 0.825236267327, 0.0283734878989, 0.0454618032913, 0.641453733824, 0.576771231477, 0.651129977486, 0.766959000916, 0.416586783663, 0.638991192209, 0.498038060136, 0.627164010298, 0.289671656802, 0.956650169954, 0.482944818175, 0.804688154216, 0.684990841196, 0.29743387143, 0.0729730255053, 0.0599130329347, 0.43960549992, 0.484251130107, 0.204023013563, 0.606660262821, 0.312582499247, 0.718362885112, 0.734199754805, 0.860777365754, 0.975374127915, 0.130766151552, 0.37054019805, 0.561651215748, 0.319115886403, 0.466472567041, 0.267471674454, 0.247918882526, 0.0968116525606, 0.29021200497, 0.384149833502, 0.615377444164, 0.248270280381, 0.865307501721, 0.15969966213, 0.327435820801, 0.577687037894, 0.312714920862, 0.763121375139, 0.49826554206, 0.514724839231, 0.498759708398, 0.308540482054, 0.0231762982164, 0.945232804069, 0.505444463024, 0.966686630552, 0.215144422526, 0.352895088856, 0.0505404046279, 0.494894203525, 0.882339476368, 0.65426003689, 0.470586853368, 0.536690749289, 0.847172365393, 0.430927769348, 0.882455730919, 0.727508063359, 0.763856764162, 0.365937352518, 0.400581621015, 0.570281643881, 0.194655301888, 0.553222926621, 0.0735317497428, 0.504255529123, 0.764404114707, 0.279720677624, 0.989090700621, 0.680398640119, 0.118811019724, 0.975082815414, 0.393903712729, 0.794897228381, 0.339085299953, 0.938948566955, 0.754965172293, 0.199057881552, 0.509122516225, 0.500077903571, 0.0453033524671, 0.137036373568, 0.333040705353, 0.473744150395, 0.456988559283, 0.606260522404, 0.515505732147, 0.327965847637, 0.613068121065, 0.162502045877, 0.990615737561, 0.739319360574, 0.299234342528, 0.336373452152, 0.828289385957, 0.532339829876, 0.708739806435, 0.299790564737, 0.815748833244, 0.368357809866, 0.673806392473, 0.979898031179, 0.583702141849, 0.79675481393, 0.725324212552, 0.688043651203, 0.0266471549638, 0.474590214085, 0.967070696172, 0.782903991431, 0.776162025172, 0.577634395864, 0.721400112296, 0.583523277048, 0.170512061747, 0.629025241145, 0.619735805501, 0.841167124958, 0.1477757083, 0.680726895051, 0.0315705133421, 0.948205170784, 0.109895521334, 0.0189373675066, 0.313692483446, 0.151431258119, 0.690500260919, 0.410377409323, 0.774972301807, 0.920520949897, 0.872817708912, 0.735837271269, 0.0622812860144, 0.138082485785, 0.207341704971, 0.325049534426, 0.662226799714, 0.5254771514, 0.313752598738, 0.173182423857, 0.912124160924, 0.342327017682, 0.354286988645, 0.771989784149, 0.720924561327, 0.643309099999, 0.69331331003, 0.610076580079, 0.192264169137, 0.246519135527, 0.558086650807, 0.224867037993, 0.972910627591, 0.297614565277, 0.289004137404, 0.207277794855, 0.70498825974, 0.317040745018, 0.348803174201, 0.933700374771, 0.795405356002, 0.273457536755, 0.121874105733, 0.676622245783, 0.379694185374, 0.980160537321, 0.818377460131, 0.954608863391, 0.804615833957, 0.290452651993, 0.287630341614, 0.714141287498, 0.346363514096, 0.442376111865, 0.256443975473, 0.479079263016, 0.202068007201, 0.538577923709, 0.933023933783, 0.696171300647, 0.137272954801, 0.615677034414, 0.586830498571, 0.24245803841, 0.669833964893, 0.531041489733, 0.637944573409, 0.0524911068395, 0.413301366048, 0.71735805625, 0.100544904777, 0.770766058098, 0.00518144640713, 0.55035256578, 0.92909968017, 0.406907451547, 0.935032098596, 0.878399621514, 0.477448520441, 0.199455974668, 0.963914038891, 0.321167702119, 0.64589791789, 0.907936958736, 0.0894607205115, 0.574133353175, 0.535152276894, 0.723117678242, 0.936669379751, 0.91322972567, 0.175064775481, 0.882244973165, 0.175788707539, 0.919634811851, 0.997171803089, 0.396994574278, 0.495383897322, 0.936608744778, 0.962131380083, 0.926039697896, 0.876743167918, 0.0092671684801, 0.567961868664, 0.107300690774, 0.982993888371, 0.28456165235, 0.989099470089, 0.543300483557, 0.493912420342, 0.938560501741, 0.851059738578, 0.468020769006, 0.192811398274, 0.11264676102, 0.16249426254, 0.458914471032, 0.25726488023, 0.186199069128, 0.736617895492, 0.790767664425, 0.567781222421, 0.757282750258, 0.175494913838, 0.856146504273, 0.897042761784, 0.826989825276, 0.51528065896, 0.0867377698484, 0.66925585341, 0.184781201047, 0.140611875634, 0.323601670085, 0.248047083667, 0.260785277065, 0.235521252802, 0.753756651781, 0.954034822655, 0.301945839692, 0.722882528401, 0.0114357341942, 0.65368336707, 0.692768590423, 0.0621243318005, 0.118224847804, 0.306806342004, 0.405416612968, 0.502520471238, 0.895118369816, 0.703557035102, 0.310977948385, 0.117415745845, 0.916130385851, 0.295037600156, 0.614625448144, 0.219128600935, 0.133568782197, 0.153185564689, 0.747734837151, 0.605738948089, 0.415845615431, 0.549234508818, 0.470828076879, 0.537517687693, 0.66409443934, 0.218411622657, 0.247465429309, 0.754739549725, 0.873135058488, 0.0818703064733, 0.446747977496, 0.703766125156, 0.0781027221474, 0.564168722273, 0.0617580475567, 0.547649248711, 0.505487056093, 0.572701674228, 0.149852381382, 0.328117637742, 0.520341541185, 0.116240022185, 0.205401485539, 0.583147678441, 0.0909416444517, 0.510375354033, 0.808692083177, 0.45343230018, 0.513247843202, 0.456798475712, 0.0577367809325, 0.462378305739, 0.806915352554, 0.723280079825, 0.395948709953, 0.816453225933, 0.745804482832, 0.578311265059, 0.0452898027278, 0.344528866562, 0.0637599121121, 0.994123660477, 0.934582798885, 0.0690191461603, 0.933775562585, 0.0317348710231, 0.408866935819, 0.768972062583, 0.765827682924, 0.978333284924, 0.645880818097, 0.420361938882, 0.992856598581, 0.382479618851, 0.869620285311, 0.906767311525, 0.375645533802, 0.682730354102, 0.661792538125, 0.539300263919, 0.653534098419, 0.347769887139, 0.178473629004, 0.537258486398, 0.528842539544, 0.727858140906, 0.222690215966, 0.00347329494491, 0.022735327322, 0.298362988703, 0.673499857777, 0.544445339025, 0.531933608497, 0.823360437376, 0.247512038504, 0.346159734988, 0.275649727795, 0.937410361135, 0.725023945909, 0.112844638766, 0.809478183539, 0.419240598492, 0.766053467514, 0.883756621845, 0.0156457963635, 0.20608162185, 0.100896713093, 0.0335762757543, 0.597784896732, 0.703286266865, 0.0486763212437, 0.74054107848, 0.402265350811, 0.234339278488, 0.217269210178, 0.86373024267, 0.0564440350245, 0.503895848941, 0.289263451354, 0.815786256763, 0.731517483116, 0.318903696369, 0.597917674277, 0.672531901437, 0.320665115393, 0.301764435144, 0.143260434163, 0.660212423811, 0.221042740446, 0.300500953757, 0.0609576371068, 0.948520255027, 0.879713890964, 0.911577665621, 0.625993137648, 0.427200582295, 0.495620787493, 0.972290235344, 0.941586409832, 0.671342524746, 0.785804595981, 0.318734457316, 0.416324633421, 0.149217607825, 0.376460188507, 0.754416097238, 0.473518820412, 0.84934093226, 0.300736418795, 0.707576797488, 0.805776159935, 0.914741173816, 0.562385949587, 0.967786188547, 0.557286758199, 0.134092751059, 0.24285851609, 0.20333673306, 0.646705851548, 0.922226104511, 0.84713338592, 0.0924639965269, 0.724584712307, 0.190481618431, 0.268461587855, 0.673671920635, 0.602922044989, 0.87362045849, 0.188163293933, 0.761696417537, 0.724305239852, 0.558850476273, 0.479394206471, 0.869473851525 };
-float output_data_real[ 1024 ] = { 523.339819046, -2.25302908212, -13.6281669096, -0.80619315498, -0.530026276956, -4.61942176839, -15.3890656376, -3.0913060525, -11.2804237404, 1.99387250637, -13.4091466836, -4.09537922666, -2.32245381054, -0.64832532284, -9.73667687407, -9.06594386518, 10.9668241754, -3.45541390314, -0.385557892975, -1.5693787719, -14.9361104082, -5.66587656353, -17.715522953, 1.17114033618, -8.0000550754, -2.69813152147, 6.46776849676, 5.82847924327, 6.36864326639, -11.4604071804, -1.94502670431, -1.29965751473, 9.96555961198, -17.6728067097, 0.558747943009, -2.13636750466, -5.40103429067, 2.21299623501, 6.30779448836, -15.274800562, -3.57404067061, 12.2855136836, 1.42858053935, -12.7703797658, -5.77711407326, -15.9385041121, 9.81315261269, 12.2999220423, -4.8845795721, 4.13254134413, -2.36796593852, 6.47175206967, 2.20243239151, 7.76650946603, -16.0451024828, 11.6051149242, 6.97855004663, -4.55588851949, -14.0775515689, 0.917378719286, -11.57332925, 5.43583632389, -1.24037435335, -1.01714644098, -3.17204619793, -0.968743494785, -13.7217839771, 18.117348241, 6.70087486842, 0.837543266277, -5.72502516431, -2.51079035409, -2.22933773533, 13.5957934661, -1.82248187106, -4.18577974683, 9.61244462198, -8.95651190197, 5.12501793077, -3.61159316886, 10.6470567404, 2.27092976986, -0.0827896650535, 5.50874293233, 7.33731902236, -2.94822920479, 3.91670085012, -16.7425658488, 5.0179945464, -11.713599987, -7.36612720367, -2.31339159954, -17.4146633541, -15.0787281324, 0.735615068694, 10.6787096792, -1.74662053045, -2.87977051903, 4.11229707267, -7.13004519893, 3.15294576203, -13.5065322624, 11.5554697347, 11.0551720774, -21.1109429596, -6.31675367637, -13.9481012236, -5.2479309573, 11.3818534919, -9.69120798387, 9.15997041226, -5.41868267967, 6.10171039384, -1.37509560649, 7.66322947892, -8.68542240579, 9.147981111, -18.262887187, -3.52019639509, 10.1440556833, -0.345591164593, -14.5981916828, 8.16769814775, -14.1702575208, -6.78170466623, 12.6927064711, 8.41024019164, 11.461314248, -8.25572360343, 6.65464555168, 3.07617698317, 4.22311151574, 4.21561422449, 20.54703981, 5.08203365767, -13.2867290596, 4.18334512326, 2.92294590961, 4.30019095423, 0.129794257549, -1.68914651643, -0.0441216512604, 0.799742445747, 3.7055524499, 13.3151504339, -5.36352809629, 6.37966591064, -3.26733547436, -8.38241501637, -17.4911917886, 1.69296723227, -12.9639911866, 4.47907548169, 2.22339201317, -5.99590099077, -11.7418486065, -24.4071199552, 12.943538646, 8.07081501288, -7.40333434291, 6.93800908458, -3.76115503048, 4.56867439411, 12.2657935523, -8.71070098935, -7.51509898975, -7.09604387498, 6.37115040803, -2.24526151697, 14.935076979, 4.12746162596, 11.1845803849, 1.9404937002, -7.99298471277, -21.569739492, -4.01176561996, 4.5444659373, 0.277298384199, -5.44957967534, -2.0520874358, -2.83396857543, 14.013157912, 3.33770001111, -15.7334864981, 15.929866936, 8.34316517803, -6.38972756559, 2.00666412991, -0.068013211758, 26.6388942369, 8.10213306678, 1.17811684207, -14.6849117564, 7.37450850342, 8.46112849842, 9.36178946446, -11.3646733656, -8.71053552884, -4.2241057277, 29.8348373812, 3.73772044572, 15.768902937, -6.42540800291, 15.6630657621, -10.932270682, 10.3506262793, 1.90282408301, -10.5136356229, -11.4445468029, 7.27309719693, 9.34589135464, 0.703716953688, -5.98949342887, 11.1221093369, 2.97844209831, 9.21370893117, 20.8753121238, -9.66716466095, -4.47077749851, -7.04508394114, 1.03164401125, -6.19998822626, 3.84935326632, 1.24899505755, -7.62342343114, 6.10823431141, -0.154318543253, -6.33938551055, -25.3376326449, -0.525787380384, -13.0502718768, -7.0974425784, 9.34509201089, 2.4758422549, -1.65468766696, 8.58010266138, 15.1573153552, 2.82021091072, -6.80785036054, 1.24792131136, -1.90507688987, 10.4497165234, 12.7431470321, -5.03265223978, -5.53173749138, -6.64891013269, 4.53880277599, -6.29032354847, 1.22878949443, -15.1803883384, 5.65667122151, -1.61094200518, -3.93388522011, 13.9359552058, 0.721061101985, -8.48163777509, -14.5029571154, 0.38870448995, -8.65823100584, 1.05538669802, 5.65423482084, 12.3796360364, -9.36598247279, -6.43583522755, -0.0599501770835, 5.8243135972, -16.5031706035, -10.3233921733, -9.16715101614, -11.4895608137, 13.2715816904, 1.41386869053, 4.36107566034, -7.89013206755, 9.61213095446, -12.9420175864, -2.70928277087, 12.2321759489, -6.5746312976, -5.77009892318, 6.87638926056, -0.838056927886, -11.410527574, -2.38068549491, 1.3429932681, 1.570869201, 7.77050574327, 1.00120457495, 12.653671588, -6.50713951566, -9.0157516339, 0.996272550324, 0.748772529975, -9.39314796374, 2.8112781953, 3.19905539975, -10.063653504, -3.24424962098, 1.91183056321, 4.73179732548, 0.692044118492, 0.518544836905, 4.49057710504, -6.67315308685, -8.12266907846, 1.48856600312, 4.36723192457, -1.49894108982, 0.767667455247, -3.46285611381, 0.939843019606, -1.16629942151, -1.37260262341, -1.59507907153, 13.1188978143, -1.38903341062, -10.9607019671, -1.52922889652, -3.96961033611, 9.21877442521, 4.74341372311, 1.97730233687, 4.72580730819, -6.53108554459, -10.6594718628, 8.60092081117, 4.64088988963, 0.372694746369, -4.47837214022, -0.950882075714, -2.23624187301, 17.7024719392, -16.1803045833, 0.643701740843, 4.58016010356, -3.26303394234, -0.767126947127, -15.0727153516, -9.90620302183, -11.3521592266, 12.4915506167, 0.28532973901, 10.2785017474, 1.21526327579, 9.63089150898, -5.93595058575, -2.48194641563, -15.8250388835, -0.879498151116, 22.6648231025, -7.25246583129, -2.78593034449, -5.44427824938, -14.1403150963, 20.661828921, 2.63021399105, 9.7275375501, -8.28117738735, -15.419850599, -0.939910470156, -5.87929934337, -0.40704690097, 0.0285233583903, 2.64371166801, -0.674956515198, -27.2940459915, 2.80564486542, -9.40067344751, 21.119716226, -14.4558953803, 1.45059507862, -4.20801842802, 14.5434401031, 1.1383817686, -0.904149789762, 6.28241763168, 1.12301311363, 1.33678200232, -3.82686686713, -4.35501795966, 6.33247921457, 3.01448061343, 5.69075219782, 5.51438263581, -15.5752726654, -3.19876217205, 2.38822632773, 5.11803178251, 9.03681162213, -7.64315099375, 18.5157358267, -2.31470463367, 5.44377517955, -0.89638986682, 6.69476956698, 7.27397239951, 4.67722114955, 8.92482689274, 6.54599423533, 3.45891564942, 6.26819615338, 6.46289871658, 8.37901001134, 1.58029807742, 16.7916633295, -8.68493651473, 7.47975213912, 15.0775856513, 6.57976319637, 11.8432250726, 24.8286196195, 1.98738281554, -2.95527871376, 10.2219654466, 8.40474435333, -9.8036628942, 10.0601549232, -4.75579153827, 4.93761657863, -3.7990227251, 4.61241988297, -6.34002518477, -7.29851062035, -14.8105414469, -6.00843262059, 4.145151184, 15.7003631256, 9.94165176585, -6.13800672603, 7.0325930659, 15.0169600884, -9.29010687958, 16.3518466818, -2.49892516086, 7.31471744425, 0.976087299479, 0.370525080287, 4.94559490274, 12.6275015156, -10.1957705583, -4.60319356206, -6.79865866686, 1.03453533203, 7.51243715589, -6.97500071338, -3.63501551246, 16.8194269911, 12.7040610273, -9.45951873812, -12.4511428807, 8.10693626771, 6.88149515167, 6.47059617301, -6.18203738574, -3.14337978189, 7.15565243698, 11.1428731917, -12.6838583214, -7.00454344477, -1.24942263615, 4.06431770396, 0.242639774491, -0.215811452352, -3.79320934011, -10.3962669193, -1.75865348002, -0.260794248678, -13.7928251442, -16.0960904341, 24.6536827836, -1.9482655919, -7.33570926663, -2.61373091016, 7.53418158389, -7.05322569436, -0.441928141677, -20.9188431906, 31.7656019752, 1.01141445699, 5.32893083516, 7.57287149852, -20.258044967, 14.2693223362, 13.6630541705, 5.25505749426, 8.87075217455, 8.98371257401, 5.88329372983, 4.31838341274, 3.77437123185, -8.5610174536, -0.0550407163278, -1.59605768557, -23.1154382969, -9.86064527802, 0.149375883171, -7.41427182703, 16.0127755832, 3.37786723258, -0.395288010988, -0.383952855883, 11.1594795898, 5.75416090548, 4.23276044599, -2.58395757316, -15.1074827218, 11.5810942635, 3.53221851127, -9.48578699782, 1.54203908981, -1.88999810745, -10.6952242683, 0.973985183599, 1.67709481112, 7.60010284998, 25.0518538543, 8.3797545114, 11.6966856337, 7.28668730547, -0.779808137497, 8.93754037904, -1.35850784573, 9.19642899483, 21.8247580436, 8.38644884496, -4.96141786248, -7.89479913799, -9.97609974766, 0.943366945053, 1.87835852196, 1.73989736357, -8.05289176845, -6.1490278606, -3.79812434999, -6.07435296688, 1.6847057444, 2.46811841959, 8.62611461392, 9.35710516723, -2.34062027598, -12.246891283, -1.40459429136, 3.14983216227, 9.4227364389, -9.37139526452, -9.17976622289, 3.42875035918, 2.76481350452, 0.586627416449, -0.347561789886, 8.342021447, -6.39182988372, 12.4297018349, -2.39618022941, 5.22527790319, -3.14495278275, -11.1248430401, -3.44486302191, 3.44061515155, -3.51230995411, -5.46608193938, 16.543397519, 0.610803749273, -0.407128688406, 3.71897275045, 4.20916054505, 9.89155973428, 19.9895386161, -4.31430171745, -7.96199174005, -1.5238602446, -9.54133785576, 2.74660076868, 7.20794248106, 6.5200050301, -8.69762122123, 6.76268083782, 11.9346594069, 14.0779830645, -6.55574372818, 7.06614051869, -7.85333217665, -1.18661562519, 0.673813691248, -13.3938621965, 1.80316429397, 10.6428734897, 10.7434679068, -1.17208902677, -0.01483175185, -5.84943074664, 11.1671281163, -7.06624429263, 4.00116834898, 16.6838107599, 3.24501031511, 18.7767296032, -14.9763767446, -6.40112320724, -9.16648958561, 4.24617715411, -9.22908050833, -5.71754287492, -11.9612541612, -14.8862084135, 6.53695176904, -1.47558858683, 8.54501795675, 11.9720024735, -10.1673362408, -9.89081355487, 5.85811284216, -4.36922644899, -5.10396309106, -0.503850014566, -17.994679406, -6.07636392138, 3.67031871895, -3.78376609739, 1.29163026537, 10.8416556654, 3.85390520537, 9.82654557371, -1.34634076299, -10.1265190018, 2.022785566, -9.107550749, -5.76046545624, -10.7919879947, -3.92689287052, 19.3734179073, 7.90239389483, -6.06127912302, 3.43940549778, -19.9547694625, -8.04644125361, -4.52268154612, 5.71564205724, -10.9268140761, 0.0882393120662, -1.4428863352, 9.62768911165, 5.34079437126, -15.5631481427, -0.609268156607, 9.22746963715, -3.09921631123, 4.80208936755, 4.06370991743, 7.90578027042, -10.1691449222, 2.18509245644, -9.44801644889, 0.249557551385, -3.40234341804, -2.94358540932, 9.44376157112, -8.76216433592, 1.17941691867, 15.6751527011, 7.41621277563, 2.56840946397, -6.7774831759, 1.03223647466, -4.35216073676, -3.02892169166, 12.3215673011, -3.98164106106, 15.2421736938, -2.96723298044, -6.34681796872, -2.23856177552, 5.25141669145, -7.29968459557, -15.0269397352, -0.117006510322, -1.58253704926, 0.418029734363, -19.6167092519, 0.0885155474245, 2.76229832756, 17.975144782, 7.81334938579, 5.73492660901, -8.06903123994, 3.37338038709, -1.37311318827, 16.735763082, -4.56116196516, 14.9102250908, 3.21863804056, 2.32075886622, -17.5756071528, 2.74457048931, 23.4107961003, -2.29637675603, -17.7813253475, -7.29708557192, -2.03714412547, -22.4471213606, -5.09369712293, -7.98202299728, 10.6018783082, -0.0987504936222, -6.89889233608, -0.029459686453, 8.17956704936, -37.292699509, 2.19702417685, -5.84173605994, 3.44897388101, 1.76628361916, 5.31030951162, -0.933256606343, -2.16987032896, -2.1113381745, -4.25849018987, 9.87827457973, -2.9018168622, 14.9804326771, 3.81597394649, -12.7021549434, 0.488326056575, 0.878459366206, 12.6078342059, 4.26920862349, -2.22764184572, 5.01915099635, 0.430009786856, -5.37882389571, 23.3905609294, -7.1433255282, -10.5068809166, -5.13248407725, -3.93508948096, -2.93916594793, 5.35089084167, 24.501920232, 6.65096119652, 11.6667959451, -0.44427518301, -13.0248852286, 19.0292901679, 8.593513351, -13.3238513808, -5.0766454333, 2.49516742408, -1.84578928952, -11.8766739262, -13.4806705587, 1.36140485336, -2.35811829779, -3.40836571982, -13.9594646374, 17.3894732988, 5.99748217953, -14.1851377321, 6.50042768309, -4.71689380413, 1.37843539139, -6.7615620232, 2.47130415484, -7.787045771, -1.29248486886, -0.323661988576, -1.03045451334, -1.35777760665, 5.86286433572, 8.4422090052, -8.70120690085, 23.0863564772, 0.245134233748, -4.64215816506, -2.59322571567, -4.68335277722, -4.24871342488, 9.91761655462, -14.8454676578, -2.76689887041, 6.08004322514, 13.1283341556, -1.43136540703, -16.3304890752, 14.7796750865, 6.07080407931, -2.40807567747, 1.17707070947, 9.53495165147, -4.00702535567, -11.6120489871, 7.41954663215, 14.0464366147, 0.304038154373, 3.27493740605, -12.2908069445, 7.89122966561, -3.03815193187, -5.07914998948, 4.31379166563, -3.17021606046, 13.9516372038, -6.91967542016, -4.79620209374, 3.38114420657, 4.01151865388, -4.62440769708, 10.8056923529, 4.07720173867, -3.02575307432, -5.10707082448, -2.14667941846, 1.27125589902, -4.85357899777, 5.07090081787, 5.65296234207, -1.26245896262, 3.22952020387, -12.4457278952, 8.23246985883, 7.62542427771, -2.99799587699, -1.56815119875, 4.12373253207, 5.93588144219, 15.744735818, 6.18477689994, 9.99567740613, -3.19912886244, -13.5963965598, -0.0300414604038, -1.20499751099, 6.60984427422, -12.1725160547, 3.62667900986, 5.40254759653, 0.19405641981, -4.97093551023, 7.088021249, 5.26698199829, -3.60220237116, -2.58008219335, -19.6790582274, -0.543028985889, -6.05484918315, 4.12842659773, -21.7854900328, -3.68988896967, 19.8453220422, 9.56456909772, -0.983070183798, 13.9230223281, -3.54498175124, -16.7554053018, -10.832267165, -1.98582543676, 10.5293774423, 3.11419474408, -14.0109607888, 5.3115959838, 9.29092076359, -4.17081657171, 1.45522689409, 9.04585449717, 2.60102743437, -6.07515192315, 13.2252890907, 4.54443580238, 8.65992803991, -2.62773818471, -10.9747158103, 11.038860357, 4.4741802426, 6.3651306917, -5.85828491174, 10.934374214, 8.54919101805, 11.5447629714, 4.44678741372, 5.14859044038, -14.4447275381, -1.27730756252, 7.50103999815, -7.11591016282, -12.5269582365, 7.29210023326, 6.95418028319, -13.5672698339, 14.2665244497, 3.79961893735, -0.86969458347, -14.8171046542, 9.44567564533, 8.84033674182, -6.48908945724, 8.54873310988, -0.991931831299, 0.819767692714, 3.85024552543, -13.4003939151, -5.84699418572, -3.53228820341, -11.1669422816, -11.798509079, -6.6320835748, -22.6296018425, -15.4443258958, -4.00180652461, -7.21735237858, 4.44672772704, -6.12262816437, -11.042945385, 2.38213932171, 16.594259392, -8.79890381178, -1.6968087909, 9.71757606345, -8.09468303059, -0.470562727864, 0.146538679337, 8.65961773296, -23.0385409155, -10.9214807335, 14.6857408456, 10.118624921, -1.73862374893, 3.76864875832, -5.93831192463, 9.65307332486, 10.1112103628, 7.22873193795, -3.23249319907, -13.3071276712, 11.2510459799, -13.5188172998, -3.53044756606, -18.7937893665, 8.31744052527, -8.87213448921, 6.83814761925, 10.334207486, 1.1804028064, 13.0344395614, 21.2474321153, 0.410376259619, 2.63894040567, -4.25650611174, -10.8224886944, -4.90009439502, -5.98370713826, -4.90932643765, -1.48289926845, -13.0693942993, 13.8750013114, -5.95421303299, 5.26181073167, -9.97907915767, 7.08658613581, -11.0241191446, -10.2459058562, 2.94173856289, -17.6900623347, 2.87806436337, 19.7425579727, 8.74884646833, 0.447305120572, 3.05130317267, 23.7766750752, 8.0349226689, 3.21611175978, 7.85018838915, 5.59161663627, -1.66466738679, 7.14637566498, 5.25527904538, 10.911957863, -6.94509849087, -7.7468387913, -3.00545968063, -10.2729547873, -9.94084986564, 4.54709454456, 11.5975258459, -15.6177137743, 11.9732733939, 1.86540627037, 5.423909769, 4.14842170245, 3.97345558088, 0.796229208129, 17.1338966154, 10.7550460829, -13.0280141702, 10.7275763996, 5.99221683915, 17.4892540856, 10.6162985655, 6.28543786214, -5.48654556475, -8.94400295375, 6.9577541525, -13.2217448, -1.50007779867, 2.83212349433, -8.45992566313, -2.13389097053, 4.28699214386, -6.4467678228, 0.472119917794, 0.636720062476, -0.589415334199, -3.68183129529, -6.93624325627, 2.87113390282, 14.5613780272, 7.30713580898, 22.7425671488, -23.8488643239, -2.98954951344, -2.39062078061, -7.43468697593, 0.938529384739, -5.16984948735, -10.8804447342, 9.94019846898 };
-float output_data_imag[ 1024 ] = { 515.372543542, -1.39721348545, 10.1872177703, 4.97312139391, 8.56615800138, 5.26946644107, -4.76718277996, -5.39303864414, -10.1766897459, 11.6651683132, -2.55590312336, -1.62064077661, 2.60503785405, -2.32572256328, -7.13035199964, 0.117094076428, -12.2415223307, -22.4415418588, 7.01186200928, 16.7583958065, -5.03467635445, -8.08636428443, 2.38113322932, 11.8152780479, -16.886764963, 9.59796369217, -3.44147464984, 12.367972241, 5.09142147673, -6.12839297782, 6.00253686212, 8.86338094192, 11.5809739339, -10.1331616944, -2.70760892076, -1.87040888632, -9.89740229602, -3.22004803381, -3.12407160704, 1.68035606799, 0.520408239648, 16.7925985655, 3.70357095426, -4.42457205827, -4.30899317358, 2.71300535388, -0.0770774035021, -5.13783366086, -6.49412533958, 6.68172017102, 9.99230122699, 8.53494825248, 14.3388838351, 4.12899504721, 13.7860216338, -0.555454974724, -16.1753294103, 6.02133502722, -16.9287950184, 5.79931112036, 20.0702050614, -1.98443007191, -3.40262415723, 1.31102065156, -3.96508849855, -0.801374291047, -9.11243487604, -13.8229553002, -17.5757593267, -1.13816747302, -2.06250595908, 2.84440327561, -10.6735458885, -10.3583657142, 3.9430548598, -0.557114604573, 21.9153488242, -8.17977111002, -5.28986670415, -13.5238370603, 6.06978879635, 16.9742578446, -4.34354115522, -2.49777620631, 0.401444950326, 1.46778066776, 22.0924447132, -2.61745145472, -0.526474228508, -1.40337186604, -10.4894325571, -10.7457040347, 13.2830292365, 0.207832450955, 11.9826663405, -2.36632049512, 7.19944307034, -1.2961162383, -1.95318137222, 10.5525481216, 11.0735334534, 3.72473015523, -3.7171243994, -3.14118006238, -11.7829872863, 5.59237420807, -19.1911058027, 0.778087732867, -14.3718324042, 0.674325226128, 2.86315342438, 17.7144348346, 8.93917913741, 7.87419114508, -3.64517226361, 7.74112441382, -14.6584793453, 5.59041036269, 23.6780087823, -1.99765372782, 3.4616907022, 7.23972519111, -15.7903400016, -8.07648029678, 4.91419506283, 11.52592989, -4.98522718976, 8.05972505268, 1.65153218902, 12.9585487364, -11.3172417806, -3.18756722006, -4.2696517891, -8.00953012568, 7.4870091479, -7.30601620761, 5.52093558966, 5.37686612651, 2.51806081888, -2.01639371814, -6.14324857931, 16.6972967679, 25.0035427567, -1.02771445453, -15.1397582862, 5.56546623216, 15.6967093413, -6.15973450259, 3.87774894256, 17.3701869345, -2.27119637672, -18.3341793865, 14.7087854734, 10.1900199214, -12.7209736732, 10.3217655477, 0.458574449659, 6.62911469977, -7.08868136351, -2.55080768945, -2.96501082983, 1.70208591169, -5.20267927638, -10.8084095211, -4.14883512987, 11.2822683102, -0.835580003973, 2.61763522985, 20.1628639226, 10.8484761875, -17.3954643494, 4.64315864035, 14.7895152511, -8.75919985307, 3.53258374804, 13.2689429956, 1.42774296249, 10.2767177851, 0.828754106875, -19.2871199165, -14.0306724734, -8.54192937399, -4.23408658438, 5.83749345055, 9.43471489227, 17.2608670221, -3.09061490638, -0.807774861539, -4.13312973514, -10.4470861188, -1.67814064437, 0.0902316182714, 1.88141876355, -9.05711363354, -20.1930809358, 7.93556657063, 0.285868865745, -6.80681233537, -3.70692320314, -7.07372246824, 21.1893159717, 21.4394687842, -1.99130360755, 7.52936006618, 0.0352604706926, -13.0018265756, 12.8511101974, 10.8469568926, 4.74226207823, -7.18420232824, 10.9874589472, -6.19428172478, -4.14743942818, -1.09735572316, 5.72835071266, -0.178980101135, -3.07794572803, -16.4162185699, 5.24774032083, -9.81201959856, -3.51977591195, 12.1338712576, 3.16453213552, -8.85609603, 13.8224139526, -7.87892934249, -14.7541834729, 0.401221062348, -3.70429954757, 4.18492088809, 5.49818561207, -14.059704981, -0.95761540893, -16.7534920098, -4.45152198852, -14.2434989658, 4.23625441724, 1.34971858743, -4.03790664127, -0.337760584135, -6.44377940869, 9.48197324128, 10.3732278142, 16.2127826498, 3.63881803004, 16.1244061222, 12.6540868083, -8.066109085, -0.0942734621073, 2.72237703815, 2.87578953268, -3.05709006404, 18.5454132495, -11.7995360437, -1.9091437187, 4.58200468397, -7.24076452987, -2.60615777979, 14.4833385377, 0.846704538173, 7.15787238511, -9.83582686497, 6.16929798575, -2.3298831297, 2.28895981291, -3.79015358844, 16.4803954155, 5.59554663668, 2.93500463786, 13.3588101495, 8.79429374252, -4.61568198752, -4.35532906565, -0.599627943355, -5.06765016362, -11.1255998804, -2.85811238618, 5.15098133111, 8.55406129301, 10.8124649943, 3.16835436414, 10.3348113174, 3.43299874083, 4.61454885969, -0.232937412846, -9.78358973897, 8.09822295011, -3.99189619583, 10.0552037179, 5.72746199607, 7.10191941122, -7.12882295702, -5.41533196755, -0.176950929733, -1.28880519398, -6.48975974311, -23.2846991273, 12.6156968601, 2.77080561963, 7.76754268734, -5.81532128165, 1.77789517553, -1.36233878316, -10.9073302533, -4.85292005442, -10.6978688188, 3.96396559305, -2.66912602834, 4.15554956853, -2.31654113808, -8.31258700746, 1.74223674197, -1.44376253474, -5.31000467603, -6.24665222585, -8.92733183842, 4.93904978984, 2.34725591134, 1.33755064474, -5.47524753503, -6.2800319428, 11.5586250689, -3.24104601972, -17.5592411579, -7.2382927463, -7.4570934705, -10.0456570414, -3.0093087703, 0.0326329126099, 25.6506795317, -0.551008280991, -5.40179805107, -3.27302482669, 3.10422202674, -5.46270504131, -3.5925421044, -4.36755793615, 4.44238069315, 4.50016928288, 7.98315728247, 3.7948769076, 5.26217069322, 10.8707473808, 24.5537033949, 8.02312952241, 8.39270609912, 6.85428251519, -1.60797504292, 9.5338274449, -13.4401704936, -9.01515577705, -8.05274645683, -0.79624923273, -14.2664364538, 3.26336520858, 1.1350475833, 9.88249407272, -10.3317908279, 3.62304402437, 3.94780305131, 5.29286691654, 13.4922434491, 9.03814279888, -18.5808131628, -4.76424640134, -8.97457373971, -5.55162424761, -10.496230905, -11.2588566395, -8.17017589155, 5.3444460585, 1.68120328714, 3.88774211214, 5.00942886681, -7.98361486698, -6.87853659607, -11.3724051423, -3.66909422043, -10.0737432757, 2.10395358445, -3.05688199401, -0.680595485147, 9.40829136785, 2.73072777475, -3.82666057325, -7.4050439337, 7.68356731912, -7.32690192024, -4.2591987446, -14.1171416467, 10.4950911106, 19.7346832769, -5.86014807139, 4.67677905828, 3.39018233418, -19.6451410171, -16.8801034329, -15.1510349154, -5.99614647065, 14.0483211109, -2.18594603488, 13.688664104, -12.6896403024, -0.609270920324, -3.71235042366, -9.33010619616, 8.80048777167, 1.19935823832, -10.8376850564, 2.46805194939, -6.16495968579, -4.83613756974, -26.4366771289, 9.57790020791, -17.0179644529, 1.63941526616, 10.9586098519, -9.83538741582, 2.92393361215, -2.45315092959, 11.3285484046, -1.03025047044, 3.35792762648, -19.3151103377, 7.85174699539, -8.73776740831, -9.54550272695, 8.71950675089, -3.90664754281, -8.69903733053, -2.09242139715, 5.28082426165, 4.0760452652, -6.98807557649, -6.96971224487, -3.5884137165, -14.6974864828, 14.439921231, 2.13076876006, -4.5957643093, 11.1062069556, -6.3857076639, -0.828204652515, -10.2644137244, 12.3884971712, -12.9226633131, -2.27455319931, -7.07147025725, 9.13568529399, 10.4546630297, 16.7793197481, -4.19157472783, 5.59261441982, 3.00768792733, 15.6170568192, 17.6302744603, 6.72194235797, 7.69340080465, -3.95730922739, 10.8094377311, -1.64481885661, -2.53978927111, -0.108771052026, -2.9977637601, 1.365502019, 13.6753162552, 5.19361476028, -6.14387856079, -0.588174664231, -30.2790879877, -0.0807555401685, -9.41246822684, -10.4761672496, -1.48040881353, -6.29226831372, 12.6985977018, -0.0336674543381, -11.6767166367, -12.0000788329, -17.3574584005, 12.0136354194, -3.03633531001, 11.7433566196, -6.34290351895, 7.76951522736, 1.29928530557, -5.93506956716, -4.94362445788, -14.2937864706, 8.03621777441, -7.85916845196, -3.94698192968, -1.54374090896, 0.942254686412, 5.87560738605, -19.7288625682, 17.5931845839, -13.1220821655, -18.6415975706, 3.02148036978, 1.89724260025, -5.41510251721, 2.86007903817, -5.56759171235, 10.5846480369, 7.07933062188, -2.4645390969, -4.38430720223, -6.54152573321, 11.9777498071, -1.65467634669, 1.41286256821, -1.89836792248, 5.36776727815, -12.8500052006, 0.585049911802, -10.9097341288, -10.682774499, 6.37189420237, -5.22944996742, -6.76021229626, -0.923555321395, 2.63445186278, 7.74443348168, -6.82623764214, -0.599997036117, -2.27401198097, -16.214674231, 7.37511139793, 2.33208986426, -7.42910380231, -4.95316948146, -0.652565891454, -15.1321844277, -10.8505889569, -1.70541613004, -18.5193681876, -15.9860696698, 17.430944535, -6.09542568784, -1.98747606646, -5.65279998381, -3.18125223244, 7.19101464722, 1.9301333772, -1.97302890495, -6.17933193281, -8.14725633549, 5.67139238021, 3.46671738738, -6.32341126273, 4.95837394077, 4.72701885176, -3.05417064497, 0.492670481059, 12.6127914828, -14.8064895869, 2.74005472274, -7.07623831765, -8.55503848056, -18.5093301753, -8.94988523559, -8.50867351524, -9.42777909935, -7.85817038637, -16.2303057415, -8.38254520158, 6.80405664171, -19.5792381391, -1.46021951879, -10.5552756753, 2.18204240572, 8.51231134663, 5.21374522605, -3.83190914823, -3.6779838146, 5.66286537126, -4.12180445484, -6.37750158224, -10.521953577, 17.3255996831, -11.7655028099, -5.41970008609, 8.24449732849, 9.05518189675, -23.7516867483, -16.4565340327, 13.4034776737, 6.29436683929, -8.38561483616, 1.87633431136, -12.3004212108, 3.8804690228, 4.30957973542, 9.33742038466, 1.43640851294, 2.37018010837, -1.52476726025, 3.38887499944, -7.12445494584, -12.3001804858, -1.75594862132, -6.41981163711, 1.95445603202, 2.6725607993, 1.72262710764, 6.15882566959, -6.86465902336, 4.40472279662, 3.30606086423, -0.080400991724, 0.956027944393, 2.211513373, -4.45373463977, 9.40195347876, -1.75959053126, -14.4419894971, -0.381775720589, 3.07108076587, -4.00180919454, 10.7898847878, -2.87631274837, 2.08608554915, 1.68574265474, -12.748190244, -8.33986277455, 13.096455873, -2.28366258502, -10.3419786929, 0.67868572497, 6.26949023863, 10.5982016628, 6.87103386037, -1.4346001826, 3.95093003466, 10.3045326337, 17.2489952408, -0.433533930457, 1.66873014606, 2.7408511324, -4.8111589701, 1.41185141288, -2.32691131588, 3.80216985452, 2.15210000055, 3.49287516765, 10.9170513457, 5.55253480293, -10.2642120133, -11.8066812429, 24.842283673, 14.8267235174, -11.1195360376, 4.70956476708, -5.69274291665, -14.1158214071, 12.9971452941, -5.62156194696, -12.8168870135, 19.9363191495, -11.0910838779, 10.2216469789, -2.80213636904, 0.383057234948, 18.913132623, 13.9620546016, -1.40450590425, -18.745533806, 4.66240445306, -24.5292761367, -12.7504651025, 11.7584615455, -8.25284829627, 18.7860755918, -7.76985030769, 4.04956901882, 1.12807474528, 10.2822471144, 9.62416872859, 1.94798112977, -2.19966682514, 7.09414227287, 9.99936738669, -2.06618675929, -12.7388529872, 1.26616878473, -3.76513576345, -7.23786590453, -2.35468482424, 7.65740054628, -8.10339820932, -9.71683570638, -11.8401567574, -10.942862162, -12.6487440174, -10.2299518088, 0.365528280529, 11.3724963199, 3.77734568125, -10.7822539252, -14.2997339986, -24.5286467825, 10.8889075384, -0.428783681142, -5.08763973414, -17.8954296647, -0.426187071928, -2.35771841329, -0.724984041007, 6.7065793947, 11.2387180869, 10.7569894969, -10.8981085449, 11.7131074172, 0.117975145046, 19.0369001409, 7.08759342038, -4.27384034165, -6.53146582932, 9.42310365586, 1.74535531089, 7.35866324802, 5.44489391229, -2.39059266295, 10.3989658382, -9.42841282947, -2.09471870388, 7.72416129617, 11.7059906925, 0.483519810969, 15.1693421387, -13.2079942305, 6.03639028947, -5.86966558741, 9.68887531534, -0.876612433391, -8.40279155425, -6.7133424974, -2.90857852641, -11.058947794, 2.74862204445, -2.31643581592, -5.02577123984, -2.59510340053, -5.92217586188, -1.97363581006, 5.69003177365, 6.13196037613, -5.42676466078, -6.40430616712, -2.48895097836, 8.64911757173, 7.01239046469, -3.08570425145, 3.88509613982, -2.14832816716, -13.97137205, 1.69000377526, -1.16058808252, 12.6057115948, 0.307761264406, -1.57859403061, 6.49687777791, 13.9343377523, 14.583627508, 22.241089854, 0.773907086026, 7.23662504949, -2.7044987795, -2.47865227991, -3.53565004129, -7.34655968029, 12.6881133963, -6.26801373015, 3.89040256943, 2.90707469124, -2.50599822982, -13.2940739182, -4.45830428406, -1.48632963185, 7.00931705549, 3.05789752818, -6.98269392176, -0.822173197564, -2.70233124319, 6.74124607571, -3.68796988126, 1.13687823253, -18.8573409748, -0.287946180151, 4.43772862774, -4.68340491943, 4.96847149337, -3.88418801075, 3.47115763098, 0.614807466875, -2.94769166299, 6.1364507764, 8.1722803549, -1.66932548887, 2.44433524291, -11.9359173943, 1.0826189915, -11.2697880543, -1.77137540418, -0.0375210061261, 11.0050865466, 7.75511368286, 4.09905332933, 3.0784495471, -3.08303198739, -12.4463929549, 1.2715465502, 1.04018349862, -3.11925401937, 16.158667843, -11.8032600508, -28.438336596, -5.87429338229, -7.11836220733, -13.7087199105, 3.83326989915, 13.5489786862, -7.38198265218, -11.5111097906, -1.25949398476, -9.06727806269, 17.6486398412, 4.13725785078, -0.617137505634, -4.93545061677, 11.258840464, 5.13895912658, 6.92450702081, 2.37683666309, -13.6664858262, -14.3881579912, 0.489832020234, -4.44310669082, 0.989771733606, -3.89531663597, -5.52426307456, 6.69898914683, -5.22050160187, 7.07631262185, -5.76764036578, 16.7036858228, -1.27211388629, 2.15213837831, -18.8027946935, 2.02879055733, 19.0147782866, -0.959592833218, 11.8440027882, -1.52528787563, -14.1985055113, -5.34935861279, -17.1149031754, -1.09609286687, -26.104923835, -11.8358997344, -3.39910768528, 1.02688009486, -5.19617953397, 10.26807382, -16.9454749626, 6.03701601049, 0.0459879804055, -11.5827459433, 6.25687081534, -10.3610011149, 1.80363596924, -6.99792788872, 0.052506344362, 11.749343374, -10.262154839, 3.20000904789, -7.82050636824, 4.09994395616, 14.3273897843, 2.52001862129, 5.91010590912, -10.5700140469, -7.25881668389, 6.10095265186, -9.48149939471, 23.8590026554, 14.6083898171, -1.852508789, 4.63591829932, -10.991844607, -11.1342820927, -9.61373152301, -5.58740113338, -9.00334730382, -4.73221902937, -3.9113545044, 10.3185279408, -5.23392619211, 5.93039638941, 13.1417535792, -10.576627254, -11.9264311627, -0.430537564576, 4.16612536744, 4.31236982288, 5.59207001124, -6.35106175875, -4.60819377585, 0.149457890351, 15.864402698, 7.45614247329, -3.72552761408, 3.98375770898, 8.61908534699, -13.1270519529, -0.0869702479982, -10.2553166432, -9.95812440745, -8.75709097699, 0.142131441963, -7.84627211735, -6.9410951242, -1.25297349346, 8.22817141993, -11.9680553355, 13.7718576981, -1.75450620207, -6.46894187878, -2.02870184455, 7.37684174247, -7.30360048154, -8.92893475984, -11.4281515221, 5.21670802397, -10.9409480909, 6.69255947444, 9.45913287923, -5.617219161, 5.60290886058, -6.0427176748, -5.94471440101, -5.97465818594, 7.816571649, 9.90780188496, -9.38413247861, 6.12841046347, 8.58054229075, 0.429138800867, 1.84560724408, 25.4375016169, -2.26554496194, -9.25241437119, 2.65702504454, -1.66343743359, 10.9701425652, -8.75474547492, 7.15527136911, -3.301520542, 13.9642208242, 14.3733493127, -3.53881757204, -8.51007380462, -3.42129326175, -5.58606293826, 9.55343445314, 0.0201436376397, 3.03701754911, -5.64661429762, -2.40878536462, 21.825466502, -5.17428551274, -1.86807882223, 4.48624400284, -9.47455589302, 1.54156556466, 6.35567094496, -10.3488653658, -8.72209782237, 1.31819547145, 4.46884479118, 13.1970650146, 5.93727415103, 5.21686859262, 17.9831659941, 10.7058217989, 0.696449957925, 12.7303447817, -1.64905679371, -2.35613279778, 5.17833665782, -7.25306146968, -1.57962414835, 5.58174322862, 4.30090307292, -17.9179860137, 4.11361923204, -15.471754533, 10.5771327568, -6.98638375446, 6.37910385361, -7.90730261689, 5.57101574051, -2.199939871, -5.35328317677, 6.62551896408, -9.25325963185, -11.0379824943, -4.82179500229, -9.22298216092, -11.1201369226, -8.29282449768, 0.340902491192, 6.62565882598, 15.2645284087, 10.0636088014, -7.96323285426, -7.47199240228, -1.93634653821, -10.0923789761, 14.5528816281, -1.93370182031, -9.63247298114, -14.254508783 };
-float tf_real[ 1024 ] = { 1.0, 0.999981175283, 0.999924701839, 0.999830581796, 0.999698818696, 0.999529417501, 0.999322384588, 0.999077727753, 0.998795456205, 0.998475580573, 0.9981181129, 0.997723066644, 0.997290456679, 0.996820299291, 0.996312612183, 0.995767414468, 0.995184726672, 0.994564570734, 0.993906970002, 0.993211949235, 0.992479534599, 0.991709753669, 0.990902635428, 0.990058210262, 0.989176509965, 0.988257567731, 0.987301418158, 0.986308097245, 0.985277642389, 0.984210092387, 0.983105487431, 0.98196386911, 0.980785280403, 0.979569765685, 0.97831737072, 0.977028142658, 0.975702130039, 0.974339382786, 0.972939952206, 0.971503890986, 0.970031253195, 0.968522094274, 0.966976471045, 0.965394441698, 0.963776065795, 0.962121404269, 0.960430519416, 0.958703474896, 0.956940335732, 0.955141168306, 0.953306040354, 0.951435020969, 0.949528180593, 0.947585591018, 0.945607325381, 0.943593458162, 0.941544065183, 0.939459223602, 0.937339011913, 0.935183509939, 0.932992798835, 0.930766961079, 0.928506080473, 0.926210242138, 0.923879532511, 0.921514039342, 0.91911385169, 0.916679059921, 0.914209755704, 0.911706032005, 0.909167983091, 0.906595704515, 0.903989293123, 0.901348847046, 0.898674465694, 0.895966249756, 0.893224301196, 0.890448723245, 0.887639620403, 0.884797098431, 0.881921264348, 0.879012226429, 0.876070094195, 0.873094978418, 0.870086991109, 0.867046245516, 0.863972856122, 0.860866938638, 0.85772861, 0.854557988365, 0.851355193105, 0.848120344803, 0.84485356525, 0.841554977437, 0.838224705555, 0.834862874986, 0.831469612303, 0.828045045258, 0.824589302785, 0.821102514991, 0.817584813152, 0.814036329706, 0.810457198253, 0.806847553544, 0.803207531481, 0.799537269108, 0.795836904609, 0.7921065773, 0.788346427627, 0.784556597156, 0.780737228572, 0.776888465673, 0.773010453363, 0.769103337646, 0.765167265622, 0.761202385484, 0.757208846506, 0.753186799044, 0.749136394523, 0.745057785441, 0.740951125355, 0.736816568877, 0.732654271672, 0.728464390448, 0.724247082951, 0.720002507961, 0.715730825284, 0.711432195745, 0.707106781187, 0.702754744457, 0.698376249409, 0.69397146089, 0.689540544737, 0.685083667773, 0.680600997795, 0.676092703575, 0.671558954847, 0.666999922304, 0.66241577759, 0.657806693297, 0.653172842954, 0.648514401022, 0.64383154289, 0.639124444864, 0.634393284164, 0.629638238915, 0.624859488142, 0.620057211763, 0.615231590581, 0.610382806276, 0.605511041404, 0.600616479384, 0.595699304492, 0.590759701859, 0.585797857456, 0.580813958096, 0.575808191418, 0.570780745887, 0.565731810784, 0.560661576197, 0.55557023302, 0.550457972937, 0.545324988422, 0.54017147273, 0.534997619887, 0.529803624686, 0.524589682678, 0.519355990166, 0.514102744193, 0.508830142543, 0.503538383726, 0.498227666973, 0.49289819223, 0.487550160148, 0.482183772079, 0.476799230063, 0.471396736826, 0.465976495768, 0.460538710958, 0.455083587126, 0.449611329655, 0.44412214457, 0.438616238539, 0.433093818853, 0.42755509343, 0.4220002708, 0.416429560098, 0.410843171058, 0.405241314005, 0.399624199846, 0.393992040061, 0.388345046699, 0.382683432365, 0.377007410216, 0.371317193952, 0.365612997805, 0.359895036535, 0.35416352542, 0.348418680249, 0.342660717312, 0.336889853392, 0.33110630576, 0.325310292162, 0.319502030816, 0.313681740399, 0.307849640042, 0.302005949319, 0.296150888244, 0.290284677254, 0.284407537211, 0.278519689385, 0.27262135545, 0.266712757475, 0.260794117915, 0.254865659605, 0.248927605746, 0.242980179903, 0.237023605994, 0.231058108281, 0.22508391136, 0.219101240157, 0.213110319916, 0.207111376192, 0.201104634842, 0.195090322016, 0.18906866415, 0.183039887955, 0.177004220412, 0.17096188876, 0.16491312049, 0.158858143334, 0.152797185258, 0.146730474455, 0.140658239333, 0.134580708507, 0.128498110794, 0.122410675199, 0.116318630912, 0.110222207294, 0.104121633872, 0.0980171403296, 0.0919089564971, 0.0857973123444, 0.0796824379714, 0.0735645635997, 0.0674439195637, 0.0613207363022, 0.0551952443497, 0.0490676743274, 0.0429382569349, 0.0368072229414, 0.0306748031766, 0.0245412285229, 0.0184067299058, 0.0122715382857, 0.00613588464915, 6.12323399574e-17, -0.00613588464915, -0.0122715382857, -0.0184067299058, -0.0245412285229, -0.0306748031766, -0.0368072229414, -0.0429382569349, -0.0490676743274, -0.0551952443497, -0.0613207363022, -0.0674439195637, -0.0735645635997, -0.0796824379714, -0.0857973123444, -0.0919089564971, -0.0980171403296, -0.104121633872, -0.110222207294, -0.116318630912, -0.122410675199, -0.128498110794, -0.134580708507, -0.140658239333, -0.146730474455, -0.152797185258, -0.158858143334, -0.16491312049, -0.17096188876, -0.177004220412, -0.183039887955, -0.18906866415, -0.195090322016, -0.201104634842, -0.207111376192, -0.213110319916, -0.219101240157, -0.22508391136, -0.231058108281, -0.237023605994, -0.242980179903, -0.248927605746, -0.254865659605, -0.260794117915, -0.266712757475, -0.27262135545, -0.278519689385, -0.284407537211, -0.290284677254, -0.296150888244, -0.302005949319, -0.307849640042, -0.313681740399, -0.319502030816, -0.325310292162, -0.33110630576, -0.336889853392, -0.342660717312, -0.348418680249, -0.35416352542, -0.359895036535, -0.365612997805, -0.371317193952, -0.377007410216, -0.382683432365, -0.388345046699, -0.393992040061, -0.399624199846, -0.405241314005, -0.410843171058, -0.416429560098, -0.4220002708, -0.42755509343, -0.433093818853, -0.438616238539, -0.44412214457, -0.449611329655, -0.455083587126, -0.460538710958, -0.465976495768, -0.471396736826, -0.476799230063, -0.482183772079, -0.487550160148, -0.49289819223, -0.498227666973, -0.503538383726, -0.508830142543, -0.514102744193, -0.519355990166, -0.524589682678, -0.529803624686, -0.534997619887, -0.54017147273, -0.545324988422, -0.550457972937, -0.55557023302, -0.560661576197, -0.565731810784, -0.570780745887, -0.575808191418, -0.580813958096, -0.585797857456, -0.590759701859, -0.595699304492, -0.600616479384, -0.605511041404, -0.610382806276, -0.615231590581, -0.620057211763, -0.624859488142, -0.629638238915, -0.634393284164, -0.639124444864, -0.64383154289, -0.648514401022, -0.653172842954, -0.657806693297, -0.66241577759, -0.666999922304, -0.671558954847, -0.676092703575, -0.680600997795, -0.685083667773, -0.689540544737, -0.69397146089, -0.698376249409, -0.702754744457, -0.707106781187, -0.711432195745, -0.715730825284, -0.720002507961, -0.724247082951, -0.728464390448, -0.732654271672, -0.736816568877, -0.740951125355, -0.745057785441, -0.749136394523, -0.753186799044, -0.757208846506, -0.761202385484, -0.765167265622, -0.769103337646, -0.773010453363, -0.776888465673, -0.780737228572, -0.784556597156, -0.788346427627, -0.7921065773, -0.795836904609, -0.799537269108, -0.803207531481, -0.806847553544, -0.810457198253, -0.814036329706, -0.817584813152, -0.821102514991, -0.824589302785, -0.828045045258, -0.831469612303, -0.834862874986, -0.838224705555, -0.841554977437, -0.84485356525, -0.848120344803, -0.851355193105, -0.854557988365, -0.85772861, -0.860866938638, -0.863972856122, -0.867046245516, -0.870086991109, -0.873094978418, -0.876070094195, -0.879012226429, -0.881921264348, -0.884797098431, -0.887639620403, -0.890448723245, -0.893224301196, -0.895966249756, -0.898674465694, -0.901348847046, -0.903989293123, -0.906595704515, -0.909167983091, -0.911706032005, -0.914209755704, -0.916679059921, -0.91911385169, -0.921514039342, -0.923879532511, -0.926210242138, -0.928506080473, -0.930766961079, -0.932992798835, -0.935183509939, -0.937339011913, -0.939459223602, -0.941544065183, -0.943593458162, -0.945607325381, -0.947585591018, -0.949528180593, -0.951435020969, -0.953306040354, -0.955141168306, -0.956940335732, -0.958703474896, -0.960430519416, -0.962121404269, -0.963776065795, -0.965394441698, -0.966976471045, -0.968522094274, -0.970031253195, -0.971503890986, -0.972939952206, -0.974339382786, -0.975702130039, -0.977028142658, -0.97831737072, -0.979569765685, -0.980785280403, -0.98196386911, -0.983105487431, -0.984210092387, -0.985277642389, -0.986308097245, -0.987301418158, -0.988257567731, -0.989176509965, -0.990058210262, -0.990902635428, -0.991709753669, -0.992479534599, -0.993211949235, -0.993906970002, -0.994564570734, -0.995184726672, -0.995767414468, -0.996312612183, -0.996820299291, -0.997290456679, -0.997723066644, -0.9981181129, -0.998475580573, -0.998795456205, -0.999077727753, -0.999322384588, -0.999529417501, -0.999698818696, -0.999830581796, -0.999924701839, -0.999981175283, -1.0, -0.999981175283, -0.999924701839, -0.999830581796, -0.999698818696, -0.999529417501, -0.999322384588, -0.999077727753, -0.998795456205, -0.998475580573, -0.9981181129, -0.997723066644, -0.997290456679, -0.996820299291, -0.996312612183, -0.995767414468, -0.995184726672, -0.994564570734, -0.993906970002, -0.993211949235, -0.992479534599, -0.991709753669, -0.990902635428, -0.990058210262, -0.989176509965, -0.988257567731, -0.987301418158, -0.986308097245, -0.985277642389, -0.984210092387, -0.983105487431, -0.98196386911, -0.980785280403, -0.979569765685, -0.97831737072, -0.977028142658, -0.975702130039, -0.974339382786, -0.972939952206, -0.971503890986, -0.970031253195, -0.968522094274, -0.966976471045, -0.965394441698, -0.963776065795, -0.962121404269, -0.960430519416, -0.958703474896, -0.956940335732, -0.955141168306, -0.953306040354, -0.951435020969, -0.949528180593, -0.947585591018, -0.945607325381, -0.943593458162, -0.941544065183, -0.939459223602, -0.937339011913, -0.935183509939, -0.932992798835, -0.930766961079, -0.928506080473, -0.926210242138, -0.923879532511, -0.921514039342, -0.91911385169, -0.916679059921, -0.914209755704, -0.911706032005, -0.909167983091, -0.906595704515, -0.903989293123, -0.901348847046, -0.898674465694, -0.895966249756, -0.893224301196, -0.890448723245, -0.887639620403, -0.884797098431, -0.881921264348, -0.879012226429, -0.876070094195, -0.873094978418, -0.870086991109, -0.867046245516, -0.863972856122, -0.860866938638, -0.85772861, -0.854557988365, -0.851355193105, -0.848120344803, -0.84485356525, -0.841554977437, -0.838224705555, -0.834862874986, -0.831469612303, -0.828045045258, -0.824589302785, -0.821102514991, -0.817584813152, -0.814036329706, -0.810457198253, -0.806847553544, -0.803207531481, -0.799537269108, -0.795836904609, -0.7921065773, -0.788346427627, -0.784556597156, -0.780737228572, -0.776888465673, -0.773010453363, -0.769103337646, -0.765167265622, -0.761202385484, -0.757208846506, -0.753186799044, -0.749136394523, -0.745057785441, -0.740951125355, -0.736816568877, -0.732654271672, -0.728464390448, -0.724247082951, -0.720002507961, -0.715730825284, -0.711432195745, -0.707106781187, -0.702754744457, -0.698376249409, -0.69397146089, -0.689540544737, -0.685083667773, -0.680600997795, -0.676092703575, -0.671558954847, -0.666999922304, -0.66241577759, -0.657806693297, -0.653172842954, -0.648514401022, -0.64383154289, -0.639124444864, -0.634393284164, -0.629638238915, -0.624859488142, -0.620057211763, -0.615231590581, -0.610382806276, -0.605511041404, -0.600616479384, -0.595699304492, -0.590759701859, -0.585797857456, -0.580813958096, -0.575808191418, -0.570780745887, -0.565731810784, -0.560661576197, -0.55557023302, -0.550457972937, -0.545324988422, -0.54017147273, -0.534997619887, -0.529803624686, -0.524589682678, -0.519355990166, -0.514102744193, -0.508830142543, -0.503538383726, -0.498227666973, -0.49289819223, -0.487550160148, -0.482183772079, -0.476799230063, -0.471396736826, -0.465976495768, -0.460538710958, -0.455083587126, -0.449611329655, -0.44412214457, -0.438616238539, -0.433093818853, -0.42755509343, -0.4220002708, -0.416429560098, -0.410843171058, -0.405241314005, -0.399624199846, -0.393992040061, -0.388345046699, -0.382683432365, -0.377007410216, -0.371317193952, -0.365612997805, -0.359895036535, -0.35416352542, -0.348418680249, -0.342660717312, -0.336889853392, -0.33110630576, -0.325310292162, -0.319502030816, -0.313681740399, -0.307849640042, -0.302005949319, -0.296150888244, -0.290284677254, -0.284407537211, -0.278519689385, -0.27262135545, -0.266712757475, -0.260794117915, -0.254865659605, -0.248927605746, -0.242980179903, -0.237023605994, -0.231058108281, -0.22508391136, -0.219101240157, -0.213110319916, -0.207111376192, -0.201104634842, -0.195090322016, -0.18906866415, -0.183039887955, -0.177004220412, -0.17096188876, -0.16491312049, -0.158858143334, -0.152797185258, -0.146730474455, -0.140658239333, -0.134580708507, -0.128498110794, -0.122410675199, -0.116318630912, -0.110222207294, -0.104121633872, -0.0980171403296, -0.0919089564971, -0.0857973123444, -0.0796824379714, -0.0735645635997, -0.0674439195637, -0.0613207363022, -0.0551952443497, -0.0490676743274, -0.0429382569349, -0.0368072229414, -0.0306748031766, -0.0245412285229, -0.0184067299058, -0.0122715382857, -0.00613588464915, -1.83697019872e-16, 0.00613588464915, 0.0122715382857, 0.0184067299058, 0.0245412285229, 0.0306748031766, 0.0368072229414, 0.0429382569349, 0.0490676743274, 0.0551952443497, 0.0613207363022, 0.0674439195637, 0.0735645635997, 0.0796824379714, 0.0857973123444, 0.0919089564971, 0.0980171403296, 0.104121633872, 0.110222207294, 0.116318630912, 0.122410675199, 0.128498110794, 0.134580708507, 0.140658239333, 0.146730474455, 0.152797185258, 0.158858143334, 0.16491312049, 0.17096188876, 0.177004220412, 0.183039887955, 0.18906866415, 0.195090322016, 0.201104634842, 0.207111376192, 0.213110319916, 0.219101240157, 0.22508391136, 0.231058108281, 0.237023605994, 0.242980179903, 0.248927605746, 0.254865659605, 0.260794117915, 0.266712757475, 0.27262135545, 0.278519689385, 0.284407537211, 0.290284677254, 0.296150888244, 0.302005949319, 0.307849640042, 0.313681740399, 0.319502030816, 0.325310292162, 0.33110630576, 0.336889853392, 0.342660717312, 0.348418680249, 0.35416352542, 0.359895036535, 0.365612997805, 0.371317193952, 0.377007410216, 0.382683432365, 0.388345046699, 0.393992040061, 0.399624199846, 0.405241314005, 0.410843171058, 0.416429560098, 0.4220002708, 0.42755509343, 0.433093818853, 0.438616238539, 0.44412214457, 0.449611329655, 0.455083587126, 0.460538710958, 0.465976495768, 0.471396736826, 0.476799230063, 0.482183772079, 0.487550160148, 0.49289819223, 0.498227666973, 0.503538383726, 0.508830142543, 0.514102744193, 0.519355990166, 0.524589682678, 0.529803624686, 0.534997619887, 0.54017147273, 0.545324988422, 0.550457972937, 0.55557023302, 0.560661576197, 0.565731810784, 0.570780745887, 0.575808191418, 0.580813958096, 0.585797857456, 0.590759701859, 0.595699304492, 0.600616479384, 0.605511041404, 0.610382806276, 0.615231590581, 0.620057211763, 0.624859488142, 0.629638238915, 0.634393284164, 0.639124444864, 0.64383154289, 0.648514401022, 0.653172842954, 0.657806693297, 0.66241577759, 0.666999922304, 0.671558954847, 0.676092703575, 0.680600997795, 0.685083667773, 0.689540544737, 0.69397146089, 0.698376249409, 0.702754744457, 0.707106781187, 0.711432195745, 0.715730825284, 0.720002507961, 0.724247082951, 0.728464390448, 0.732654271672, 0.736816568877, 0.740951125355, 0.745057785441, 0.749136394523, 0.753186799044, 0.757208846506, 0.761202385484, 0.765167265622, 0.769103337646, 0.773010453363, 0.776888465673, 0.780737228572, 0.784556597156, 0.788346427627, 0.7921065773, 0.795836904609, 0.799537269108, 0.803207531481, 0.806847553544, 0.810457198253, 0.814036329706, 0.817584813152, 0.821102514991, 0.824589302785, 0.828045045258, 0.831469612303, 0.834862874986, 0.838224705555, 0.841554977437, 0.84485356525, 0.848120344803, 0.851355193105, 0.854557988365, 0.85772861, 0.860866938638, 0.863972856122, 0.867046245516, 0.870086991109, 0.873094978418, 0.876070094195, 0.879012226429, 0.881921264348, 0.884797098431, 0.887639620403, 0.890448723245, 0.893224301196, 0.895966249756, 0.898674465694, 0.901348847046, 0.903989293123, 0.906595704515, 0.909167983091, 0.911706032005, 0.914209755704, 0.916679059921, 0.91911385169, 0.921514039342, 0.923879532511, 0.926210242138, 0.928506080473, 0.930766961079, 0.932992798835, 0.935183509939, 0.937339011913, 0.939459223602, 0.941544065183, 0.943593458162, 0.945607325381, 0.947585591018, 0.949528180593, 0.951435020969, 0.953306040354, 0.955141168306, 0.956940335732, 0.958703474896, 0.960430519416, 0.962121404269, 0.963776065795, 0.965394441698, 0.966976471045, 0.968522094274, 0.970031253195, 0.971503890986, 0.972939952206, 0.974339382786, 0.975702130039, 0.977028142658, 0.97831737072, 0.979569765685, 0.980785280403, 0.98196386911, 0.983105487431, 0.984210092387, 0.985277642389, 0.986308097245, 0.987301418158, 0.988257567731, 0.989176509965, 0.990058210262, 0.990902635428, 0.991709753669, 0.992479534599, 0.993211949235, 0.993906970002, 0.994564570734, 0.995184726672, 0.995767414468, 0.996312612183, 0.996820299291, 0.997290456679, 0.997723066644, 0.9981181129, 0.998475580573, 0.998795456205, 0.999077727753, 0.999322384588, 0.999529417501, 0.999698818696, 0.999830581796, 0.999924701839, 0.999981175283 };
-float tf_imag[ 1024 ] = { -0.0, -0.00613588464915, -0.0122715382857, -0.0184067299058, -0.0245412285229, -0.0306748031766, -0.0368072229414, -0.0429382569349, -0.0490676743274, -0.0551952443497, -0.0613207363022, -0.0674439195637, -0.0735645635997, -0.0796824379714, -0.0857973123444, -0.0919089564971, -0.0980171403296, -0.104121633872, -0.110222207294, -0.116318630912, -0.122410675199, -0.128498110794, -0.134580708507, -0.140658239333, -0.146730474455, -0.152797185258, -0.158858143334, -0.16491312049, -0.17096188876, -0.177004220412, -0.183039887955, -0.18906866415, -0.195090322016, -0.201104634842, -0.207111376192, -0.213110319916, -0.219101240157, -0.22508391136, -0.231058108281, -0.237023605994, -0.242980179903, -0.248927605746, -0.254865659605, -0.260794117915, -0.266712757475, -0.27262135545, -0.278519689385, -0.284407537211, -0.290284677254, -0.296150888244, -0.302005949319, -0.307849640042, -0.313681740399, -0.319502030816, -0.325310292162, -0.33110630576, -0.336889853392, -0.342660717312, -0.348418680249, -0.35416352542, -0.359895036535, -0.365612997805, -0.371317193952, -0.377007410216, -0.382683432365, -0.388345046699, -0.393992040061, -0.399624199846, -0.405241314005, -0.410843171058, -0.416429560098, -0.4220002708, -0.42755509343, -0.433093818853, -0.438616238539, -0.44412214457, -0.449611329655, -0.455083587126, -0.460538710958, -0.465976495768, -0.471396736826, -0.476799230063, -0.482183772079, -0.487550160148, -0.49289819223, -0.498227666973, -0.503538383726, -0.508830142543, -0.514102744193, -0.519355990166, -0.524589682678, -0.529803624686, -0.534997619887, -0.54017147273, -0.545324988422, -0.550457972937, -0.55557023302, -0.560661576197, -0.565731810784, -0.570780745887, -0.575808191418, -0.580813958096, -0.585797857456, -0.590759701859, -0.595699304492, -0.600616479384, -0.605511041404, -0.610382806276, -0.615231590581, -0.620057211763, -0.624859488142, -0.629638238915, -0.634393284164, -0.639124444864, -0.64383154289, -0.648514401022, -0.653172842954, -0.657806693297, -0.66241577759, -0.666999922304, -0.671558954847, -0.676092703575, -0.680600997795, -0.685083667773, -0.689540544737, -0.69397146089, -0.698376249409, -0.702754744457, -0.707106781187, -0.711432195745, -0.715730825284, -0.720002507961, -0.724247082951, -0.728464390448, -0.732654271672, -0.736816568877, -0.740951125355, -0.745057785441, -0.749136394523, -0.753186799044, -0.757208846506, -0.761202385484, -0.765167265622, -0.769103337646, -0.773010453363, -0.776888465673, -0.780737228572, -0.784556597156, -0.788346427627, -0.7921065773, -0.795836904609, -0.799537269108, -0.803207531481, -0.806847553544, -0.810457198253, -0.814036329706, -0.817584813152, -0.821102514991, -0.824589302785, -0.828045045258, -0.831469612303, -0.834862874986, -0.838224705555, -0.841554977437, -0.84485356525, -0.848120344803, -0.851355193105, -0.854557988365, -0.85772861, -0.860866938638, -0.863972856122, -0.867046245516, -0.870086991109, -0.873094978418, -0.876070094195, -0.879012226429, -0.881921264348, -0.884797098431, -0.887639620403, -0.890448723245, -0.893224301196, -0.895966249756, -0.898674465694, -0.901348847046, -0.903989293123, -0.906595704515, -0.909167983091, -0.911706032005, -0.914209755704, -0.916679059921, -0.91911385169, -0.921514039342, -0.923879532511, -0.926210242138, -0.928506080473, -0.930766961079, -0.932992798835, -0.935183509939, -0.937339011913, -0.939459223602, -0.941544065183, -0.943593458162, -0.945607325381, -0.947585591018, -0.949528180593, -0.951435020969, -0.953306040354, -0.955141168306, -0.956940335732, -0.958703474896, -0.960430519416, -0.962121404269, -0.963776065795, -0.965394441698, -0.966976471045, -0.968522094274, -0.970031253195, -0.971503890986, -0.972939952206, -0.974339382786, -0.975702130039, -0.977028142658, -0.97831737072, -0.979569765685, -0.980785280403, -0.98196386911, -0.983105487431, -0.984210092387, -0.985277642389, -0.986308097245, -0.987301418158, -0.988257567731, -0.989176509965, -0.990058210262, -0.990902635428, -0.991709753669, -0.992479534599, -0.993211949235, -0.993906970002, -0.994564570734, -0.995184726672, -0.995767414468, -0.996312612183, -0.996820299291, -0.997290456679, -0.997723066644, -0.9981181129, -0.998475580573, -0.998795456205, -0.999077727753, -0.999322384588, -0.999529417501, -0.999698818696, -0.999830581796, -0.999924701839, -0.999981175283, -1.0, -0.999981175283, -0.999924701839, -0.999830581796, -0.999698818696, -0.999529417501, -0.999322384588, -0.999077727753, -0.998795456205, -0.998475580573, -0.9981181129, -0.997723066644, -0.997290456679, -0.996820299291, -0.996312612183, -0.995767414468, -0.995184726672, -0.994564570734, -0.993906970002, -0.993211949235, -0.992479534599, -0.991709753669, -0.990902635428, -0.990058210262, -0.989176509965, -0.988257567731, -0.987301418158, -0.986308097245, -0.985277642389, -0.984210092387, -0.983105487431, -0.98196386911, -0.980785280403, -0.979569765685, -0.97831737072, -0.977028142658, -0.975702130039, -0.974339382786, -0.972939952206, -0.971503890986, -0.970031253195, -0.968522094274, -0.966976471045, -0.965394441698, -0.963776065795, -0.962121404269, -0.960430519416, -0.958703474896, -0.956940335732, -0.955141168306, -0.953306040354, -0.951435020969, -0.949528180593, -0.947585591018, -0.945607325381, -0.943593458162, -0.941544065183, -0.939459223602, -0.937339011913, -0.935183509939, -0.932992798835, -0.930766961079, -0.928506080473, -0.926210242138, -0.923879532511, -0.921514039342, -0.91911385169, -0.916679059921, -0.914209755704, -0.911706032005, -0.909167983091, -0.906595704515, -0.903989293123, -0.901348847046, -0.898674465694, -0.895966249756, -0.893224301196, -0.890448723245, -0.887639620403, -0.884797098431, -0.881921264348, -0.879012226429, -0.876070094195, -0.873094978418, -0.870086991109, -0.867046245516, -0.863972856122, -0.860866938638, -0.85772861, -0.854557988365, -0.851355193105, -0.848120344803, -0.84485356525, -0.841554977437, -0.838224705555, -0.834862874986, -0.831469612303, -0.828045045258, -0.824589302785, -0.821102514991, -0.817584813152, -0.814036329706, -0.810457198253, -0.806847553544, -0.803207531481, -0.799537269108, -0.795836904609, -0.7921065773, -0.788346427627, -0.784556597156, -0.780737228572, -0.776888465673, -0.773010453363, -0.769103337646, -0.765167265622, -0.761202385484, -0.757208846506, -0.753186799044, -0.749136394523, -0.745057785441, -0.740951125355, -0.736816568877, -0.732654271672, -0.728464390448, -0.724247082951, -0.720002507961, -0.715730825284, -0.711432195745, -0.707106781187, -0.702754744457, -0.698376249409, -0.69397146089, -0.689540544737, -0.685083667773, -0.680600997795, -0.676092703575, -0.671558954847, -0.666999922304, -0.66241577759, -0.657806693297, -0.653172842954, -0.648514401022, -0.64383154289, -0.639124444864, -0.634393284164, -0.629638238915, -0.624859488142, -0.620057211763, -0.615231590581, -0.610382806276, -0.605511041404, -0.600616479384, -0.595699304492, -0.590759701859, -0.585797857456, -0.580813958096, -0.575808191418, -0.570780745887, -0.565731810784, -0.560661576197, -0.55557023302, -0.550457972937, -0.545324988422, -0.54017147273, -0.534997619887, -0.529803624686, -0.524589682678, -0.519355990166, -0.514102744193, -0.508830142543, -0.503538383726, -0.498227666973, -0.49289819223, -0.487550160148, -0.482183772079, -0.476799230063, -0.471396736826, -0.465976495768, -0.460538710958, -0.455083587126, -0.449611329655, -0.44412214457, -0.438616238539, -0.433093818853, -0.42755509343, -0.4220002708, -0.416429560098, -0.410843171058, -0.405241314005, -0.399624199846, -0.393992040061, -0.388345046699, -0.382683432365, -0.377007410216, -0.371317193952, -0.365612997805, -0.359895036535, -0.35416352542, -0.348418680249, -0.342660717312, -0.336889853392, -0.33110630576, -0.325310292162, -0.319502030816, -0.313681740399, -0.307849640042, -0.302005949319, -0.296150888244, -0.290284677254, -0.284407537211, -0.278519689385, -0.27262135545, -0.266712757475, -0.260794117915, -0.254865659605, -0.248927605746, -0.242980179903, -0.237023605994, -0.231058108281, -0.22508391136, -0.219101240157, -0.213110319916, -0.207111376192, -0.201104634842, -0.195090322016, -0.18906866415, -0.183039887955, -0.177004220412, -0.17096188876, -0.16491312049, -0.158858143334, -0.152797185258, -0.146730474455, -0.140658239333, -0.134580708507, -0.128498110794, -0.122410675199, -0.116318630912, -0.110222207294, -0.104121633872, -0.0980171403296, -0.0919089564971, -0.0857973123444, -0.0796824379714, -0.0735645635997, -0.0674439195637, -0.0613207363022, -0.0551952443497, -0.0490676743274, -0.0429382569349, -0.0368072229414, -0.0306748031766, -0.0245412285229, -0.0184067299058, -0.0122715382857, -0.00613588464915, -1.22464679915e-16, 0.00613588464915, 0.0122715382857, 0.0184067299058, 0.0245412285229, 0.0306748031766, 0.0368072229414, 0.0429382569349, 0.0490676743274, 0.0551952443497, 0.0613207363022, 0.0674439195637, 0.0735645635997, 0.0796824379714, 0.0857973123444, 0.0919089564971, 0.0980171403296, 0.104121633872, 0.110222207294, 0.116318630912, 0.122410675199, 0.128498110794, 0.134580708507, 0.140658239333, 0.146730474455, 0.152797185258, 0.158858143334, 0.16491312049, 0.17096188876, 0.177004220412, 0.183039887955, 0.18906866415, 0.195090322016, 0.201104634842, 0.207111376192, 0.213110319916, 0.219101240157, 0.22508391136, 0.231058108281, 0.237023605994, 0.242980179903, 0.248927605746, 0.254865659605, 0.260794117915, 0.266712757475, 0.27262135545, 0.278519689385, 0.284407537211, 0.290284677254, 0.296150888244, 0.302005949319, 0.307849640042, 0.313681740399, 0.319502030816, 0.325310292162, 0.33110630576, 0.336889853392, 0.342660717312, 0.348418680249, 0.35416352542, 0.359895036535, 0.365612997805, 0.371317193952, 0.377007410216, 0.382683432365, 0.388345046699, 0.393992040061, 0.399624199846, 0.405241314005, 0.410843171058, 0.416429560098, 0.4220002708, 0.42755509343, 0.433093818853, 0.438616238539, 0.44412214457, 0.449611329655, 0.455083587126, 0.460538710958, 0.465976495768, 0.471396736826, 0.476799230063, 0.482183772079, 0.487550160148, 0.49289819223, 0.498227666973, 0.503538383726, 0.508830142543, 0.514102744193, 0.519355990166, 0.524589682678, 0.529803624686, 0.534997619887, 0.54017147273, 0.545324988422, 0.550457972937, 0.55557023302, 0.560661576197, 0.565731810784, 0.570780745887, 0.575808191418, 0.580813958096, 0.585797857456, 0.590759701859, 0.595699304492, 0.600616479384, 0.605511041404, 0.610382806276, 0.615231590581, 0.620057211763, 0.624859488142, 0.629638238915, 0.634393284164, 0.639124444864, 0.64383154289, 0.648514401022, 0.653172842954, 0.657806693297, 0.66241577759, 0.666999922304, 0.671558954847, 0.676092703575, 0.680600997795, 0.685083667773, 0.689540544737, 0.69397146089, 0.698376249409, 0.702754744457, 0.707106781187, 0.711432195745, 0.715730825284, 0.720002507961, 0.724247082951, 0.728464390448, 0.732654271672, 0.736816568877, 0.740951125355, 0.745057785441, 0.749136394523, 0.753186799044, 0.757208846506, 0.761202385484, 0.765167265622, 0.769103337646, 0.773010453363, 0.776888465673, 0.780737228572, 0.784556597156, 0.788346427627, 0.7921065773, 0.795836904609, 0.799537269108, 0.803207531481, 0.806847553544, 0.810457198253, 0.814036329706, 0.817584813152, 0.821102514991, 0.824589302785, 0.828045045258, 0.831469612303, 0.834862874986, 0.838224705555, 0.841554977437, 0.84485356525, 0.848120344803, 0.851355193105, 0.854557988365, 0.85772861, 0.860866938638, 0.863972856122, 0.867046245516, 0.870086991109, 0.873094978418, 0.876070094195, 0.879012226429, 0.881921264348, 0.884797098431, 0.887639620403, 0.890448723245, 0.893224301196, 0.895966249756, 0.898674465694, 0.901348847046, 0.903989293123, 0.906595704515, 0.909167983091, 0.911706032005, 0.914209755704, 0.916679059921, 0.91911385169, 0.921514039342, 0.923879532511, 0.926210242138, 0.928506080473, 0.930766961079, 0.932992798835, 0.935183509939, 0.937339011913, 0.939459223602, 0.941544065183, 0.943593458162, 0.945607325381, 0.947585591018, 0.949528180593, 0.951435020969, 0.953306040354, 0.955141168306, 0.956940335732, 0.958703474896, 0.960430519416, 0.962121404269, 0.963776065795, 0.965394441698, 0.966976471045, 0.968522094274, 0.970031253195, 0.971503890986, 0.972939952206, 0.974339382786, 0.975702130039, 0.977028142658, 0.97831737072, 0.979569765685, 0.980785280403, 0.98196386911, 0.983105487431, 0.984210092387, 0.985277642389, 0.986308097245, 0.987301418158, 0.988257567731, 0.989176509965, 0.990058210262, 0.990902635428, 0.991709753669, 0.992479534599, 0.993211949235, 0.993906970002, 0.994564570734, 0.995184726672, 0.995767414468, 0.996312612183, 0.996820299291, 0.997290456679, 0.997723066644, 0.9981181129, 0.998475580573, 0.998795456205, 0.999077727753, 0.999322384588, 0.999529417501, 0.999698818696, 0.999830581796, 0.999924701839, 0.999981175283, 1.0, 0.999981175283, 0.999924701839, 0.999830581796, 0.999698818696, 0.999529417501, 0.999322384588, 0.999077727753, 0.998795456205, 0.998475580573, 0.9981181129, 0.997723066644, 0.997290456679, 0.996820299291, 0.996312612183, 0.995767414468, 0.995184726672, 0.994564570734, 0.993906970002, 0.993211949235, 0.992479534599, 0.991709753669, 0.990902635428, 0.990058210262, 0.989176509965, 0.988257567731, 0.987301418158, 0.986308097245, 0.985277642389, 0.984210092387, 0.983105487431, 0.98196386911, 0.980785280403, 0.979569765685, 0.97831737072, 0.977028142658, 0.975702130039, 0.974339382786, 0.972939952206, 0.971503890986, 0.970031253195, 0.968522094274, 0.966976471045, 0.965394441698, 0.963776065795, 0.962121404269, 0.960430519416, 0.958703474896, 0.956940335732, 0.955141168306, 0.953306040354, 0.951435020969, 0.949528180593, 0.947585591018, 0.945607325381, 0.943593458162, 0.941544065183, 0.939459223602, 0.937339011913, 0.935183509939, 0.932992798835, 0.930766961079, 0.928506080473, 0.926210242138, 0.923879532511, 0.921514039342, 0.91911385169, 0.916679059921, 0.914209755704, 0.911706032005, 0.909167983091, 0.906595704515, 0.903989293123, 0.901348847046, 0.898674465694, 0.895966249756, 0.893224301196, 0.890448723245, 0.887639620403, 0.884797098431, 0.881921264348, 0.879012226429, 0.876070094195, 0.873094978418, 0.870086991109, 0.867046245516, 0.863972856122, 0.860866938638, 0.85772861, 0.854557988365, 0.851355193105, 0.848120344803, 0.84485356525, 0.841554977437, 0.838224705555, 0.834862874986, 0.831469612303, 0.828045045258, 0.824589302785, 0.821102514991, 0.817584813152, 0.814036329706, 0.810457198253, 0.806847553544, 0.803207531481, 0.799537269108, 0.795836904609, 0.7921065773, 0.788346427627, 0.784556597156, 0.780737228572, 0.776888465673, 0.773010453363, 0.769103337646, 0.765167265622, 0.761202385484, 0.757208846506, 0.753186799044, 0.749136394523, 0.745057785441, 0.740951125355, 0.736816568877, 0.732654271672, 0.728464390448, 0.724247082951, 0.720002507961, 0.715730825284, 0.711432195745, 0.707106781187, 0.702754744457, 0.698376249409, 0.69397146089, 0.689540544737, 0.685083667773, 0.680600997795, 0.676092703575, 0.671558954847, 0.666999922304, 0.66241577759, 0.657806693297, 0.653172842954, 0.648514401022, 0.64383154289, 0.639124444864, 0.634393284164, 0.629638238915, 0.624859488142, 0.620057211763, 0.615231590581, 0.610382806276, 0.605511041404, 0.600616479384, 0.595699304492, 0.590759701859, 0.585797857456, 0.580813958096, 0.575808191418, 0.570780745887, 0.565731810784, 0.560661576197, 0.55557023302, 0.550457972937, 0.545324988422, 0.54017147273, 0.534997619887, 0.529803624686, 0.524589682678, 0.519355990166, 0.514102744193, 0.508830142543, 0.503538383726, 0.498227666973, 0.49289819223, 0.487550160148, 0.482183772079, 0.476799230063, 0.471396736826, 0.465976495768, 0.460538710958, 0.455083587126, 0.449611329655, 0.44412214457, 0.438616238539, 0.433093818853, 0.42755509343, 0.4220002708, 0.416429560098, 0.410843171058, 0.405241314005, 0.399624199846, 0.393992040061, 0.388345046699, 0.382683432365, 0.377007410216, 0.371317193952, 0.365612997805, 0.359895036535, 0.35416352542, 0.348418680249, 0.342660717312, 0.336889853392, 0.33110630576, 0.325310292162, 0.319502030816, 0.313681740399, 0.307849640042, 0.302005949319, 0.296150888244, 0.290284677254, 0.284407537211, 0.278519689385, 0.27262135545, 0.266712757475, 0.260794117915, 0.254865659605, 0.248927605746, 0.242980179903, 0.237023605994, 0.231058108281, 0.22508391136, 0.219101240157, 0.213110319916, 0.207111376192, 0.201104634842, 0.195090322016, 0.18906866415, 0.183039887955, 0.177004220412, 0.17096188876, 0.16491312049, 0.158858143334, 0.152797185258, 0.146730474455, 0.140658239333, 0.134580708507, 0.128498110794, 0.122410675199, 0.116318630912, 0.110222207294, 0.104121633872, 0.0980171403296, 0.0919089564971, 0.0857973123444, 0.0796824379714, 0.0735645635997, 0.0674439195637, 0.0613207363022, 0.0551952443497, 0.0490676743274, 0.0429382569349, 0.0368072229414, 0.0306748031766, 0.0245412285229, 0.0184067299058, 0.0122715382857, 0.00613588464915 };
diff --git a/benchmarks/vec-fft/vec-fft.c b/benchmarks/vec-fft/vec-fft.c
deleted file mode 100644
index b7b4d55..0000000
--- a/benchmarks/vec-fft/vec-fft.c
+++ /dev/null
@@ -1,171 +0,0 @@
-// See LICENSE for license details.
-
-// *************************************************************************
-// multiply function (c version)
-// -------------------------------------------------------------------------
-#include "vec-fft.h"
-#include "fft_const.h"
-
-int log2down(int in)
-{
- int counter = -1;
- while(in > 0) { counter++; in = in >> 1; }
- return counter;
-}
-
-void fft(fftval_t workspace_real[], fftval_t workspace_imag[],
- const fftval_t tf_real[], const fftval_t tf_imag[]) //size is FFT_SIZE
-{
- const int num_stage_ops = FFT_SIZE >> 1;
- const int logfftsize = log2down(FFT_SIZE);
-
- int given_vl;
- // First, setup hwacha to what we need:
-#if defined(FFT_FIXED)
- // num_stage_ops VL, 9 x-reg (1 zero, 2 ctrl, 4 data, 2 scratch), 1 fpu (avert bug)
- asm volatile ("vsetcfg 9, 1");
-#elif defined(FFT_FLOATING)
- asm volatile ("vsetcfg 8, 6");
- #if defined(FP_SINGLE)
-// asm volatile ("vsetprec 32");
- #elif defined(FP_HALF)
-// asm volatile ("vsetprec 16");
- #elif defined(FP_DOUBLE)
- #else
- #error wat
- #endif
-#endif
- asm volatile ("vsetvl %[gvl], %[nvl]" : [gvl]"=r"(given_vl) : [nvl]"r"(num_stage_ops));
- asm volatile ("fence"); // Make sure prefilling of workspace is complete
-
- for(int stage = 0; stage < logfftsize; stage++)
- {
- const int half_cur_fft_size = (1 << stage);
- const int sel_block_op = half_cur_fft_size-1;
- const int sel_block = ~sel_block_op;
- const int tf_scale = logfftsize - stage - 1;
-
- // Stripmining loop
- for(int lane_start = 0; lane_start < num_stage_ops; lane_start += given_vl)
- {
- // Setup new vector length for this stripmining pass
- const int needed_vl = num_stage_ops - lane_start;
- asm volatile ("vsetvl %[gvl], %[nvl]" : [gvl]"=r"(given_vl) : [nvl]"r"(needed_vl));
-
-#if defined(FFT_FIXED)
- // First VF block to have vector unit determine what op it is doing
- asm volatile (R"(
- vmsv vx1, %[lane_start]
- vmsv vx2, %[sel_block]
- vmsv vx3, %[sel_block_op]
- vmsv vx4, %[tf_scale]
- vmsv vx5, %[half_cfs]
- vf 0(%[vf_ptr])
- )": // no output registers
- : [lane_start]"r"(lane_start),
- [sel_block]"r"(sel_block),
- [sel_block_op]"r"(sel_block_op),
- [tf_scale]"r"(tf_scale),
- [half_cfs]"r"(half_cur_fft_size),
- [vf_ptr]"r"(&vf_fft_init)
- : // no clobber
- );
-
- // Second VF block loads tf and op2 then calculates scale factor
- asm volatile (R"(
- vmsv vx4, %[tf_real]
- vmsv vx5, %[tf_imag]
- vmsv vx6, %[workspace_real]
- vmsv vx7, %[workspace_imag]
- vmsv vx8, %[fix_pt]
- vf 0(%[vf_ptr])
- )": // no output registers
- : [tf_real]"r"(tf_real),
- [tf_imag]"r"(tf_imag),
- [workspace_real]"r"(workspace_real),
- [workspace_imag]"r"(workspace_imag),
- [fix_pt]"r"(FIX_PT),
- [vf_ptr]"r"(&vf_fft_scale)
- : // no clobber
- );
-#elif defined(FFT_FLOATING)
- // First VF block to have vector unit determine what op it is doing
- asm volatile (R"(
- vmsv vx1, %[lane_start]
- vmsv vx2, %[sel_block]
- vmsv vx3, %[sel_block_op]
- vmsv vx4, %[tf_scale]
- vmsv vx5, %[half_cfs]
- vf 0(%[vf_ptr])
- )": // no output registers
- : [lane_start]"r"(lane_start),
- [sel_block]"r"(sel_block),
- [sel_block_op]"r"(sel_block_op),
- [tf_scale]"r"(tf_scale),
- [half_cfs]"r"(half_cur_fft_size),
- [vf_ptr]"r"(&vf_fft_init)
- : // no clobber
- );
-
- // Second VF block loads tf and op2 then calculates scale factor
- asm volatile (R"(
- vmsv vx4, %[tf_real]
- vmsv vx5, %[tf_imag]
- vmsv vx6, %[workspace_real]
- vmsv vx7, %[workspace_imag]
- vf 0(%[vf_ptr])
- )": // no output registers
- : [tf_real]"r"(tf_real),
- [tf_imag]"r"(tf_imag),
- [workspace_real]"r"(workspace_real),
- [workspace_imag]"r"(workspace_imag),
- [vf_ptr]"r"(&vf_fft_scale)
- : // no clobber
- );
-#else
- #error no mode selected in vec-fft/vec-fft.c
-#endif
-
- // Third VF block actually calculates the results
- asm volatile (R"(
- vmsv vx5, %[workspace_real]
- vmsv vx6, %[workspace_imag]
- vf 0(%[vf_ptr])
- )": // no output registers
- : [workspace_real]"r"(workspace_real),
- [workspace_imag]"r"(workspace_imag),
- [vf_ptr]"r"(&vf_fft_exec)
- : // no clobber
- );
-
- // Fourth VF block stores first result
- asm volatile (R"(
- vmsv vx3, %[workspace_real]
- vmsv vx4, %[workspace_imag]
- vf 0(%[vf_ptr])
- )": // no output registers
- : [workspace_real]"r"(workspace_real),
- [workspace_imag]"r"(workspace_imag),
- [vf_ptr]"r"(&vf_fft_store1)
- : "memory"
- );
-
- // Fifth VF block stores second result
- asm volatile (R"(
- vmsv vx3, %[workspace_real]
- vmsv vx4, %[workspace_imag]
- vf 0(%[vf_ptr])
- )": // no output registers
- : [workspace_real]"r"(workspace_real),
- [workspace_imag]"r"(workspace_imag),
- [vf_ptr]"r"(&vf_fft_store2)
- : "memory"
- );
-
- }
- }
-
- asm volatile ("fence"); // Make sure all that work from vector unit is visible to CPU
-
- return;
-}
diff --git a/benchmarks/vec-fft/vec-fft.h b/benchmarks/vec-fft/vec-fft.h
deleted file mode 100644
index 7656cbc..0000000
--- a/benchmarks/vec-fft/vec-fft.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// See LICENSE for license details.
-
-#ifndef __VEC_FFT_H
-#define __VEC_FFT_H
-
-#include "fft_const.h"
-
-// Simple C version
-
-int log2down(int in);
-void fft(fftval_t workspace_real[], fftval_t workspace_imag[], const fftval_t tf_real[], const fftval_t tf_imag[]);
-
-// VF blocks - DO NOT CALL FROM SCALAR CORE
-extern void vf_test();
-extern void vf_fft_init();
-extern void vf_fft_scale();
-extern void vf_fft_exec();
-extern void vf_fft_store1();
-extern void vf_fft_store2();
-
-#endif /* __VEC_FFT_H */
diff --git a/benchmarks/vec-fft/vec-fft_gaussian.c b/benchmarks/vec-fft/vec-fft_gaussian.c
deleted file mode 100644
index a8c1e09..0000000
--- a/benchmarks/vec-fft/vec-fft_gaussian.c
+++ /dev/null
@@ -1,14 +0,0 @@
-// See LICENSE for license details.
-
-int input_data_real[1024] = {-896054, 949431, -1181578, 253232, -258369, -152000, 619625, -76677, 465711, -549326, -886958, -966940, 642303, -1412490, 762634, -220791, -1315319, -2559848, 1722557, -1279554, -784697, -85712, -470933, -2785179, -66578, -1597429, -409911, 896, 1027796, 48085, 1774527, 562113, 1795654, 983044, -60377, -1573581, 1030270, -773291, -987375, -291152, 1126075, -406236, -630897, 1531200, 153252, -1544032, 518357, -479677, -489022, 768468, 216657, 978756, 60305, 323742, -266762, -1654684, 1162783, 367356, -215242, 77760, 584574, 352846, -1205031, 202189, 12621, -777742, 1241171, -353489, -201242, 268114, 7405, 511548, 594019, 1378269, -470360, -1419079, -2068041, -224985, 773760, -133786, 166345, 56818, -329117, 710806, -406329, -325712, -1090084, 70838, 1004493, 716570, 1557742, 1814687, -1044653, 865660, 423172, 280485, 122644, 1599035, 836955, -966475, -731759, -1342635, -918704, -478514, -1729195, -275916, 1481397, -80107, -320867, 1571394, 441358, 1095253, 123305, 515740, 558500, 735220, -1409019, -192480, 750830, -385698, -133846, 582203, -538534, 906199, 448649, -1011173, 1112875, 305645, -427417, -1621730, -771200, -807072, -1648200, 2275694, -250040, 166780, 75114, 1498792, -852391, -1449432, 387756, 590382, 630725, 1111966, -1463601, 1379964, 588656, 36544, 585505, -675475, -1147007, 122834, -2281502, 1148931, 840446, -1322731, 2822403, 164183, 799482, 212823, -1077917, -2276541, -2416247, -1866483, 25406, -532814, -28766, -3399, -229289, -884731, -697664, 1388647, 1413131, 695668, 1600785, 1053622, 1882168, 807694, 1496109, 414407, -354594, 852655, -726330, -760018, 203035, 861991, 2077817, -278761, -1692805, -163980, 152551, 99640, -1544466, 424749, 600022, -224627, 1700150, 257985, -710227, -653561, -278079, 65958, 536047, -514225, 131065, 1879774, 1325692, -418569, -94234, -1567061, -1329031, -185396, 321072, -576789, -2082050, 120663, -1112296, -526319, 763200, -26381, 1324391, -740749, 173611, -1034909, -400867, -599852, -854975, 506465, -470497, -1690555, -599600, -774910, 480166, -551595, -154846, 1148952, -531685, -1420372, 115244, -44897, 224230, -235359, -491645, 580113, -930422, -1959150, 660689, -312934, -775785, -1447388, -738147, 327008, 117518, -1024839, -742963, 1113591, 512088, 981759, 224251, 879687, 530700, 793549, -1133250, -1984799, -201157, -226046, -693217, 1865422, -1323405, 727875, 1099706, -572954, 876134, 5546, -359252, -1477340, -1827760, 1425401, -713946, 407302, 296915, 428736, -1928924, 199630, -268383, 524386, -954547, -1009395, -299817, -310362, -3118676, 619580, 274035, -291538, 10998, 54373, -2682711, 1059473, 1900561, -1072897, 390315, 553662, 286722, -575054, 291089, -324509, -2201875, -1739589, -592230, -2358024, 1035206, 101656, 51362, -161931, 982101, 1972023, -940406, 117267, 919302, 706673, -526962, 3251470, -70727, 1354903, -123238, 191080, 2197403, -907972, -1631270, -273662, -43394, 100110, -1757122, 424462, -318587, 241805, -1161233, -766219, -844215, -424058, -571869, 1058981, -576705, -69864, 786586, 3420949, 1175440, -1369774, -1033382, 1895799, -160257, -500482, 649412, 523523, 1044180, 455826, 604125, 781678, -35555, -380257, -2101152, -2052395, 1345031, -1749075, -1898768, 2596126, 877930, 886063, -1747101, 361069, -2709924, -387654, 1461459, 278642, 284030, -2189727, -579640, -410905, 1800776, -387552, -616487, -891888, 1293689, 544185, 165521, -746200, 25612, -748496, -693907, 440270, -1355509, 802877, -226185, -122957, -163764, 706156, -599130, 2085773, 687121, 1536468, -197261, -65999, -602517, -1996625, 711481, 558923, 1575241, -131589, 1443891, 853304, 1450518, 2433068, -614678, 902956, 276921, -865560, 1250774, 1178148, 1627304, -526388, -293789, 163521, -2227160, -1681836, 1054701, -2316942, -575982, -220544, -907539, -728331, -149547, -309108, 1339888, -698216, 333701, 437526, 2094829, -1361341, -461547, 1162315, 1493649, -1052221, 403851, 841804, 2322413, 271887, 1100268, 954880, 97292, 638758, 300629, 654241, -1190910, -141642, 709317, -1761989, -1445740, 1071331, 1503261, -492201, -975276, 730555, -450130, -678104, -690089, -1439162, 226482, -48190, 977167, -403028, -660667, 602354, -970278, 376586, 1099863, -537913, 627956, -71364, -819583, -116110, 114762, 1227038, -416023, 1263602, 419692, 1489545, -323662, 57509, 148590, -627405, -1416122, -994706, -1207921, 2849186, 87464, 38164, -790326, -810378, 917028, -1707856, -782588, 39726, 1311549, 476992, 121776, -5966, -1107219, -113871, -1836494, 292648, 782507, -327742, 1568375, 1031082, 875287, -949597, -364015, -1345238, 2049161, 1199569, -1566459, 432513, -697595, -1989664, 117455, -298029, -372192, -278563, 785990, -307587, 2308882, -128000, 853709, -469916, 569248, -1013809, -92453, -612595, -976635, 407757, -278549, -553747, -1127594, 35556, -967385, -1254461, 2458671, -1235129, 112282, -7618, 1232264, -1584499, 546417, 636949, -788087, 204249, 563736, 905080, 24683, -772095, 957269, -476610, 3997491, -1132151, -87573, -1925741, 423206, 1759035, 345800, -1505568, 857837, 1280631, 672655, 1133353, -2360246, -310429, 1471262, 1874920, -942267, -494638, -1092077, -10703, -798528, 291551, 195560, 603693, 485551, -37890, -681278, 1318510, -1775936, -267078, -1193401, -626711, 427957, -977820, 1177448, -1891652, -486457, -1858903, -251575, 1087978, -1625087, 298155, -1557769, 1112788, 1633070, 742091, 750361, 717342, -597939, -393911, -348514, 1606463, 1104431, -1780884, -1724355, -1087455, -626704, -234591, -841, 595062, -210024, -1150164, 298276, -1357687, 1092760, -795133, 437956, -1073763, -541, -1756437, -423091, -135638, -501750, 1843207, -499411, 515043, -347171, -1864412, 2081029, 935757, -1217682, -862780, 643680, -1682284, 1052595, -1055351, 1278938, -2296045, 728516, -1328562, 316609, -503151, -1317546, -310576, -821390, 717855, -447765, -82472, 226472, -2007236, 1839585, -908416, -131113, 61112, -439936, 37521, -56853, -322043, -537081, -1305022, 613039, -398354, -2251352, -274268, 213708, 1216898, -145297, 163831, 802134, 616814, 742237, 71663, -181725, -234834, 1567310, -433700, 1143683, 1217074, 588362, 880977, 257134, -251325, 419032, 1358747, -1010892, 911781, -114881, 1358209, 1938967, 2496063, 643557, 1131044, 1215299, -1293521, -552701, 535820, -59013, -364820, 401230, -493578, 934606, 947383, 90222, -982021, 823033, -767065, 719868, 555083, -542885, -248389, 683906, -1000980, 960526, 379686, -1332005, 3005752, -1014656, -707705, 957653, 1395720, 695949, -2199684, -1472357, -1402525, -1056170, -773175, -1038523, -1648483, 439225, -604068, 323281, 990838, -258093, -642187, 638228, 1016123, 1215852, -755431, -791548, 232428, -82638, 420739, -1182173, 2073021, -190956, -1426757, 1310320, -529883, 905258, 232249, -107927, -778138, -739516, 819476, 380856, 324304, 750739, -85899, -224870, 2741555, 241328, -1001409, 410347, -803508, 1603523, 83407, -1310198, -841961, -1499826, -231665, -1204370, 365869, 657035, -870479, -947226, 41541, 53460, 1185594, 197060, -442508, 560089, -648000, -1789746, 199013, 792625, 983644, -1255249, 611407, -642979, 2761, 1029260, 165283, -346945, -1241505, -1867499, -330354, 453762, 1144514, 1677530, -794614, -113484, 93134, 174381, 91979, -1072786, 546927, -950065, -1068562, -1316833, 2010054, 1167861, 376645, -1598679, -330354, -64535, -439935, 108686, -122528, -816010, -1657702, 1640815, -729089, -2109620, -1544674, 1751899, 828989, 1396845, -840295, 807944, -1422573, -1962193, -1494306, 1100314, -1035079, -113884, -755568, 311640, 21811, 1118977, 1769466, 272869, 1483856, -2397511, -1212979, -1870837, 66655, -844513, 566095, 258971, -2441991, -53408, 2379521, 1579490, 94538, -1729911, -2271954, -92893, -57722, 755889, 971922, 61839, 1289233, -1708188, 429444, 329090, -846816, -1406843, -329808, -487371, -1342151, -7656, 2160620, 1048363, -1481379, -1973413, 89442, -863813, -334120, 2920250, 1679680, -203732, -840043, 812270, -1065058, 1000115, -1755099, 1098146, -206412, -352184, 45945, -2653853, 539338, -217170, -25474, -1541171, -640479, -1465498, -590507, -294424, 1133931, -258876, -1336660, -36708, -136578, 274059, 2340197, -1661670, -569377, 11224, -781516, 1231584, 2084167, 647286, 1491175, 1359026, 1980953, -529280, 326660, 833554, 1246125, -1181280, -440724, -999991, -1751126, -1058615, 1202373, 379613, -94962, -548041, -2378721, 340897, 1644642, 384925, 10212, -1439416, 1377793, 1736966, -677616, -185008, 1062970, 334065, -923961, 1591540, -323994, 1729168, 1105046, -261575, -256889, 417819, 591476, -1039900, -873951, 299386, -365, -574062, -12822, 773415, -1887046, 1720955, 401646, 903317, 843614, 24321, 397914, -517594, -966687, 1225655, 1041758, 1609662, 530653, 2082272, 379586, -653861, -1324874, -543320, -902844, -156747, 314204, -221853, 698115, 2373708, -473267, -867591, 1789907, 50399, 148680, 110642, 2565631, 1338325, 1122299, -771531, -434336, 962718, -417205, 325343, 221979, -432146, 2039328, -496594, 646733, 707371, -555182, -499570, -1122461, 70865, -267403, -21031, 967469, 515973, 1838992, 1806965, -118340};
-
-int input_data_imag[1024] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-int output_data_real[1024] = {-12552904, 900359, 13572614, 6612100, 21544345, 11727877, 41132063, 19376007, 28943753, -27164137, -33144128, 6308054, -4036209, 5075419, 61637708, -7000522, 10258235, -3290422, -1930761, -34401327, 11137064, 7072560, -5882191, -220280, 23820092, -2747162, -28342204, 3125936, 7067612, -29776710, 55435764, -17075007, -19174432, 20671700, -12850843, -7092760, 28566808, 7334062, -4448199, 9472241, 47990150, -14256806, 34713414, 685658, -11454543, -23878239, -3851980, -31644251, -37423854, -1393894, 7232213, 8636293, 11497913, 9667982, 35262268, 5288923, -55684640, 3700995, -22558252, 18480571, -3559982, -8088458, -4285223, 7405114, -7771936, 12380211, -22448319, -4486944, -5799558, -6360713, -42620553, 9922426, 53490, 34344676, 9036257, -11010380, 8992865, 6702815, 37459231, -51621029, 45427877, -33475926, 6145230, -1165894, 9274164, -6597275, -3224277, 7626625, 61264116, -44474201, 124449, -2018025, 17789771, -17386333, 21059636, 25853157, 24492414, -36973351, -898990, 10429825, 33784360, -12611474, -9253302, -11470671, -23838238, -5434085, -8063059, -10329404, -24686045, 7658790, -17604946, 4041983, 17475815, -15225635, -6527846, -73005557, -386102, 17003988, -12259825, -11144953, 36458684, 29952905, 23484279, -30698712, 34127344, 9315402, -786106, -20800916, 27201257, 4772119, -20300899, -5423789, 30842314, -24840735, -18319755, 50925957, 19428607, -20411834, 12547811, -1014932, 10278862, -32309319, -1845021, -1849277, -45728792, 2285470, 35351079, 4290917, -30853329, -8422261, -36146114, 27125965, -17918864, -3137631, 16473491, 4954133, -15439592, 17157868, -18076982, -34202615, -18793524, -10174558, -2904950, 11985992, -44150120, -35036737, 21105041, 20053489, -1150444, 5200899, -9805414, -23632872, -9796924, -17291839, -12551635, -16640164, -6028118, -12190830, -10279820, -883003, 3527116, 40755752, 28098784, -7167611, 5362554, -41423374, 24889496, 47850412, 12089976, -37773935, -18754709, 46972743, 22713778, -16370229, 26601571, 6009203, -23452807, -11836470, 43211515, 20586799, 33670875, -50098827, 38216755, 3992212, -48197762, 10221413, -4180759, 38877047, 24300809, 29759474, -3046819, -24536720, 36519832, -32126982, 48288800, -35312888, 609558, -47953658, -37884802, 25200530, 4336904, 1479356, -7797884, -18955924, -32376585, -21405801, 29384571, -24481459, 2543253, 17158726, -2776591, 11240742, 15819802, -6537788, -4704053, 714275, 11628194, 28723061, 5738400, -37731881, 13312717, 5031202, 3486856, 33969822, -45736651, 9926004, 11254269, -8851157, -32157646, 12021993, 5884165, 15241604, 6434347, -17375580, -15489770, 52491003, -15225800, -14319845, 16184057, -23298538, -12183843, 15891533, -24134472, -15409885, -33973366, 36464591, -41740876, -5814469, -47863361, 5361930, 23994350, 25062493, -3595486, 5781951, 11066975, 20050830, 1161667, -48325555, -50611922, 9501699, 40705759, -5313072, -9659277, 10592603, -20218838, 18738334, -3328681, 36037414, -7491180, -31052879, -16631065, 8521060, 33240862, 32028228, 4855574, -4137820, -2219601, 18511495, -18457783, 32503042, -24587081, -10376774, 48721064, 5739730, -19871347, -3666797, 2290638, -46611214, 34189522, 34232428, -76237564, 16828591, -653519, -24934144, -13619213, -34352692, -9241485, -38754679, -29896052, 14155622, -14851765, -7247528, -11442225, 23899339, 21619168, 16078611, 1056057, 12534212, -8524125, -18563168, 1189818, 3284210, 18933819, -168384, -19548176, 3351897, 26023992, 5652407, 18821169, 5444904, -21497967, -18921004, 16911041, -28914605, -32035931, 29907843, 25885333, -4662420, -44175706, -18961154, -12390312, -30787883, 234931, 20687676, 1626383, 24397270, 28930792, 23854935, 3621212, -14037045, 5835273, -22733870, -15069814, 22891991, -5135262, -38748231, -8301851, -32091129, 6556125, 19593984, 29121989, 21557498, 24757875, 7340453, -12388807, -14846595, 31262548, -19666223, 6846384, 25564004, 1344657, -14261594, 34748326, 26024037, -2144417, -16123700, 14820402, 11115160, -24641550, -22153858, -9135007, 5480795, -2482695, 29012030, 20961896, -10222219, 3885264, -11027804, -22889506, 34689823, 8311915, -22242556, 18673513, -5202883, 5908575, 23036139, -3855230, -74608942, 13512302, -9837005, 3273908, -49960540, -11076455, 45599654, -40257199, 9076658, -27009729, 4399532, -13005537, -28775110, -3973568, -21385680, -14196021, -24651745, -18867054, -19140980, 29662849, -29940752, -18104043, -16287558, -9058976, 28073203, 27184046, -7723259, 701913, 18190003, 12586763, -34934264, -11473700, 4147803, 12865353, -23153211, 14184342, 849631, 9742551, 15656015, 1221034, -2745933, -55104836, 818333, 10184835, -39362197, 3106268, 49992663, 37017075, 3750303, -983440, -10290521, 4533740, 8052801, -27625442, -11484030, -5162240, 44681978, -14633727, 21739135, 6304123, 29959360, -17983352, 13539318, -42605105, -16083591, -41238795, -734838, -18941413, -23180474, 5784245, 42435559, -9134333, 7998833, -6148840, -35251769, -11080087, 5868914, 20072717, -24259041, -3030660, 16518116, -63597382, 21360935, 6670140, 27257482, -1314107, 7280448, 55584322, 9679983, 1404784, -20769472, -9417164, -15378773, -37098082, 20582563, -20200971, 4098965, 3273742, 5234704, 17739141, -35916362, 2538992, 7932900, 13107659, -66841471, -16623704, -66841471, 13107659, 7932900, 2538992, -35916362, 17739141, 5234704, 3273742, 4098965, -20200971, 20582563, -37098082, -15378773, -9417164, -20769472, 1404784, 9679983, 55584322, 7280448, -1314107, 27257482, 6670140, 21360935, -63597382, 16518116, -3030660, -24259041, 20072717, 5868914, -11080087, -35251769, -6148840, 7998833, -9134333, 42435559, 5784245, -23180474, -18941413, -734838, -41238795, -16083591, -42605105, 13539318, -17983352, 29959360, 6304123, 21739135, -14633727, 44681978, -5162240, -11484030, -27625442, 8052801, 4533740, -10290521, -983440, 3750303, 37017075, 49992663, 3106268, -39362197, 10184835, 818333, -55104836, -2745933, 1221034, 15656015, 9742551, 849631, 14184342, -23153211, 12865353, 4147803, -11473700, -34934264, 12586763, 18190003, 701913, -7723259, 27184046, 28073203, -9058976, -16287558, -18104043, -29940752, 29662849, -19140980, -18867054, -24651745, -14196021, -21385680, -3973568, -28775110, -13005537, 4399532, -27009729, 9076658, -40257199, 45599654, -11076455, -49960540, 3273908, -9837005, 13512302, -74608942, -3855230, 23036139, 5908575, -5202883, 18673513, -22242556, 8311915, 34689823, -22889506, -11027804, 3885264, -10222219, 20961896, 29012030, -2482695, 5480795, -9135007, -22153858, -24641550, 11115160, 14820402, -16123700, -2144417, 26024037, 34748326, -14261594, 1344657, 25564004, 6846384, -19666223, 31262548, -14846595, -12388807, 7340453, 24757875, 21557498, 29121989, 19593984, 6556125, -32091129, -8301851, -38748231, -5135262, 22891991, -15069814, -22733870, 5835273, -14037045, 3621212, 23854935, 28930792, 24397270, 1626383, 20687676, 234931, -30787883, -12390312, -18961154, -44175706, -4662420, 25885333, 29907843, -32035931, -28914605, 16911041, -18921004, -21497967, 5444904, 18821169, 5652407, 26023992, 3351897, -19548176, -168384, 18933819, 3284210, 1189818, -18563168, -8524125, 12534212, 1056057, 16078611, 21619168, 23899339, -11442225, -7247528, -14851765, 14155622, -29896052, -38754679, -9241485, -34352692, -13619213, -24934144, -653519, 16828591, -76237564, 34232428, 34189522, -46611214, 2290638, -3666797, -19871347, 5739730, 48721064, -10376774, -24587081, 32503042, -18457783, 18511495, -2219601, -4137820, 4855574, 32028228, 33240862, 8521060, -16631065, -31052879, -7491180, 36037414, -3328681, 18738334, -20218838, 10592603, -9659277, -5313072, 40705759, 9501699, -50611922, -48325555, 1161667, 20050830, 11066975, 5781951, -3595486, 25062493, 23994350, 5361930, -47863361, -5814469, -41740876, 36464591, -33973366, -15409885, -24134472, 15891533, -12183843, -23298538, 16184057, -14319845, -15225800, 52491003, -15489770, -17375580, 6434347, 15241604, 5884165, 12021993, -32157646, -8851157, 11254269, 9926004, -45736651, 33969822, 3486856, 5031202, 13312717, -37731881, 5738400, 28723061, 11628194, 714275, -4704053, -6537788, 15819802, 11240742, -2776591, 17158726, 2543253, -24481459, 29384571, -21405801, -32376585, -18955924, -7797884, 1479356, 4336904, 25200530, -37884802, -47953658, 609558, -35312888, 48288800, -32126982, 36519832, -24536720, -3046819, 29759474, 24300809, 38877047, -4180759, 10221413, -48197762, 3992212, 38216755, -50098827, 33670875, 20586799, 43211515, -11836470, -23452807, 6009203, 26601571, -16370229, 22713778, 46972743, -18754709, -37773935, 12089976, 47850412, 24889496, -41423374, 5362554, -7167611, 28098784, 40755752, 3527116, -883003, -10279820, -12190830, -6028118, -16640164, -12551635, -17291839, -9796924, -23632872, -9805414, 5200899, -1150444, 20053489, 21105041, -35036737, -44150120, 11985992, -2904950, -10174558, -18793524, -34202615, -18076982, 17157868, -15439592, 4954133, 16473491, -3137631, -17918864, 27125965, -36146114, -8422261, -30853329, 4290917, 35351079, 2285470, -45728792, -1849277, -1845021, -32309319, 10278862, -1014932, 12547811, -20411834, 19428607, 50925957, -18319755, -24840735, 30842314, -5423789, -20300899, 4772119, 27201257, -20800916, -786106, 9315402, 34127344, -30698712, 23484279, 29952905, 36458684, -11144953, -12259825, 17003988, -386102, -73005557, -6527846, -15225635, 17475815, 4041983, -17604946, 7658790, -24686045, -10329404, -8063059, -5434085, -23838238, -11470671, -9253302, -12611474, 33784360, 10429825, -898990, -36973351, 24492414, 25853157, 21059636, -17386333, 17789771, -2018025, 124449, -44474201, 61264116, 7626625, -3224277, -6597275, 9274164, -1165894, 6145230, -33475926, 45427877, -51621029, 37459231, 6702815, 8992865, -11010380, 9036257, 34344676, 53490, 9922426, -42620553, -6360713, -5799558, -4486944, -22448319, 12380211, -7771936, 7405114, -4285223, -8088458, -3559982, 18480571, -22558252, 3700995, -55684640, 5288923, 35262268, 9667982, 11497913, 8636293, 7232213, -1393894, -37423854, -31644251, -3851980, -23878239, -11454543, 685658, 34713414, -14256806, 47990150, 9472241, -4448199, 7334062, 28566808, -7092760, -12850843, 20671700, -19174432, -17075007, 55435764, -29776710, 7067612, 3125936, -28342204, -2747162, 23820092, -220280, -5882191, 7072560, 11137064, -34401327, -1930761, -3290422, 10258235, -7000522, 61637708, 5075419, -4036209, 6308054, -33144128, -27164137, 28943753, 19376007, 41132063, 11727877, 21544345, 6612100, 13572614, 900359};
-
-int output_data_imag[1024] = {0, -5173739, 8732116, -9198791, 14335177, 438680, -22709701, -17845044, 46347274, -6345647, -2448769, -3536186, -11317514, -6755869, -56193258, 20510638, 36621773, 15143807, -23048336, -38525115, -34883897, 24214333, -25231715, -12107006, 713935, -26002012, 9793100, 27093766, 4897309, -15653296, 10724876, -29977588, 4309154, 23693365, -7664895, -45459513, 23194556, -2303636, 1369664, 2909709, -27032265, 20630463, -6235213, -2795181, -11657347, -56308552, -20811426, -35038296, 17912124, -14484060, -6781618, -38557643, -19148006, 35906257, 48027176, -21283279, 40736471, -11382928, 38262486, 12787192, -23033012, -8422805, -5377539, 22253959, -30745831, -29877218, -4239294, -28422500, -3618200, 13973117, 29741342, -17022267, -1957036, 8899885, 15742866, -33238888, 10084317, 26605444, 1030161, -21185160, -34935187, -16030047, 3642533, -34366997, 1826498, 29308452, -25112834, 20471937, -1180009, 37130194, -38361361, -15382227, -28458875, -10901236, 51939635, -10001075, 8415830, 14969775, -2200086, -8987923, -33459044, -19604410, 14599232, 15030263, 3116624, -240613, 35488914, -17880023, 12116931, 970002, -1645052, 11739988, -12405219, -8531371, 6280980, 43285275, 53294091, 14438956, -30709790, 3150296, -33870140, -30033796, -28257394, 2750861, 25734336, -10970839, -11661418, 44020436, 51741722, 31593825, 1747345, -20312309, -10179497, -21226148, 9835530, -9842343, -37542741, 42470495, -11301906, 11074125, 8780329, -17607802, -3312496, 13724852, 7735047, 26992838, -9180479, 32233478, -16313096, -18433286, -30525619, 28005433, -10111916, 21313758, 16044736, 12597726, -32790484, -16457884, -22200939, -18952889, -8466738, -31433357, 16965458, -2667905, 34294230, -15693435, -38503205, -27036248, 9870059, -10850678, 34292210, -41648342, -51497130, -14892223, 37945215, 8713693, -35858488, 5589150, 9267318, 8617025, -26936877, -4618667, 28945096, -18109048, 4284503, -20954012, 18336350, 8975377, 5324160, 32515341, 8257865, -12876619, 15988251, -96265292, -4176864, 2844196, 10868795, -21900938, 5968061, 1897870, -22256630, 5224738, 60085554, -16237695, -6969494, 3596058, -53074519, -18673224, 4900205, -24041184, 14133732, 25686170, 21028590, 19631795, -59800506, 14736647, 4895114, 4574152, -16549930, -50712873, 25373350, -32709009, -44358772, 58484885, 30214820, -11849460, 28322835, 21857252, -5628499, 36482875, -45328150, -30533556, 37530144, -3175589, -8391765, 20977257, -45409365, -14941794, 26381932, -17752896, -20050130, 29577848, -24457742, -51927238, -24413730, -12321691, -45195789, 30714238, -36509740, -40891318, -536372, 38490970, 37769763, -22775001, -8782034, 50315786, 8747460, -8082453, 9112167, 25470858, -9026632, -12237932, 11922939, -37462363, 30931967, 26476785, 11104819, -2942996, 36609737, -10110669, -17494763, -32857246, -22093506, -26127426, -41073536, 12327567, -10858236, -1433333, 3051905, -41817568, -25322923, 21665127, -41081131, 9433003, -33500087, 6396874, -13125160, 14694942, 33578834, 5602343, 13130115, 11729869, -3278485, -8709757, -25016094, -18683886, 6448906, 3171432, 21909223, -13641011, 44653591, 1198608, -11304099, -2542801, 32260023, 39939458, -16829798, -9366616, 63722083, -20680408, 4166791, 8554116, -19087027, -14876678, -9029718, -16314336, -5015656, -28571608, 26241701, 23027632, -8151529, 9721116, 536487, -41407616, 25405396, -22804081, 18988939, 23502922, 14160197, 17047542, 30171442, -35782940, 18122433, 7041401, -7896995, -38654097, 6224865, 9032313, -43765857, 5509349, -32164669, 15514221, -9215526, -2280056, -33678728, -5924909, -15688654, 5877933, -21068700, 33958782, -21540809, 21514861, -23099501, 12167718, 1477466, -31225530, 30547368, 34724033, -12194598, -6927380, 28757001, 3608809, 6260154, 21036639, 26307468, 6147806, 32175079, 3022892, 4585861, 13438166, -1341850, -32018696, 20165657, 10924238, 4349653, 29344316, 11808656, -38962700, 2846524, 29271928, 14628346, -1606887, 19934345, -15553962, 20620814, -15345862, 13570431, -26033484, -17323815, 19138174, -5342012, -10847049, 6212685, 36134613, -19766821, 3420438, 14880233, -7546326, -30108011, -8147370, 5736405, -28832233, 7260622, -38196573, 7983744, 39941609, 36752501, -18229998, -12591531, -5449065, -3928810, -1198627, 21680350, 27274726, -24915723, 3674016, 10314988, -43129459, -11082589, -30512620, 35820807, -22031772, 10768143, 13007038, 532791, 10880345, -18259021, -2701802, 20569560, 4152182, -13884018, 10854482, 12409669, -16238838, 13056624, -5799578, -57146386, 33718206, 21125488, -23646294, -41201403, 6564701, 12270149, 34778357, -40546139, -8501137, 39065223, 5721295, 14034699, 39589659, -490345, -26369806, -36847561, 14754701, 40726766, -29337748, -1383770, 19937687, 15436341, -396690, -16681977, 6868965, -21414293, -6831406, 15671217, 165948, -31373984, -14083491, 31088721, -7143287, -22061171, -29467733, 56712, -20509584, -78381147, 32974224, -62195634, -17486541, -28238711, -44529567, 31706075, -44738518, -25633029, 8759873, -15345780, -12994147, -21208035, -25026091, -11433931, 15909594, -15057552, 4344815, 16416258, -19924616, -25098907, -15034316, 7031513, -9625884, -35247437, 2958647, 34044834, -47596541, 30806704, 31809436, -51382701, -109428, -30027525, -2742560, -12145827, 17664073, 7117373, -26213934, 0, 26213934, -7117373, -17664073, 12145827, 2742560, 30027525, 109428, 51382701, -31809436, -30806704, 47596541, -34044834, -2958647, 35247437, 9625884, -7031513, 15034316, 25098907, 19924616, -16416258, -4344815, 15057552, -15909594, 11433931, 25026091, 21208035, 12994147, 15345780, -8759873, 25633029, 44738518, -31706075, 44529567, 28238711, 17486541, 62195634, -32974224, 78381147, 20509584, -56712, 29467733, 22061171, 7143287, -31088721, 14083491, 31373984, -165948, -15671217, 6831406, 21414293, -6868965, 16681977, 396690, -15436341, -19937687, 1383770, 29337748, -40726766, -14754701, 36847561, 26369806, 490345, -39589659, -14034699, -5721295, -39065223, 8501137, 40546139, -34778357, -12270149, -6564701, 41201403, 23646294, -21125488, -33718206, 57146386, 5799578, -13056624, 16238838, -12409669, -10854482, 13884018, -4152182, -20569560, 2701802, 18259021, -10880345, -532791, -13007038, -10768143, 22031772, -35820807, 30512620, 11082589, 43129459, -10314988, -3674016, 24915723, -27274726, -21680350, 1198627, 3928810, 5449065, 12591531, 18229998, -36752501, -39941609, -7983744, 38196573, -7260622, 28832233, -5736405, 8147370, 30108011, 7546326, -14880233, -3420438, 19766821, -36134613, -6212685, 10847049, 5342012, -19138174, 17323815, 26033484, -13570431, 15345862, -20620814, 15553962, -19934345, 1606887, -14628346, -29271928, -2846524, 38962700, -11808656, -29344316, -4349653, -10924238, -20165657, 32018696, 1341850, -13438166, -4585861, -3022892, -32175079, -6147806, -26307468, -21036639, -6260154, -3608809, -28757001, 6927380, 12194598, -34724033, -30547368, 31225530, -1477466, -12167718, 23099501, -21514861, 21540809, -33958782, 21068700, -5877933, 15688654, 5924909, 33678728, 2280056, 9215526, -15514221, 32164669, -5509349, 43765857, -9032313, -6224865, 38654097, 7896995, -7041401, -18122433, 35782940, -30171442, -17047542, -14160197, -23502922, -18988939, 22804081, -25405396, 41407616, -536487, -9721116, 8151529, -23027632, -26241701, 28571608, 5015656, 16314336, 9029718, 14876678, 19087027, -8554116, -4166791, 20680408, -63722083, 9366616, 16829798, -39939458, -32260023, 2542801, 11304099, -1198608, -44653591, 13641011, -21909223, -3171432, -6448906, 18683886, 25016094, 8709757, 3278485, -11729869, -13130115, -5602343, -33578834, -14694942, 13125160, -6396874, 33500087, -9433003, 41081131, -21665127, 25322923, 41817568, -3051905, 1433333, 10858236, -12327567, 41073536, 26127426, 22093506, 32857246, 17494763, 10110669, -36609737, 2942996, -11104819, -26476785, -30931967, 37462363, -11922939, 12237932, 9026632, -25470858, -9112167, 8082453, -8747460, -50315786, 8782034, 22775001, -37769763, -38490970, 536372, 40891318, 36509740, -30714238, 45195789, 12321691, 24413730, 51927238, 24457742, -29577848, 20050130, 17752896, -26381932, 14941794, 45409365, -20977257, 8391765, 3175589, -37530144, 30533556, 45328150, -36482875, 5628499, -21857252, -28322835, 11849460, -30214820, -58484885, 44358772, 32709009, -25373350, 50712873, 16549930, -4574152, -4895114, -14736647, 59800506, -19631795, -21028590, -25686170, -14133732, 24041184, -4900205, 18673224, 53074519, -3596058, 6969494, 16237695, -60085554, -5224738, 22256630, -1897870, -5968061, 21900938, -10868795, -2844196, 4176864, 96265292, -15988251, 12876619, -8257865, -32515341, -5324160, -8975377, -18336350, 20954012, -4284503, 18109048, -28945096, 4618667, 26936877, -8617025, -9267318, -5589150, 35858488, -8713693, -37945215, 14892223, 51497130, 41648342, -34292210, 10850678, -9870059, 27036248, 38503205, 15693435, -34294230, 2667905, -16965458, 31433357, 8466738, 18952889, 22200939, 16457884, 32790484, -12597726, -16044736, -21313758, 10111916, -28005433, 30525619, 18433286, 16313096, -32233478, 9180479, -26992838, -7735047, -13724852, 3312496, 17607802, -8780329, -11074125, 11301906, -42470495, 37542741, 9842343, -9835530, 21226148, 10179497, 20312309, -1747345, -31593825, -51741722, -44020436, 11661418, 10970839, -25734336, -2750861, 28257394, 30033796, 33870140, -3150296, 30709790, -14438956, -53294091, -43285275, -6280980, 8531371, 12405219, -11739988, 1645052, -970002, -12116931, 17880023, -35488914, 240613, -3116624, -15030263, -14599232, 19604410, 33459044, 8987923, 2200086, -14969775, -8415830, 10001075, -51939635, 10901236, 28458875, 15382227, 38361361, -37130194, 1180009, -20471937, 25112834, -29308452, -1826498, 34366997, -3642533, 16030047, 34935187, 21185160, -1030161, -26605444, -10084317, 33238888, -15742866, -8899885, 1957036, 17022267, -29741342, -13973117, 3618200, 28422500, 4239294, 29877218, 30745831, -22253959, 5377539, 8422805, 23033012, -12787192, -38262486, 11382928, -40736471, 21283279, -48027176, -35906257, 19148006, 38557643, 6781618, 14484060, -17912124, 35038296, 20811426, 56308552, 11657347, 2795181, 6235213, -20630463, 27032265, -2909709, -1369664, 2303636, -23194556, 45459513, 7664895, -23693365, -4309154, 29977588, -10724876, 15653296, -4897309, -27093766, -9793100, 26002012, -713935, 12107006, 25231715, -24214333, 34883897, 38525115, 23048336, -15143807, -36621773, -20510638, 56193258, 6755869, 11317514, 3536186, 2448769, 6345647, -46347274, 17845044, 22709701, -438680, -14335177, 9198791, -8732116, 5173739};
-
-int tf_real[1024] = {1048576, 1048556, 1048497, 1048398, 1048260, 1048082, 1047865, 1047608, 1047312, 1046977, 1046602, 1046188, 1045734, 1045241, 1044709, 1044137, 1043526, 1042876, 1042186, 1041458, 1040690, 1039883, 1039036, 1038151, 1037226, 1036263, 1035260, 1034218, 1033138, 1032019, 1030860, 1029663, 1028427, 1027153, 1025840, 1024488, 1023097, 1021668, 1020201, 1018695, 1017151, 1015569, 1013948, 1012289, 1010592, 1008857, 1007084, 1005273, 1003424, 1001538, 999613, 997651, 995652, 993615, 991541, 989429, 987280, 985094, 982871, 980610, 978313, 975979, 973609, 971201, 968757, 966277, 963760, 961207, 958618, 955993, 953331, 950634, 947901, 945132, 942328, 939488, 936613, 933703, 930757, 927777, 924761, 921711, 918626, 915506, 912352, 909163, 905941, 902684, 899393, 896068, 892710, 889318, 885893, 882434, 878942, 875417, 871859, 868268, 864644, 860988, 857299, 853578, 849825, 846040, 842224, 838375, 834495, 830583, 826641, 822667, 818662, 814626, 810560, 806463, 802336, 798178, 793991, 789773, 785526, 781249, 776943, 772608, 768243, 763850, 759428, 754977, 750498, 745990, 741455, 736891, 732300, 727681, 723035, 718362, 713661, 708934, 704180, 699400, 694593, 689760, 684901, 680016, 675106, 670170, 665209, 660223, 655212, 650177, 645117, 640032, 634924, 629792, 624635, 619456, 614253, 609027, 603778, 598506, 593212, 587896, 582557, 577197, 571814, 566410, 560985, 555539, 550072, 544584, 539075, 533547, 527998, 522429, 516841, 511233, 505606, 499960, 494295, 488611, 482909, 477189, 471451, 465695, 459922, 454131, 448324, 442499, 436658, 430800, 424926, 419036, 413130, 407209, 401272, 395320, 389354, 383373, 377377, 371367, 365343, 359305, 353254, 347190, 341112, 335022, 328919, 322803, 316676, 310536, 304385, 298222, 292049, 285864, 279668, 273462, 267246, 261019, 254783, 248537, 242281, 236017, 229744, 223462, 217172, 210873, 204567, 198252, 191931, 185602, 179266, 172923, 166574, 160219, 153858, 147490, 141118, 134740, 128356, 121968, 115576, 109179, 102778, 96373, 89965, 83553, 77138, 70720, 64299, 57876, 51451, 45024, 38595, 32164, 25733, 19300, 12867, 6433, 0, -6433, -12867, -19300, -25733, -32164, -38595, -45024, -51451, -57876, -64299, -70720, -77138, -83553, -89965, -96373, -102778, -109179, -115576, -121968, -128356, -134740, -141118, -147490, -153858, -160219, -166574, -172923, -179266, -185602, -191931, -198252, -204567, -210873, -217172, -223462, -229744, -236017, -242281, -248537, -254783, -261019, -267246, -273462, -279668, -285864, -292049, -298222, -304385, -310536, -316676, -322803, -328919, -335022, -341112, -347190, -353254, -359305, -365343, -371367, -377377, -383373, -389354, -395320, -401272, -407209, -413130, -419036, -424926, -430800, -436658, -442499, -448324, -454131, -459922, -465695, -471451, -477189, -482909, -488611, -494295, -499960, -505606, -511233, -516841, -522429, -527998, -533547, -539075, -544584, -550072, -555539, -560985, -566410, -571814, -577197, -582557, -587896, -593212, -598506, -603778, -609027, -614253, -619456, -624635, -629792, -634924, -640032, -645117, -650177, -655212, -660223, -665209, -670170, -675106, -680016, -684901, -689760, -694593, -699400, -704180, -708934, -713661, -718362, -723035, -727681, -732300, -736891, -741455, -745990, -750498, -754977, -759428, -763850, -768243, -772608, -776943, -781249, -785526, -789773, -793991, -798178, -802336, -806463, -810560, -814626, -818662, -822667, -826641, -830583, -834495, -838375, -842224, -846040, -849825, -853578, -857299, -860988, -864644, -868268, -871859, -875417, -878942, -882434, -885893, -889318, -892710, -896068, -899393, -902684, -905941, -909163, -912352, -915506, -918626, -921711, -924761, -927777, -930757, -933703, -936613, -939488, -942328, -945132, -947901, -950634, -953331, -955993, -958618, -961207, -963760, -966277, -968757, -971201, -973609, -975979, -978313, -980610, -982871, -985094, -987280, -989429, -991541, -993615, -995652, -997651, -999613, -1001538, -1003424, -1005273, -1007084, -1008857, -1010592, -1012289, -1013948, -1015569, -1017151, -1018695, -1020201, -1021668, -1023097, -1024488, -1025840, -1027153, -1028427, -1029663, -1030860, -1032019, -1033138, -1034218, -1035260, -1036263, -1037226, -1038151, -1039036, -1039883, -1040690, -1041458, -1042186, -1042876, -1043526, -1044137, -1044709, -1045241, -1045734, -1046188, -1046602, -1046977, -1047312, -1047608, -1047865, -1048082, -1048260, -1048398, -1048497, -1048556, -1048576, -1048556, -1048497, -1048398, -1048260, -1048082, -1047865, -1047608, -1047312, -1046977, -1046602, -1046188, -1045734, -1045241, -1044709, -1044137, -1043526, -1042876, -1042186, -1041458, -1040690, -1039883, -1039036, -1038151, -1037226, -1036263, -1035260, -1034218, -1033138, -1032019, -1030860, -1029663, -1028427, -1027153, -1025840, -1024488, -1023097, -1021668, -1020201, -1018695, -1017151, -1015569, -1013948, -1012289, -1010592, -1008857, -1007084, -1005273, -1003424, -1001538, -999613, -997651, -995652, -993615, -991541, -989429, -987280, -985094, -982871, -980610, -978313, -975979, -973609, -971201, -968757, -966277, -963760, -961207, -958618, -955993, -953331, -950634, -947901, -945132, -942328, -939488, -936613, -933703, -930757, -927777, -924761, -921711, -918626, -915506, -912352, -909163, -905941, -902684, -899393, -896068, -892710, -889318, -885893, -882434, -878942, -875417, -871859, -868268, -864644, -860988, -857299, -853578, -849825, -846040, -842224, -838375, -834495, -830583, -826641, -822667, -818662, -814626, -810560, -806463, -802336, -798178, -793991, -789773, -785526, -781249, -776943, -772608, -768243, -763850, -759428, -754977, -750498, -745990, -741455, -736891, -732300, -727681, -723035, -718362, -713661, -708934, -704180, -699400, -694593, -689760, -684901, -680016, -675106, -670170, -665209, -660223, -655212, -650177, -645117, -640032, -634924, -629792, -624635, -619456, -614253, -609027, -603778, -598506, -593212, -587896, -582557, -577197, -571814, -566410, -560985, -555539, -550072, -544584, -539075, -533547, -527998, -522429, -516841, -511233, -505606, -499960, -494295, -488611, -482909, -477189, -471451, -465695, -459922, -454131, -448324, -442499, -436658, -430800, -424926, -419036, -413130, -407209, -401272, -395320, -389354, -383373, -377377, -371367, -365343, -359305, -353254, -347190, -341112, -335022, -328919, -322803, -316676, -310536, -304385, -298222, -292049, -285864, -279668, -273462, -267246, -261019, -254783, -248537, -242281, -236017, -229744, -223462, -217172, -210873, -204567, -198252, -191931, -185602, -179266, -172923, -166574, -160219, -153858, -147490, -141118, -134740, -128356, -121968, -115576, -109179, -102778, -96373, -89965, -83553, -77138, -70720, -64299, -57876, -51451, -45024, -38595, -32164, -25733, -19300, -12867, -6433, 0, 6433, 12867, 19300, 25733, 32164, 38595, 45024, 51451, 57876, 64299, 70720, 77138, 83553, 89965, 96373, 102778, 109179, 115576, 121968, 128356, 134740, 141118, 147490, 153858, 160219, 166574, 172923, 179266, 185602, 191931, 198252, 204567, 210873, 217172, 223462, 229744, 236017, 242281, 248537, 254783, 261019, 267246, 273462, 279668, 285864, 292049, 298222, 304385, 310536, 316676, 322803, 328919, 335022, 341112, 347190, 353254, 359305, 365343, 371367, 377377, 383373, 389354, 395320, 401272, 407209, 413130, 419036, 424926, 430800, 436658, 442499, 448324, 454131, 459922, 465695, 471451, 477189, 482909, 488611, 494295, 499960, 505606, 511233, 516841, 522429, 527998, 533547, 539075, 544584, 550072, 555539, 560985, 566410, 571814, 577197, 582557, 587896, 593212, 598506, 603778, 609027, 614253, 619456, 624635, 629792, 634924, 640032, 645117, 650177, 655212, 660223, 665209, 670170, 675106, 680016, 684901, 689760, 694593, 699400, 704180, 708934, 713661, 718362, 723035, 727681, 732300, 736891, 741455, 745990, 750498, 754977, 759428, 763850, 768243, 772608, 776943, 781249, 785526, 789773, 793991, 798178, 802336, 806463, 810560, 814626, 818662, 822667, 826641, 830583, 834495, 838375, 842224, 846040, 849825, 853578, 857299, 860988, 864644, 868268, 871859, 875417, 878942, 882434, 885893, 889318, 892710, 896068, 899393, 902684, 905941, 909163, 912352, 915506, 918626, 921711, 924761, 927777, 930757, 933703, 936613, 939488, 942328, 945132, 947901, 950634, 953331, 955993, 958618, 961207, 963760, 966277, 968757, 971201, 973609, 975979, 978313, 980610, 982871, 985094, 987280, 989429, 991541, 993615, 995652, 997651, 999613, 1001538, 1003424, 1005273, 1007084, 1008857, 1010592, 1012289, 1013948, 1015569, 1017151, 1018695, 1020201, 1021668, 1023097, 1024488, 1025840, 1027153, 1028427, 1029663, 1030860, 1032019, 1033138, 1034218, 1035260, 1036263, 1037226, 1038151, 1039036, 1039883, 1040690, 1041458, 1042186, 1042876, 1043526, 1044137, 1044709, 1045241, 1045734, 1046188, 1046602, 1046977, 1047312, 1047608, 1047865, 1048082, 1048260, 1048398, 1048497, 1048556};
-
-int tf_imag[1024] = {0, -6433, -12867, -19300, -25733, -32164, -38595, -45024, -51451, -57876, -64299, -70720, -77138, -83553, -89965, -96373, -102778, -109179, -115576, -121968, -128356, -134740, -141118, -147490, -153858, -160219, -166574, -172923, -179266, -185602, -191931, -198252, -204567, -210873, -217172, -223462, -229744, -236017, -242281, -248537, -254783, -261019, -267246, -273462, -279668, -285864, -292049, -298222, -304385, -310536, -316676, -322803, -328919, -335022, -341112, -347190, -353254, -359305, -365343, -371367, -377377, -383373, -389354, -395320, -401272, -407209, -413130, -419036, -424926, -430800, -436658, -442499, -448324, -454131, -459922, -465695, -471451, -477189, -482909, -488611, -494295, -499960, -505606, -511233, -516841, -522429, -527998, -533547, -539075, -544584, -550072, -555539, -560985, -566410, -571814, -577197, -582557, -587896, -593212, -598506, -603778, -609027, -614253, -619456, -624635, -629792, -634924, -640032, -645117, -650177, -655212, -660223, -665209, -670170, -675106, -680016, -684901, -689760, -694593, -699400, -704180, -708934, -713661, -718362, -723035, -727681, -732300, -736891, -741455, -745990, -750498, -754977, -759428, -763850, -768243, -772608, -776943, -781249, -785526, -789773, -793991, -798178, -802336, -806463, -810560, -814626, -818662, -822667, -826641, -830583, -834495, -838375, -842224, -846040, -849825, -853578, -857299, -860988, -864644, -868268, -871859, -875417, -878942, -882434, -885893, -889318, -892710, -896068, -899393, -902684, -905941, -909163, -912352, -915506, -918626, -921711, -924761, -927777, -930757, -933703, -936613, -939488, -942328, -945132, -947901, -950634, -953331, -955993, -958618, -961207, -963760, -966277, -968757, -971201, -973609, -975979, -978313, -980610, -982871, -985094, -987280, -989429, -991541, -993615, -995652, -997651, -999613, -1001538, -1003424, -1005273, -1007084, -1008857, -1010592, -1012289, -1013948, -1015569, -1017151, -1018695, -1020201, -1021668, -1023097, -1024488, -1025840, -1027153, -1028427, -1029663, -1030860, -1032019, -1033138, -1034218, -1035260, -1036263, -1037226, -1038151, -1039036, -1039883, -1040690, -1041458, -1042186, -1042876, -1043526, -1044137, -1044709, -1045241, -1045734, -1046188, -1046602, -1046977, -1047312, -1047608, -1047865, -1048082, -1048260, -1048398, -1048497, -1048556, -1048576, -1048556, -1048497, -1048398, -1048260, -1048082, -1047865, -1047608, -1047312, -1046977, -1046602, -1046188, -1045734, -1045241, -1044709, -1044137, -1043526, -1042876, -1042186, -1041458, -1040690, -1039883, -1039036, -1038151, -1037226, -1036263, -1035260, -1034218, -1033138, -1032019, -1030860, -1029663, -1028427, -1027153, -1025840, -1024488, -1023097, -1021668, -1020201, -1018695, -1017151, -1015569, -1013948, -1012289, -1010592, -1008857, -1007084, -1005273, -1003424, -1001538, -999613, -997651, -995652, -993615, -991541, -989429, -987280, -985094, -982871, -980610, -978313, -975979, -973609, -971201, -968757, -966277, -963760, -961207, -958618, -955993, -953331, -950634, -947901, -945132, -942328, -939488, -936613, -933703, -930757, -927777, -924761, -921711, -918626, -915506, -912352, -909163, -905941, -902684, -899393, -896068, -892710, -889318, -885893, -882434, -878942, -875417, -871859, -868268, -864644, -860988, -857299, -853578, -849825, -846040, -842224, -838375, -834495, -830583, -826641, -822667, -818662, -814626, -810560, -806463, -802336, -798178, -793991, -789773, -785526, -781249, -776943, -772608, -768243, -763850, -759428, -754977, -750498, -745990, -741455, -736891, -732300, -727681, -723035, -718362, -713661, -708934, -704180, -699400, -694593, -689760, -684901, -680016, -675106, -670170, -665209, -660223, -655212, -650177, -645117, -640032, -634924, -629792, -624635, -619456, -614253, -609027, -603778, -598506, -593212, -587896, -582557, -577197, -571814, -566410, -560985, -555539, -550072, -544584, -539075, -533547, -527998, -522429, -516841, -511233, -505606, -499960, -494295, -488611, -482909, -477189, -471451, -465695, -459922, -454131, -448324, -442499, -436658, -430800, -424926, -419036, -413130, -407209, -401272, -395320, -389354, -383373, -377377, -371367, -365343, -359305, -353254, -347190, -341112, -335022, -328919, -322803, -316676, -310536, -304385, -298222, -292049, -285864, -279668, -273462, -267246, -261019, -254783, -248537, -242281, -236017, -229744, -223462, -217172, -210873, -204567, -198252, -191931, -185602, -179266, -172923, -166574, -160219, -153858, -147490, -141118, -134740, -128356, -121968, -115576, -109179, -102778, -96373, -89965, -83553, -77138, -70720, -64299, -57876, -51451, -45024, -38595, -32164, -25733, -19300, -12867, -6433, 0, 6433, 12867, 19300, 25733, 32164, 38595, 45024, 51451, 57876, 64299, 70720, 77138, 83553, 89965, 96373, 102778, 109179, 115576, 121968, 128356, 134740, 141118, 147490, 153858, 160219, 166574, 172923, 179266, 185602, 191931, 198252, 204567, 210873, 217172, 223462, 229744, 236017, 242281, 248537, 254783, 261019, 267246, 273462, 279668, 285864, 292049, 298222, 304385, 310536, 316676, 322803, 328919, 335022, 341112, 347190, 353254, 359305, 365343, 371367, 377377, 383373, 389354, 395320, 401272, 407209, 413130, 419036, 424926, 430800, 436658, 442499, 448324, 454131, 459922, 465695, 471451, 477189, 482909, 488611, 494295, 499960, 505606, 511233, 516841, 522429, 527998, 533547, 539075, 544584, 550072, 555539, 560985, 566410, 571814, 577197, 582557, 587896, 593212, 598506, 603778, 609027, 614253, 619456, 624635, 629792, 634924, 640032, 645117, 650177, 655212, 660223, 665209, 670170, 675106, 680016, 684901, 689760, 694593, 699400, 704180, 708934, 713661, 718362, 723035, 727681, 732300, 736891, 741455, 745990, 750498, 754977, 759428, 763850, 768243, 772608, 776943, 781249, 785526, 789773, 793991, 798178, 802336, 806463, 810560, 814626, 818662, 822667, 826641, 830583, 834495, 838375, 842224, 846040, 849825, 853578, 857299, 860988, 864644, 868268, 871859, 875417, 878942, 882434, 885893, 889318, 892710, 896068, 899393, 902684, 905941, 909163, 912352, 915506, 918626, 921711, 924761, 927777, 930757, 933703, 936613, 939488, 942328, 945132, 947901, 950634, 953331, 955993, 958618, 961207, 963760, 966277, 968757, 971201, 973609, 975979, 978313, 980610, 982871, 985094, 987280, 989429, 991541, 993615, 995652, 997651, 999613, 1001538, 1003424, 1005273, 1007084, 1008857, 1010592, 1012289, 1013948, 1015569, 1017151, 1018695, 1020201, 1021668, 1023097, 1024488, 1025840, 1027153, 1028427, 1029663, 1030860, 1032019, 1033138, 1034218, 1035260, 1036263, 1037226, 1038151, 1039036, 1039883, 1040690, 1041458, 1042186, 1042876, 1043526, 1044137, 1044709, 1045241, 1045734, 1046188, 1046602, 1046977, 1047312, 1047608, 1047865, 1048082, 1048260, 1048398, 1048497, 1048556, 1048576, 1048556, 1048497, 1048398, 1048260, 1048082, 1047865, 1047608, 1047312, 1046977, 1046602, 1046188, 1045734, 1045241, 1044709, 1044137, 1043526, 1042876, 1042186, 1041458, 1040690, 1039883, 1039036, 1038151, 1037226, 1036263, 1035260, 1034218, 1033138, 1032019, 1030860, 1029663, 1028427, 1027153, 1025840, 1024488, 1023097, 1021668, 1020201, 1018695, 1017151, 1015569, 1013948, 1012289, 1010592, 1008857, 1007084, 1005273, 1003424, 1001538, 999613, 997651, 995652, 993615, 991541, 989429, 987280, 985094, 982871, 980610, 978313, 975979, 973609, 971201, 968757, 966277, 963760, 961207, 958618, 955993, 953331, 950634, 947901, 945132, 942328, 939488, 936613, 933703, 930757, 927777, 924761, 921711, 918626, 915506, 912352, 909163, 905941, 902684, 899393, 896068, 892710, 889318, 885893, 882434, 878942, 875417, 871859, 868268, 864644, 860988, 857299, 853578, 849825, 846040, 842224, 838375, 834495, 830583, 826641, 822667, 818662, 814626, 810560, 806463, 802336, 798178, 793991, 789773, 785526, 781249, 776943, 772608, 768243, 763850, 759428, 754977, 750498, 745990, 741455, 736891, 732300, 727681, 723035, 718362, 713661, 708934, 704180, 699400, 694593, 689760, 684901, 680016, 675106, 670170, 665209, 660223, 655212, 650177, 645117, 640032, 634924, 629792, 624635, 619456, 614253, 609027, 603778, 598506, 593212, 587896, 582557, 577197, 571814, 566410, 560985, 555539, 550072, 544584, 539075, 533547, 527998, 522429, 516841, 511233, 505606, 499960, 494295, 488611, 482909, 477189, 471451, 465695, 459922, 454131, 448324, 442499, 436658, 430800, 424926, 419036, 413130, 407209, 401272, 395320, 389354, 383373, 377377, 371367, 365343, 359305, 353254, 347190, 341112, 335022, 328919, 322803, 316676, 310536, 304385, 298222, 292049, 285864, 279668, 273462, 267246, 261019, 254783, 248537, 242281, 236017, 229744, 223462, 217172, 210873, 204567, 198252, 191931, 185602, 179266, 172923, 166574, 160219, 153858, 147490, 141118, 134740, 128356, 121968, 115576, 109179, 102778, 96373, 89965, 83553, 77138, 70720, 64299, 57876, 51451, 45024, 38595, 32164, 25733, 19300, 12867, 6433};
-
diff --git a/benchmarks/vec-fft/vec-fft_main.c b/benchmarks/vec-fft/vec-fft_main.c
deleted file mode 100644
index b186205..0000000
--- a/benchmarks/vec-fft/vec-fft_main.c
+++ /dev/null
@@ -1,302 +0,0 @@
-// See LICENSE for license details.
-
-// *************************************************************************
-// multiply filter bencmark
-// -------------------------------------------------------------------------
-//
-// This benchmark tests the software multiply implemenation. The
-// input data (and reference data) should be generated using the
-// multiply_gendata.pl perl script and dumped to a file named
-// dataset1.h You should not change anything except the
-// HOST_DEBUG and VERIFY macros for your timing run.
-
-#include "vec-fft.h"
-
-//--------------------------------------------------------------------------
-// Macros
-
-// Set HOST_DEBUG to 1 if you are going to compile this for a host
-// machine (ie Athena/Linux) for debug purposes and set HOST_DEBUG
-// to 0 if you are compiling with the smips-gcc toolchain.
-
-#ifndef HOST_DEBUG
-#define HOST_DEBUG 0
-#endif
-
-// Set PREALLOCATE to 1 if you want to preallocate the benchmark
-// function before starting stats. If you have instruction/data
-// caches and you don't want to count the overhead of misses, then
-// you will need to use preallocation.
-
-#ifndef PREALLOCATE
-#define PREALLOCATE 0
-#endif
-
-// Set VERIFY to 1 if you want the program to check that the sort
-// function returns the right answer. When you are doing your
-// benchmarking you should set this to 0 so that the verification
-// is not included in your timing.
-
-#ifndef VERIFY
-#define VERIFY 1
-#endif
-
-// Set SET_STATS to 1 if you want to carve out the piece that actually
-// does the computation.
-
-#ifndef SET_STATS
-#define SET_STATS 0
-#endif
-
-// Set MINIMAL to 1 if you want to run the core FFT kernel without
-// any instrumentation or warm-up.
-#ifndef MINIMAL
-#define MINIMAL 1
-#endif
-
-//--------------------------------------------------------------------------
-// Platform Specific Includes
-
-#if HOST_DEBUG
- #include <stdio.h>
- #include <stdlib.h>
-#else
-void printstr(const char*);
-void exit();
-#endif
-
-
-//--------------------------------------------------------------------------
-// Input/Reference Data
-
-#include "fft_const.h"
-
-//--------------------------------------------------------------------------
-// Helper functions
-
-#if !MINIMAL
-
-void setup_input(int n, fftval_t in_real[], fftval_t in_imag[])
-{
- int i;
- for(i=0; i < n; i++) {
- in_real[i] = input_data_real[i];
- in_imag[i] = input_data_imag[i];
- }
-}
-void setup_warm_tf(int n, fftval_t in_real[], fftval_t in_imag[])
-{
- int i;
- for(i=0; i < n; i++) {
- in_real[i] = tf_real[i];
- in_imag[i] = tf_imag[i];
- }
-}
-
-fftval_t calculate_error( int n, const fftval_t test_real[], const fftval_t test_imag[])
-{
- fftval_t current_max = 0;
- printf("idx, real expected, real observed, imag expected, imag observed %d\n", 0);
-
-#if defined(FFT_FIXED)
- for(int i = 0; i < n; i++)
- {
- const double scale = 1 << FIX_PT;
- const double real_diff = (test_real[i] - output_data_real[i])/scale;
- const double imag_diff = (test_imag[i] - output_data_imag[i])/scale;
-
- const double i_sq_error = real_diff*real_diff + imag_diff*imag_diff;
- if(i_sq_error > current_max) {
- printf("i = %d, current error: %d\n", i, (long)current_max);
- current_max = i_sq_error;
- }
- }
-#elif defined(FFT_FLOATING)
- fftval_t real_expect = 0.0;
- fftval_t imag_expect = 0.0;
- for(int i = 0; i < n; i++)
- {
- /* TODO: Fix error caculation for half precision */
- const fftval_t real_diff = (test_real[i] - output_data_real[i]);
- const fftval_t imag_diff = (test_imag[i] - output_data_imag[i]);
- fftval_t i_sq_error = real_diff*real_diff + imag_diff*imag_diff;
-
-#if 0
- long tr = (long)(test_real[i] * 1000000000);
- long ti = (long)(test_imag[i] * 1000000000);
- long er = (long)(output_data_real[i] * 1000000000);
- long ei = (long)(output_data_imag[i] * 1000000000);
-
- printf("i = %d, expected (%d,%d) and got (%d,%d), diff (%d,%d)\n",
- i,
- er, ei,
- tr, ti,
- er-tr, ei-ti);
-#endif
-
-#if 1
- fftbit_t tr, ti, er, ei;
-#ifdef FP_HALF
- tr = test_real[i];
- ti = test_imag[i];
- er = output_data_real[i];
- ei = output_data_imag[i];
-#else
- union bits {
- fftval_t v;
- fftbit_t u;
- } bits;
- bits.v = test_real[i]; tr = bits.u;
- bits.v = test_imag[i]; ti = bits.u;
- bits.v = output_data_real[i]; er = bits.u;
- bits.v = output_data_imag[i]; ei = bits.u;
-#endif
- printf("%d: %d %d %d %d\n", i, er, tr, ei, ti);
- // printf("%4d\t" FFT_PRI "\t" FFT_PRI "\t" FFT_PRI "\t" FFT_PRI "\n",
- // i, er, tr, ei, ti);
-#endif
-
-#if 0
- if(i_sq_error > current_max) {
- printf("i = %d, max error (ppb): %ld\n", i, (long)(current_max * 1000000000));
- current_max = i_sq_error;
- real_expect = output_data_real[i];
- imag_expect = output_data_imag[i];
- }
-#endif
- }
-/*
- printf("real expected: %d\n", (long)(real_expect));
- printf("imag expected: %d\n", (long)(imag_expect));
-*/
-#endif
-
- return current_max;
-}
-
-void finishTest( double max_sq_error, long long num_cycles, long long num_retired)
-{
- int passed = max_sq_error < 10e-8;
-
- if( passed ) printstr("*** PASSED ***");
- else printstr("*** FAILED ***");
-
- printf(" (num_cycles = %ld, num_inst_retired = %ld)\n", num_cycles, num_retired);
-
- passed = passed ? 1 : 2; // if it passed, return 1
-
- exit();
-}
-
-void setStats( int enable )
-{
-#if ( !HOST_DEBUG && SET_STATS )
- //asm( "mtpcr %0, cr10" : : "r" (enable) );
-#endif
-}
-
-long long getCycles()
-{
- long long cycles = 1337;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdcycle %0" : "=r" (cycles) );
-#endif
- return cycles;
-}
-
-long long getInstRetired()
-{
- long long inst_retired = 1338;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdinstret %0" : "=r" (inst_retired) );
-#endif
- return inst_retired;
-}
-
-#endif /* !MINIMAL */
-
-//--------------------------------------------------------------------------
-// Main
-#define HWACHA_RADIX 2
-
-#ifdef DATA_IN_UNPERMUTED
-void permute(fftval_t workspace_real[], fftval_t workspace_imag[])
-{
- const int logradix = log2down(HWACHA_RADIX);
- const int term_mask = HWACHA_RADIX-1;
- const int num_term = log2down(FFT_SIZE)/logradix;
- for(int i = 0; i < FFT_SIZE; i++)
- {
- // Get permuted address
- int i_left = i;
- int permuted = 0;
- for(int cur_fft_size=HWACHA_RADIX; cur_fft_size <= FFT_SIZE; cur_fft_size = cur_fft_size << logradix)
- {
- permuted = (permuted << logradix) | (i_left & term_mask);
- i_left = i_left >> logradix;
- }
- // If addresses are different and i < permuted (so we only do permutation once)
- if(i < permuted)
- {
- fftval_t t = workspace_real[i];
- fftval_t u = workspace_imag[i];
- workspace_real[i] = workspace_real[permuted];
- workspace_imag[i] = workspace_imag[permuted];
- workspace_real[permuted] = t;
- workspace_imag[permuted] = u;
- }
- }
-}
-#endif /* DATA_IN_UNPERMUTED */
-
-#if MINIMAL
-
-int main(void)
-{
-#ifdef DATA_IN_UNPERMUTED
- permute(input_data_real, input_data_imag);
-#endif
- fft(input_data_real, input_data_imag, tf_real, tf_imag);
-// calculate_error(FFT_SIZE, input_data_real, input_data_imag);
- exit();
-}
-
-#else /* !MINIMAL */
-
-int main(void)
-{
- static fftval_t workspace_real[FFT_SIZE];
- static fftval_t workspace_imag[FFT_SIZE];
- static fftval_t warm_tf_real[FFT_SIZE];
- static fftval_t warm_tf_imag[FFT_SIZE];
- setup_input(FFT_SIZE, workspace_real, workspace_imag);
- setup_warm_tf(FFT_SIZE, warm_tf_real, warm_tf_imag);
-
-#if PREALLOCATE
- fft(workspace_real, workspace_imag, warm_tf_real, warm_tf_imag);
- setup_input(FFT_SIZE, workspace_real, workspace_imag);
-#endif
-
- long long start_cycles, start_retired, stop_cycles, stop_retired;
- start_cycles = getCycles();
- start_retired = getInstRetired();
-
-#ifdef DATA_IN_UNPERMUTED
- permute(workspace_real, workspace_imag);
-#endif
- setStats(1);
- fft(workspace_real, workspace_imag, warm_tf_real, warm_tf_imag);
- setStats(0);
-
- stop_cycles = getCycles();
- stop_retired = getInstRetired();
- long long num_cycles = stop_cycles - start_cycles;
- long long num_retired = stop_retired - start_retired;
-
- const double max_sq_error = calculate_error(FFT_SIZE, workspace_real, workspace_imag);
-
- // Check the results
- finishTest(max_sq_error, num_cycles, num_retired);
-}
-
-#endif /* MINIMAL */
diff --git a/benchmarks/vec-fft/vec-vfft.S b/benchmarks/vec-fft/vec-vfft.S
deleted file mode 100644
index 05706af..0000000
--- a/benchmarks/vec-fft/vec-vfft.S
+++ /dev/null
@@ -1,245 +0,0 @@
-# See LICENSE for license details.
-
- .text
- .align 2
-
-#include "fft_const.h"
-
-#if defined(FFT_FIXED)
- #define PTR_SHIFT 2
- #define PTR_SIZE 4
-
- #define DATA_LOAD lw
- #define DATA_STORE sw
-
- #define FFT_MUL mul
- #define FFT_ADD add
- #define FFT_SUB sub
-
- #define REG0 x3
- #define REG1 x4
- #define REG2 x5
- #define REG3 x6
- #define REG4 x7
- #define REG5 x8
-#elif defined(FFT_FLOATING)
- #if defined(FP_HALF)
- #define PTR_SHIFT 1
- #define PTR_SIZE 2
-
- #define DATA_LOAD flh
- #define DATA_STORE fsh
-
- #define FFT_MUL fmul.h
- #define FFT_ADD fadd.h
- #define FFT_SUB fsub.h
- #elif defined(FP_SINGLE)
- #define PTR_SHIFT 2
- #define PTR_SIZE 4
-
- #define DATA_LOAD flw
- #define DATA_STORE fsw
-
- #define FFT_MUL fmul.s
- #define FFT_ADD fadd.s
- #define FFT_SUB fsub.s
- #elif defined(FP_DOUBLE)
- #define PTR_SHIFT 3
- #define PTR_SIZE 8
-
- #define DATA_LOAD fld
- #define DATA_STORE fsd
-
- #define FFT_MUL fmul.d
- #define FFT_ADD fadd.d
- #define FFT_SUB fsub.d
- #endif
-
- #define REG0 f0
- #define REG1 f1
- #define REG2 f2
- #define REG3 f3
- #define REG4 f4
- #define REG5 f5
-#else
- #error FFT_FIXED or FFT_FLOATING not defined
-#endif
-
- .globl vf_test
-vf_test:
- utidx x2
- add x1, x1, x2
- add x1, x1, x1
- stop
-
- .globl vf_fft_init
-vf_fft_init:
-# IN:
-# x1: lane start (utidx=0 actually has this pos due to stripmining)
-# x2: bit mask to select FFT block from op idx
-# x3: bit mask to select operand in FFT block from op idx
-# x4: necessary shift to adjust TF appropriately ( REMOVED )
-# x5: half the current FFT size (add to get the second op)
-# OUT:
-# x1: Has the first operand pos = (opid & i_x2) << 1 + (opid & i_x3)
-# x2: Has the second operand pos = o_x1 + i_x5
-# x3: Has the twiddle factor pos = (opid & i_x3) << i_x4
- utidx x6
- add x6, x1, x6 # x6 <= opid
- and x2, x2, x6 # x2 <= opid & i_x2
- and x3, x3, x6 # x3 <= opid & i_x3
- slli x2, x2, 1 # x2 <= (opid & i_x2) << 1
-
- add x1, x2, x3 # x1 is now the proper result
- add x2, x1, x5 # x2 is now the proper result
- sll x3, x3, x4
-
- stop
-
- .globl vf_fft_scale
-vf_fft_scale:
-# IN:
-# x1: Has the first operand pos (reused)
-# x2: Has the second operand pos (reused)
-# x3: Has the twiddle factor pos (reused)
-# x4: Has the tf real ptr
-# x5: Has the tf imag ptr
-# x6: Has the workspace real ptr
-# x7: Has the workspace imag ptr
-# x8: Has the fixed point shift ( REMOVED )
-# OUT:
-# x1: Has the first operand offset = i_x1 << 3
-# x2: Has the second operand offset = i_x2 << 3
-# x3: Has the scale factor real
-# x4: Has the scale factor imag
- # Convert positions into actual memory offsets from table start
- slli x1, x1, PTR_SHIFT # x1 <= i_x1 << 3 (proper result)
- slli x2, x2, PTR_SHIFT # x2 <= i_x2 << 3 (proper result)
- slli x3, x3, PTR_SHIFT # x3 <= i_x3 << 3 (tf offset)
-
- # Compute memory locations
- add x4, x4, x3 # x4 <= load address for tf real
- add x5, x5, x3 # x5 <= load address for tf imag
- add x6, x6, x2 # x6 <= load address for op2 real
- add x7, x7, x2 # x7 <= load address for op2 imag
-
- # Actually read memory
- DATA_LOAD REG1, 0(x4) # tf real (a)
- DATA_LOAD REG2, 0(x5) # tf imag (bi)
- DATA_LOAD REG3, 0(x6) # op2 real (c)
- DATA_LOAD REG4, 0(x7) # op2 imag (di)
-
- # Do the math using 3 multiplies
- FFT_ADD REG0, REG1, REG2 # REG0 <= a + b
- FFT_SUB REG2, REG2, REG1 # REG2 <= b - a
- FFT_MUL REG0, REG0, REG4 # REG0 <= (a+b)d
-#ifdef FFT_FIXED
- sra REG0, REG0, REG5 # DO NOT SHIFT FOR FLOATING
-#endif
- FFT_MUL REG2, REG2, REG3 # REG2 <= (b-a)c
-#ifdef FFT_FIXED
- sra REG2, REG2, REG5 # DO NOT SHIFT FOR FLOATING
-#endif
- FFT_ADD REG3, REG3, REG4 # REG3 <= c + d
- FFT_MUL REG4, REG1, REG3 # REG4 <= a(c+d)
-#ifdef FFT_FIXED
- sra REG4, REG4, REG5 # DO NOT SHIFT FOR FLOATING
-#endif
-
- # Prepare final result
- FFT_SUB REG0, REG4, REG0 # REG0 <= a(c+d) - (a+b)d (scale real)
- FFT_ADD REG1, REG4, REG2 # REG1 <= a(c+d) + (b-a)c (scale imag)
-
- stop
-/*
- # Four multiply version
- # Do the multiplications (a+bi)(c+di) needs ac ad bc bd
- mul x3, x4, x6 # x3 <= ac
- mul x4, x4, x7 # x4 <= adi
- mul x6, x5, x6 # x6 <= bc
- mul x5, x5, x7 # x5 <= bdi
- sra x3, x3, x8 # These 4 shifts make sure the fixed pt properly aligned
- sra x4, x4, x8
- sra x5, x5, x8
- sra x6, x6, x8
-
- # Do the additions (ac - bd) and (bc + ad)
- sub x3, x3, x5 # x3 <= ac - bd (proper result)
- add x4, x4, x6 # x4 <= bc + ad (proper result)
-*/
-
- .globl vf_fft_exec
-vf_fft_exec:
-# IN:
-# x1: Has the first operand offset (reused)
-# x2: Has the second operand offset (reused)
-# x3: Has the scale factor real (reused)
-# x4: Has the scale factor imag (reused)
-# x5: Has the workspace real ptr
-# x6: Has the workspace imag ptr
-# OUT:
-# x1: Has the first operand offset (carry)
-# x2: Has the second operand offset (carry)
-# x5: Has the first result real
-# x6: Has the first result imag
-# x7: Has the second result real
-# x8: Has the second result imag
- # Compute first operand memory locations
- add x5, x5, x1 # x5 <= load address for op1 real
- add x6, x6, x1 # x6 <= load address for op1 imag
-
- #actually read memory
- DATA_LOAD REG2, 0(x5) # op1 real
- DATA_LOAD REG3, 0(x6) # op1 imag
-
- # Do the add/subs (res1=op1+scale), (res2=op1-scale)
- FFT_SUB REG4, REG2, REG0 # res2 real
- FFT_SUB REG5, REG3, REG1 # res2 imag
- FFT_ADD REG2, REG2, REG0 # res1 real
- FFT_ADD REG3, REG3, REG1 # res1 imag
-
- stop
-
- .globl vf_fft_store1
-vf_fft_store1:
-# IN:
-# x1: Has the first operand offset (reused)
-# x2: Has the second operand offset (reused)
-# x3: Has the workspace real ptr
-# x4: Has the workspace imag ptr
-# x5: Has the first result real (reused)
-# x6: Has the first result imag (reused)
-# x7: Has the second result real (reused)
-# x8: Has the second result imag (reused)
-# OUT:
-# x2: Has the second operand offset (carry)
-# x7: Has the second result real (carry)
-# x8: Has the second result imag (carry)
- # Compute first result memory locations
- add x3, x3, x1
- add x4, x4, x1
-
- # actually write memory
- DATA_STORE REG2, 0(x3)
- DATA_STORE REG3, 0(x4)
-
- stop
-
- .globl vf_fft_store2
-vf_fft_store2:
-# IN:
-# x2: Has the second operand offset
-# x3: Has the workspace real ptr
-# x4: Has the workspace imag ptr
-# x7: Has the second result real
-# x8: Has the second result imag
-# OUT: (none)
- # Compute second result memory locations
- add x3, x3, x2
- add x4, x4, x2
-
- # actually write memory
- DATA_STORE REG4, 0(x3)
- DATA_STORE REG5, 0(x4)
-
- stop
diff --git a/benchmarks/vec-matmul/bmark.mk b/benchmarks/vec-matmul/bmark.mk
deleted file mode 100644
index a503f7b..0000000
--- a/benchmarks/vec-matmul/bmark.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-#=======================================================================
-# UCB CS250 Makefile fragment for benchmarks
-#-----------------------------------------------------------------------
-#
-# Each benchmark directory should have its own fragment which
-# essentially lists what the source files are and how to link them
-# into an riscv and/or host executable. All variables should include
-# the benchmark name as a prefix so that they are unique.
-#
-
-vec_matmul_c_src = \
- vec_matmul_main.c \
-
-vec_matmul_riscv_src = \
- crt.S \
- vec_matmul_asm.S
-
-vec_matmul_c_objs = $(patsubst %.c, %.o, $(vec_matmul_c_src))
-vec_matmul_riscv_objs = $(patsubst %.S, %.o, $(vec_matmul_riscv_src))
-
-vec_matmul_host_bin = vec-matmul.host
-$(vec_matmul_host_bin) : $(vec_matmul_c_src)
- $(HOST_COMP) $^ -o $(vec_matmul_host_bin)
-
-vec_matmul_riscv_bin = vec-matmul.riscv
-$(vec_matmul_riscv_bin) : $(vec_matmul_c_objs) $(vec_matmul_riscv_objs)
- $(RISCV_LINK) $(RISCV_LINK_SYSCALL) $(vec_matmul_c_objs) $(vec_matmul_riscv_objs) -o $(vec_matmul_riscv_bin)
-
-junk += $(vec_matmul_c_objs) $(vec_matmul_riscv_objs) \
- $(vec_matmul_host_bin) $(vec_matmul_riscv_bin)
diff --git a/benchmarks/vec-matmul/dataset.h b/benchmarks/vec-matmul/dataset.h
deleted file mode 100644
index 99fb974..0000000
--- a/benchmarks/vec-matmul/dataset.h
+++ /dev/null
@@ -1,635 +0,0 @@
-// See LICENSE for license details.
-
-
-#define ARRAY_SIZE 4096
-
-
-#define DIM_SIZE 64
-
-float input1_data[ARRAY_SIZE] =
-{
- 0.37, 7.51, 5.09, 1.69, 6.75, 3.16, 1.19, 8.56, 5.26, 7.26, 5.60, 0.06, 8.39, 8.02, 3.54, 6.25, 8.66, 1.00, 1.05, 2.67,
- 3.84, 2.83, 5.94, 6.97, 2.88, 6.12, 7.88, 3.40, 4.27, 8.45, 4.86, 5.13, 1.83, 2.53, 6.84, 5.46, 4.61, 5.93, 1.76, 0.74,
- 2.41, 2.06, 3.04, 8.51, 8.13, 2.18, 8.23, 7.45, 8.41, 8.88, 1.77, 8.65, 5.11, 3.16, 5.85, 5.92, 1.63, 1.01, 7.74, 0.59,
- 2.60, 3.15, 1.28, 8.16, 7.98, 2.38, 5.20, 8.83, 6.86, 2.17, 4.31, 4.50, 3.63, 2.00, 4.00, 6.50, 6.09, 2.86, 2.02, 8.45,
- 2.60, 1.08, 5.54, 5.46, 3.51, 3.16, 4.10, 2.51, 3.31, 3.23, 5.26, 0.57, 8.88, 3.63, 3.12, 4.66, 5.04, 8.18, 6.99, 2.30,
- 7.02, 5.39, 1.29, 0.31, 1.13, 8.48, 8.41, 7.20, 4.98, 3.89, 5.85, 8.58, 2.59, 0.18, 0.45, 0.78, 0.86, 3.98, 5.29, 5.54,
- 3.44, 2.53, 7.28, 8.75, 7.38, 3.11, 4.06, 4.62, 8.70, 3.13, 7.29, 7.95, 4.84, 8.53, 6.32, 3.21, 5.12, 8.03, 0.20, 5.12,
- 6.00, 3.81, 3.91, 1.43, 0.02, 0.76, 2.23, 0.45, 3.92, 7.14, 7.83, 4.38, 3.73, 3.33, 4.94, 4.67, 8.00, 6.15, 2.57, 2.38,
- 4.50, 2.62, 8.08, 1.94, 6.59, 6.20, 2.26, 7.08, 5.01, 2.72, 4.76, 4.91, 2.90, 8.54, 2.59, 7.42, 2.75, 7.11, 6.61, 8.65,
- 3.30, 6.51, 2.65, 8.79, 5.89, 6.75, 0.82, 3.41, 0.95, 0.93, 3.44, 5.87, 7.44, 7.57, 3.22, 1.34, 0.49, 1.26, 8.61, 3.09,
- 4.81, 6.82, 4.70, 7.55, 5.34, 0.12, 1.56, 0.57, 1.09, 1.20, 6.83, 3.35, 8.57, 0.36, 1.17, 1.00, 7.64, 3.94, 2.30, 2.43,
- 3.69, 5.66, 3.60, 4.95, 6.79, 5.08, 1.54, 0.17, 6.55, 4.52, 7.01, 0.39, 6.79, 0.73, 1.82, 7.69, 1.39, 6.85, 3.22, 8.50,
- 8.31, 2.96, 4.47, 3.99, 4.66, 5.78, 2.49, 7.08, 1.03, 7.59, 8.17, 2.48, 2.14, 0.30, 7.07, 5.09, 3.22, 7.24, 7.38, 6.77,
- 2.52, 0.77, 4.13, 4.10, 6.40, 4.14, 0.38, 2.28, 3.40, 4.58, 6.31, 7.75, 4.33, 6.68, 4.50, 6.39, 0.45, 3.35, 7.87, 8.52,
- 8.94, 4.75, 6.50, 3.92, 2.10, 4.48, 6.29, 0.28, 3.14, 2.26, 3.16, 2.26, 5.17, 7.06, 6.75, 4.53, 7.42, 7.45, 1.53, 1.45,
- 6.08, 0.29, 1.82, 1.29, 7.69, 0.81, 3.56, 0.97, 7.70, 0.96, 1.42, 0.05, 6.90, 1.84, 1.76, 5.18, 1.97, 4.74, 1.60, 2.16,
- 6.30, 6.82, 6.37, 0.45, 0.76, 7.21, 8.05, 4.62, 3.36, 4.44, 0.13, 5.60, 0.75, 0.93, 7.16, 8.30, 5.79, 7.93, 7.52, 2.16,
- 4.16, 1.03, 5.06, 4.77, 0.09, 8.98, 8.15, 3.49, 3.67, 0.95, 5.04, 8.44, 4.62, 3.69, 2.73, 1.82, 3.85, 5.53, 3.24, 4.70,
- 6.17, 0.20, 1.67, 2.82, 0.97, 2.48, 3.49, 2.19, 4.38, 0.95, 6.30, 8.10, 6.94, 5.81, 0.73, 1.46, 3.67, 8.52, 0.27, 6.92,
- 7.84, 1.03, 1.34, 0.56, 1.33, 7.55, 7.61, 3.90, 1.27, 1.90, 7.36, 7.40, 5.07, 3.28, 5.55, 4.47, 7.32, 8.26, 1.44, 3.88,
- 7.24, 1.62, 4.91, 7.57, 4.13, 7.09, 7.86, 7.17, 7.26, 6.83, 0.94, 3.62, 2.29, 8.87, 1.23, 6.57, 5.27, 7.16, 3.74, 4.76,
- 6.37, 4.99, 3.41, 6.91, 8.80, 2.13, 8.54, 2.07, 1.49, 4.56, 0.95, 6.35, 7.17, 1.26, 2.74, 7.17, 5.72, 5.05, 1.07, 0.08,
- 4.79, 7.33, 0.34, 5.27, 6.67, 5.58, 6.91, 4.31, 0.52, 8.64, 7.07, 8.88, 7.54, 2.77, 0.61, 7.43, 8.98, 6.75, 1.55, 7.44,
- 5.60, 1.40, 7.44, 0.39, 6.25, 0.73, 2.13, 6.74, 6.71, 2.40, 1.12, 6.59, 8.49, 3.83, 3.34, 2.89, 2.43, 4.89, 6.88, 6.78,
- 8.25, 0.13, 0.01, 8.16, 8.97, 7.30, 5.05, 7.87, 8.76, 2.61, 4.59, 5.03, 8.74, 3.65, 5.22, 2.64, 2.26, 7.66, 1.16, 4.08,
- 6.45, 0.78, 6.12, 1.64, 2.17, 3.03, 7.15, 5.78, 0.01, 2.88, 8.89, 5.83, 6.80, 8.64, 1.83, 1.28, 1.62, 2.70, 1.49, 6.86,
- 8.78, 5.83, 5.04, 5.58, 3.81, 2.35, 5.10, 4.88, 4.44, 8.93, 6.72, 1.87, 3.36, 8.40, 5.99, 0.31, 4.81, 4.31, 8.19, 1.83,
- 0.30, 1.93, 3.30, 8.04, 7.04, 6.13, 6.35, 6.20, 8.53, 3.48, 0.45, 0.91, 4.28, 3.60, 6.12, 2.97, 8.59, 4.25, 4.30, 6.54,
- 6.43, 8.45, 4.77, 7.84, 0.70, 4.91, 8.18, 7.69, 1.29, 8.82, 2.16, 0.95, 3.29, 0.89, 0.49, 0.88, 3.96, 6.89, 2.84, 3.03,
- 6.28, 6.98, 6.54, 2.92, 2.55, 4.83, 5.61, 5.36, 8.02, 0.68, 2.62, 4.47, 6.54, 4.05, 4.94, 1.22, 5.81, 7.55, 2.61, 6.91,
- 1.47, 3.75, 4.43, 8.88, 1.05, 5.57, 7.74, 2.12, 2.55, 5.15, 8.23, 5.05, 1.76, 2.18, 7.05, 8.88, 6.56, 3.10, 3.88, 5.52,
- 6.85, 1.59, 2.79, 3.01, 3.19, 2.79, 6.30, 0.42, 4.39, 4.54, 0.91, 3.54, 2.42, 2.83, 0.68, 3.12, 8.90, 5.41, 8.19, 3.47,
- 0.83, 4.91, 2.50, 6.02, 3.17, 7.69, 7.78, 2.82, 0.91, 4.80, 5.12, 7.53, 3.34, 8.92, 4.16, 8.22, 1.64, 2.42, 1.44, 6.95,
- 0.20, 7.70, 5.81, 0.16, 7.02, 8.21, 7.71, 1.24, 8.86, 6.46, 5.09, 6.48, 2.28, 7.08, 1.39, 1.77, 2.29, 4.03, 8.10, 0.05,
- 2.94, 5.55, 2.78, 1.58, 1.44, 1.11, 7.56, 6.45, 4.96, 2.07, 0.74, 5.65, 2.92, 8.35, 0.93, 0.16, 8.71, 1.43, 1.60, 5.35,
- 3.36, 3.55, 5.40, 6.72, 3.40, 7.80, 5.33, 4.98, 3.97, 3.12, 5.35, 2.62, 8.18, 4.91, 3.40, 4.11, 7.04, 0.99, 4.47, 8.07,
- 7.27, 6.31, 4.94, 3.07, 0.27, 7.48, 5.68, 4.92, 5.53, 8.76, 1.05, 2.83, 8.15, 8.75, 5.47, 7.16, 1.53, 8.08, 4.57, 8.26,
- 3.89, 3.06, 1.33, 2.03, 1.01, 5.23, 7.52, 1.21, 8.55, 1.82, 4.40, 3.57, 7.19, 4.31, 6.93, 5.17, 4.37, 3.06, 6.50, 4.06,
- 7.40, 6.71, 0.00, 5.36, 2.50, 1.08, 6.13, 6.82, 5.00, 7.64, 4.66, 3.42, 4.56, 8.15, 2.22, 2.19, 3.55, 3.88, 1.93, 2.20,
- 4.73, 3.60, 1.56, 2.75, 5.59, 5.36, 4.82, 6.30, 1.44, 6.76, 7.30, 4.10, 0.68, 0.84, 1.51, 0.15, 7.69, 4.46, 2.92, 0.71,
- 0.47, 1.01, 0.10, 3.09, 6.58, 6.13, 2.59, 8.66, 0.83, 5.64, 8.22, 5.55, 7.75, 6.70, 6.71, 4.31, 5.54, 4.58, 8.24, 7.30,
- 2.60, 8.78, 1.16, 5.23, 4.95, 7.82, 8.84, 2.43, 5.61, 5.88, 5.64, 8.92, 3.48, 2.92, 4.26, 1.48, 2.16, 1.71, 7.79, 2.09,
- 3.21, 1.38, 7.44, 2.96, 3.52, 7.64, 0.35, 3.63, 5.56, 4.92, 1.86, 0.02, 7.06, 8.02, 7.34, 7.50, 6.00, 3.70, 0.85, 2.22,
- 3.80, 1.91, 6.08, 0.09, 3.37, 3.85, 0.58, 0.48, 6.83, 7.31, 4.51, 3.95, 3.03, 2.96, 2.14, 3.75, 4.22, 6.17, 5.09, 2.75,
- 4.05, 5.39, 1.23, 7.95, 3.45, 8.45, 2.42, 1.04, 8.18, 0.45, 8.58, 3.30, 3.58, 2.32, 2.09, 6.01, 0.32, 8.93, 3.99, 1.93,
- 3.50, 0.12, 5.60, 0.48, 5.52, 8.42, 8.59, 7.47, 4.16, 5.60, 7.32, 4.71, 6.06, 0.52, 2.82, 3.18, 0.50, 8.76, 6.79, 3.75,
- 7.92, 7.79, 5.16, 1.47, 6.50, 0.11, 5.80, 4.57, 8.72, 7.04, 7.57, 2.18, 5.68, 7.30, 7.16, 3.93, 7.98, 5.40, 6.28, 5.80,
- 0.84, 6.40, 7.07, 1.01, 5.24, 0.12, 8.32, 5.55, 5.88, 3.24, 2.36, 2.10, 5.49, 6.18, 4.86, 1.06, 5.05, 6.66, 0.18, 2.86,
- 8.80, 5.17, 3.48, 6.96, 5.98, 4.55, 1.91, 8.01, 8.17, 3.79, 6.64, 4.65, 0.23, 1.98, 7.19, 6.46, 4.07, 6.23, 6.16, 4.14,
- 7.35, 2.92, 5.52, 2.23, 1.05, 3.18, 2.54, 6.66, 2.61, 8.20, 5.81, 5.64, 8.40, 1.98, 6.17, 3.36, 7.89, 5.83, 3.71, 8.61,
- 5.98, 7.66, 7.06, 3.54, 6.38, 3.80, 4.72, 6.15, 0.34, 1.41, 0.39, 6.92, 1.12, 4.95, 7.34, 2.26, 1.93, 1.91, 5.16, 8.10,
- 8.62, 5.49, 5.87, 3.92, 8.17, 8.75, 5.77, 6.19, 5.78, 2.39, 2.45, 8.76, 7.34, 7.43, 1.09, 4.20, 4.22, 5.69, 2.54, 3.76,
- 2.84, 2.12, 5.65, 2.67, 4.53, 0.25, 6.02, 2.94, 5.21, 7.94, 2.74, 3.74, 0.00, 1.80, 8.42, 1.92, 4.83, 0.37, 4.76, 7.53,
- 3.14, 3.05, 2.08, 7.86, 3.38, 1.29, 8.97, 3.47, 7.64, 4.39, 5.30, 0.07, 4.39, 6.57, 8.51, 6.21, 7.85, 1.41, 5.62, 2.43,
- 0.43, 2.26, 4.43, 7.95, 1.92, 2.09, 2.94, 1.19, 5.81, 3.80, 2.95, 0.52, 6.10, 4.68, 6.99, 2.12, 5.83, 0.86, 2.35, 6.43,
- 1.79, 4.44, 8.50, 0.78, 2.01, 7.60, 3.04, 6.78, 0.48, 0.78, 8.01, 2.42, 1.69, 6.59, 4.86, 6.84, 8.67, 5.47, 0.09, 5.05,
- 1.10, 8.62, 2.60, 5.45, 1.16, 0.98, 1.58, 5.32, 3.72, 3.12, 2.25, 5.72, 4.64, 7.20, 7.95, 8.47, 1.42, 7.99, 1.55, 8.78,
- 8.31, 2.92, 7.06, 7.50, 0.90, 6.96, 6.77, 6.27, 5.86, 8.89, 1.73, 7.19, 0.36, 5.90, 6.86, 8.04, 7.22, 2.50, 4.07, 8.71,
- 3.25, 0.58, 8.37, 8.24, 4.83, 2.20, 2.39, 7.93, 5.77, 1.88, 2.73, 2.66, 7.33, 5.17, 3.12, 8.69, 4.35, 5.46, 0.92, 1.10,
- 3.92, 4.09, 0.19, 0.63, 0.21, 2.30, 2.49, 8.02, 3.86, 4.89, 5.61, 6.30, 6.97, 2.67, 2.50, 0.94, 0.72, 5.69, 7.35, 7.67,
- 6.60, 3.54, 6.85, 1.14, 1.52, 7.60, 1.71, 5.31, 8.44, 2.31, 2.10, 0.68, 1.72, 3.82, 6.77, 6.82, 7.90, 0.43, 7.72, 6.94,
- 5.75, 4.40, 1.59, 4.27, 4.16, 5.46, 8.32, 0.00, 5.70, 2.53, 8.36, 2.71, 4.07, 6.34, 6.41, 5.59, 4.00, 7.11, 5.51, 2.09,
- 4.78, 7.13, 6.60, 2.60, 6.55, 7.27, 1.55, 8.09, 4.11, 8.49, 5.47, 7.22, 4.53, 6.68, 7.27, 5.71, 8.56, 8.54, 0.37, 3.18,
- 1.76, 7.16, 6.31, 2.59, 2.41, 6.98, 5.86, 1.80, 2.38, 2.85, 8.53, 8.47, 5.44, 7.51, 5.76, 4.71, 2.31, 3.77, 2.40, 8.27,
- 7.09, 7.05, 4.77, 4.45, 2.72, 1.76, 3.53, 6.58, 8.22, 7.19, 4.26, 7.45, 3.31, 1.04, 2.10, 7.66, 7.70, 4.97, 7.72, 2.83,
- 7.41, 3.81, 1.58, 4.24, 7.49, 2.81, 1.86, 1.30, 0.96, 5.75, 1.21, 5.61, 3.96, 8.23, 5.43, 8.98, 5.00, 4.34, 2.04, 2.93,
- 7.67, 4.83, 1.21, 1.84, 6.27, 7.13, 1.52, 5.61, 0.78, 4.36, 0.83, 4.25, 4.85, 2.73, 7.01, 6.33, 4.78, 4.14, 8.23, 8.68,
- 6.17, 2.95, 1.48, 3.94, 1.34, 0.02, 0.96, 6.69, 2.74, 6.26, 4.54, 0.36, 0.35, 0.64, 5.75, 7.60, 2.34, 4.79, 4.43, 6.25,
- 2.51, 8.74, 4.93, 4.54, 8.61, 6.28, 7.59, 2.93, 2.01, 0.76, 6.60, 2.88, 6.34, 8.83, 4.02, 8.04, 6.21, 0.91, 1.77, 3.10,
- 5.74, 3.31, 0.43, 7.75, 6.27, 6.53, 1.72, 3.53, 4.60, 8.79, 5.13, 6.52, 6.24, 0.44, 0.44, 0.79, 8.11, 4.38, 3.83, 6.84,
- 3.97, 0.52, 5.74, 3.65, 5.69, 1.33, 4.02, 3.34, 8.97, 8.70, 6.58, 6.62, 4.21, 6.22, 2.64, 6.19, 3.91, 3.27, 6.54, 6.65,
- 3.34, 6.68, 4.01, 2.79, 2.52, 3.04, 4.53, 4.66, 7.95, 4.86, 1.32, 3.03, 7.11, 0.71, 3.31, 7.72, 3.82, 0.75, 8.30, 0.79,
- 4.81, 5.67, 3.09, 5.16, 5.07, 8.93, 4.66, 1.25, 8.37, 6.94, 2.63, 2.03, 5.08, 6.35, 3.44, 5.37, 6.09, 2.09, 5.44, 6.51,
- 6.72, 7.39, 0.53, 6.51, 2.31, 6.10, 3.97, 5.27, 4.28, 6.01, 0.84, 3.01, 8.33, 1.87, 6.93, 7.91, 7.42, 4.07, 2.90, 5.40,
- 7.81, 2.58, 6.22, 0.91, 1.94, 4.86, 5.95, 1.32, 4.10, 3.07, 6.98, 4.87, 5.22, 6.54, 6.73, 5.38, 6.92, 4.24, 3.74, 7.73,
- 7.61, 5.09, 0.53, 8.72, 7.34, 8.81, 3.82, 8.41, 7.31, 0.79, 3.26, 4.74, 1.10, 6.10, 3.31, 2.13, 6.17, 4.51, 5.56, 0.43,
- 5.57, 1.67, 3.37, 2.13, 7.75, 6.25, 6.17, 5.25, 0.04, 5.95, 3.64, 5.72, 6.50, 5.69, 4.22, 1.38, 0.00, 6.21, 1.98, 3.88,
- 4.72, 8.70, 3.01, 8.97, 1.71, 2.46, 4.89, 0.68, 5.97, 4.16, 8.50, 2.54, 3.13, 1.23, 1.28, 2.44, 7.82, 0.41, 7.61, 3.72,
- 4.07, 7.20, 7.54, 1.34, 1.20, 5.22, 3.96, 3.09, 7.16, 1.21, 5.86, 7.72, 3.88, 6.19, 1.79, 4.62, 7.91, 3.12, 5.46, 7.61,
- 4.60, 1.81, 2.05, 3.05, 8.98, 5.49, 8.15, 2.94, 2.96, 0.75, 4.96, 3.33, 6.48, 7.07, 4.26, 6.62, 8.26, 7.99, 6.56, 4.74,
- 5.94, 8.64, 1.02, 1.39, 6.70, 0.90, 6.02, 0.47, 2.16, 6.65, 6.77, 0.15, 7.63, 8.45, 6.71, 0.70, 3.14, 4.56, 4.69, 5.16,
- 2.91, 4.03, 5.26, 8.58, 0.88, 1.11, 5.94, 8.32, 8.46, 8.66, 1.31, 6.44, 0.60, 6.71, 4.30, 5.42, 8.56, 2.51, 8.45, 3.32,
- 6.74, 6.68, 7.77, 0.07, 3.57, 1.08, 4.59, 7.61, 0.88, 8.17, 0.75, 1.72, 3.95, 6.36, 4.92, 7.28, 3.24, 3.84, 7.68, 6.90,
- 4.96, 4.93, 2.05, 6.12, 5.62, 2.78, 8.29, 8.76, 5.32, 6.75, 5.97, 4.92, 6.73, 2.08, 5.91, 1.33, 0.64, 4.09, 5.05, 7.53,
- 5.48, 0.12, 3.33, 1.25, 1.57, 1.89, 4.12, 8.17, 7.51, 1.58, 3.37, 3.76, 2.82, 3.51, 1.40, 8.48, 4.06, 2.55, 8.99, 8.27,
- 2.55, 8.65, 1.75, 7.20, 1.12, 0.37, 0.56, 7.92, 2.87, 1.80, 4.62, 6.40, 8.19, 3.06, 4.89, 1.61, 5.32, 1.65, 5.58, 8.75,
- 6.33, 6.45, 3.84, 8.75, 8.61, 1.30, 8.30, 0.15, 7.18, 8.33, 8.70, 5.64, 0.06, 0.06, 0.52, 4.73, 2.23, 5.36, 7.82, 1.97,
- 6.39, 6.31, 3.10, 4.11, 8.46, 1.42, 0.90, 1.27, 1.96, 0.76, 6.44, 1.35, 5.10, 4.70, 3.17, 4.93, 5.44, 4.85, 6.80, 8.05,
- 8.23, 1.74, 3.26, 6.33, 5.66, 5.40, 6.19, 5.45, 1.38, 7.12, 5.44, 4.19, 7.04, 1.55, 4.01, 4.52, 0.41, 1.67, 0.64, 4.04,
- 1.81, 1.72, 1.57, 8.48, 2.30, 6.25, 1.36, 5.52, 2.05, 7.07, 7.03, 7.06, 1.62, 0.48, 7.42, 2.96, 6.12, 2.71, 3.65, 8.60,
- 8.79, 1.11, 6.12, 1.42, 1.14, 6.64, 8.20, 0.79, 6.54, 4.80, 4.27, 7.99, 6.45, 4.13, 6.93, 3.45, 7.96, 6.46, 2.17, 5.20,
- 3.35, 2.16, 8.51, 0.95, 4.20, 0.49, 1.56, 5.85, 3.49, 8.86, 5.87, 3.00, 5.77, 0.61, 6.97, 2.54, 6.56, 6.41, 0.74, 7.82,
- 5.72, 8.04, 0.11, 5.63, 5.49, 5.55, 4.33, 4.16, 1.47, 4.20, 4.24, 5.58, 1.05, 2.81, 1.68, 6.50, 6.93, 1.30, 6.58, 3.81,
- 8.53, 5.12, 4.26, 3.43, 7.09, 6.40, 4.23, 6.57, 5.09, 1.28, 3.09, 7.12, 7.43, 8.85, 0.19, 4.35, 2.81, 4.62, 5.40, 7.24,
- 8.66, 4.13, 3.43, 6.95, 2.63, 5.68, 7.62, 3.92, 0.64, 6.61, 8.10, 8.23, 0.55, 8.87, 2.20, 8.43, 8.65, 5.67, 1.31, 0.07,
- 3.95, 5.32, 1.48, 1.77, 2.18, 2.15, 6.08, 4.10, 8.87, 6.47, 0.75, 5.36, 1.01, 3.26, 6.48, 2.29, 8.51, 4.07, 3.12, 6.50,
- 4.23, 0.18, 8.89, 0.37, 6.33, 3.63, 5.91, 5.20, 0.43, 0.17, 0.97, 1.74, 0.63, 1.55, 3.57, 1.72, 4.30, 6.81, 3.92, 4.34,
- 8.37, 3.35, 1.46, 6.83, 4.26, 6.71, 1.84, 0.48, 0.51, 2.88, 0.92, 6.50, 4.94, 4.92, 2.53, 6.90, 1.44, 6.36, 8.51, 3.87,
- 8.61, 0.68, 8.88, 1.30, 3.97, 7.55, 7.33, 2.36, 6.86, 4.36, 6.70, 4.18, 2.10, 2.52, 1.80, 3.43, 2.14, 0.80, 4.78, 6.86,
- 4.56, 8.82, 6.26, 4.33, 8.98, 0.24, 3.34, 6.76, 2.71, 1.92, 3.38, 1.91, 4.99, 5.61, 3.28, 8.60, 3.45, 8.26, 8.19, 1.23,
- 1.92, 5.99, 8.87, 4.88, 6.12, 2.39, 7.14, 3.52, 4.44, 0.30, 5.79, 5.90, 2.60, 4.83, 2.61, 3.94, 4.38, 3.65, 6.57, 2.19,
- 0.99, 5.84, 8.72, 4.90, 7.66, 8.99, 6.03, 6.02, 3.77, 8.07, 8.44, 8.07, 3.00, 4.78, 6.10, 5.49, 8.09, 6.89, 1.22, 4.39,
- 0.26, 8.00, 2.15, 0.28, 8.79, 7.83, 2.73, 1.47, 7.08, 1.66, 4.82, 2.03, 4.18, 3.37, 4.39, 4.46, 3.90, 1.57, 2.82, 2.06,
- 7.67, 4.14, 1.86, 3.15, 6.80, 2.17, 8.32, 0.79, 6.94, 6.13, 5.56, 2.79, 3.62, 3.51, 4.83, 7.05, 3.98, 2.61, 2.92, 3.14,
- 1.28, 8.84, 6.70, 7.30, 1.45, 7.71, 6.01, 3.48, 1.36, 1.31, 0.67, 6.24, 1.02, 6.96, 5.65, 5.71, 2.17, 0.70, 1.07, 8.49,
- 0.71, 4.29, 6.19, 7.86, 2.14, 6.27, 2.59, 2.22, 7.35, 4.08, 2.54, 0.45, 8.05, 3.20, 3.79, 8.00, 1.74, 3.53, 6.26, 7.57,
- 0.44, 4.99, 6.66, 6.21, 3.07, 0.22, 4.53, 0.81, 8.36, 7.99, 8.00, 8.63, 3.70, 4.72, 8.58, 2.15, 7.18, 5.89, 0.34, 2.41,
- 6.41, 4.71, 7.80, 1.52, 3.16, 7.77, 2.78, 0.17, 2.57, 0.74, 8.48, 0.82, 4.98, 5.15, 8.94, 1.09, 2.10, 1.83, 5.18, 3.34,
- 7.44, 6.97, 2.70, 2.33, 2.88, 6.38, 4.91, 3.98, 7.04, 2.64, 5.75, 4.93, 6.13, 5.19, 1.73, 1.80, 8.19, 3.51, 5.94, 5.19,
- 5.99, 0.49, 8.51, 4.70, 8.17, 0.27, 4.94, 1.16, 1.17, 1.27, 2.84, 7.26, 5.08, 0.37, 2.77, 0.65, 6.46, 2.44, 6.46, 6.04,
- 3.56, 5.31, 0.14, 1.97, 8.44, 2.45, 6.53, 1.93, 3.89, 6.35, 2.74, 1.38, 0.86, 8.45, 5.76, 4.33, 7.68, 7.18, 4.88, 2.68,
- 3.24, 7.19, 4.26, 0.20, 3.50, 3.44, 4.08, 6.82, 4.80, 8.19, 6.35, 6.25, 5.88, 4.18, 1.57, 6.15, 2.90, 6.79, 4.01, 0.93,
- 7.74, 2.59, 8.84, 1.73, 1.34, 5.29, 7.57, 2.92, 5.12, 3.71, 1.50, 1.03, 7.44, 7.19, 7.79, 7.16, 3.68, 2.94, 7.33, 0.67,
- 5.57, 1.14, 7.51, 4.79, 8.46, 0.38, 4.22, 6.21, 4.62, 7.38, 2.42, 0.58, 0.84, 3.50, 8.21, 8.07, 6.67, 0.50, 8.74, 6.50,
- 7.65, 8.65, 5.05, 6.07, 7.68, 1.92, 3.81, 1.59, 0.85, 8.35, 1.88, 6.29, 8.07, 7.48, 7.85, 3.51, 7.40, 1.39, 0.97, 6.03,
- 4.48, 2.95, 6.43, 3.08, 1.00, 3.17, 5.59, 3.26, 8.13, 7.34, 0.41, 1.85, 4.92, 1.89, 8.54, 5.79, 2.42, 5.40, 4.36, 7.67,
- 0.23, 6.39, 5.78, 0.01, 6.89, 1.63, 5.76, 7.47, 0.96, 0.85, 8.31, 2.91, 2.59, 7.70, 7.44, 1.93, 3.07, 1.62, 0.17, 8.85,
- 7.36, 2.14, 8.14, 8.78, 2.23, 8.83, 0.22, 4.15, 6.80, 2.60, 3.06, 6.81, 7.96, 7.72, 0.08, 0.52, 6.82, 6.20, 7.78, 1.81,
- 1.34, 5.62, 3.44, 4.02, 7.92, 5.57, 3.06, 2.14, 2.54, 3.14, 6.50, 0.82, 0.79, 2.80, 6.22, 8.54, 1.96, 7.09, 5.31, 7.20,
- 3.90, 8.27, 0.22, 8.43, 6.35, 5.93, 0.38, 8.36, 3.92, 5.08, 2.60, 2.83, 3.71, 2.03, 7.62, 0.15, 4.29, 5.64, 0.90, 6.58,
- 3.43, 7.94, 5.66, 7.70, 2.47, 5.57, 5.26, 0.56, 5.16, 6.38, 4.01, 2.51, 6.34, 2.00, 3.26, 6.02, 3.38, 1.78, 4.60, 1.61,
- 4.93, 2.85, 0.22, 3.33, 2.53, 5.47, 0.78, 4.76, 8.58, 0.82, 6.60, 4.66, 1.33, 5.94, 6.72, 3.81, 6.02, 5.02, 7.03, 7.40,
- 6.55, 4.70, 4.72, 3.70, 3.08, 0.53, 2.34, 7.37, 3.36, 2.66, 6.10, 5.75, 3.91, 5.43, 1.46, 1.19, 1.04, 4.17, 0.42, 5.15,
- 5.10, 0.87, 5.07, 8.22, 4.78, 8.95, 2.37, 2.88, 2.90, 7.36, 6.55, 0.99, 0.62, 0.76, 2.56, 7.41, 7.49, 6.39, 2.27, 4.17,
- 6.95, 6.36, 8.93, 3.94, 6.12, 2.93, 5.60, 3.26, 5.10, 4.21, 7.69, 6.03, 8.37, 4.51, 7.06, 8.69, 4.88, 3.97, 7.90, 0.83,
- 2.91, 0.91, 5.41, 2.09, 8.08, 8.62, 3.05, 6.34, 8.68, 3.64, 2.66, 6.70, 4.39, 5.01, 0.38, 2.39, 0.12, 8.81, 2.43, 4.36,
- 1.18, 4.88, 0.77, 3.21, 1.98, 0.93, 7.88, 8.49, 1.10, 7.81, 3.33, 1.83, 2.99, 0.87, 0.33, 1.97, 5.49, 2.65, 3.16, 4.66,
- 6.07, 1.03, 7.29, 8.93, 6.93, 0.33, 6.82, 8.06, 4.17, 2.29, 2.36, 4.73, 8.65, 3.17, 2.46, 4.63, 5.86, 0.49, 2.44, 0.69,
- 2.43, 6.98, 3.87, 1.62, 3.15, 6.37, 1.06, 3.43, 1.18, 8.66, 1.54, 8.64, 1.17, 5.25, 8.77, 0.76, 8.60, 3.11, 7.70, 8.60,
- 6.86, 7.94, 5.95, 2.52, 8.36, 0.57, 6.10, 8.60, 1.66, 4.63, 2.53, 4.91, 3.66, 7.74, 6.57, 0.07, 6.77, 4.66, 5.40, 0.98,
- 5.42, 8.34, 1.95, 1.50, 0.70, 5.54, 2.44, 0.55, 4.16, 7.94, 4.92, 8.54, 0.00, 6.61, 2.58, 6.72, 8.35, 3.13, 2.62, 2.28,
- 4.46, 5.11, 2.34, 6.47, 0.07, 7.50, 2.27, 6.97, 5.10, 4.70, 3.56, 8.31, 2.84, 7.95, 1.09, 1.55, 3.86, 5.54, 2.52, 8.94,
- 0.31, 6.21, 4.31, 4.72, 4.74, 1.52, 7.44, 7.17, 3.98, 5.77, 0.94, 7.47, 1.75, 3.44, 0.19, 5.79, 4.18, 4.43, 7.75, 5.12,
- 0.03, 0.87, 2.74, 7.03, 8.07, 1.17, 5.52, 5.54, 0.94, 3.31, 6.48, 0.81, 2.20, 1.30, 8.46, 8.97, 0.92, 5.72, 1.70, 0.96,
- 3.14, 5.78, 5.58, 2.55, 2.55, 5.57, 4.63, 7.06, 1.93, 0.26, 1.21, 5.62, 2.06, 2.00, 8.95, 5.60, 6.64, 6.35, 5.93, 6.32,
- 1.10, 0.69, 6.72, 0.61, 2.13, 8.11, 2.80, 1.04, 2.76, 4.66, 1.00, 2.99, 8.80, 0.65, 5.52, 8.76, 7.94, 0.88, 6.63, 0.12,
- 0.97, 5.46, 3.86, 6.42, 3.56, 8.64, 2.12, 1.57, 6.18, 6.89, 7.61, 3.66, 8.46, 5.88, 4.44, 6.87, 6.53, 0.74, 6.86, 0.79,
- 1.70, 2.10, 0.12, 4.82, 3.85, 6.08, 1.32, 7.72, 1.66, 6.35, 8.14, 7.64, 0.32, 1.54, 1.94, 7.15, 8.31, 1.55, 3.41, 0.04,
- 8.81, 1.88, 0.23, 8.42, 0.41, 2.26, 7.78, 9.00, 2.17, 6.53, 1.85, 7.64, 1.53, 5.26, 0.99, 7.77, 1.05, 4.32, 7.46, 5.12,
- 6.13, 4.99, 7.87, 8.50, 7.13, 4.70, 5.82, 8.19, 0.22, 4.51, 0.79, 7.37, 3.80, 5.08, 1.76, 3.90, 7.18, 0.42, 5.26, 6.26,
- 5.66, 4.23, 4.45, 5.23, 1.77, 3.20, 6.86, 4.24, 5.40, 2.67, 3.00, 6.75, 5.60, 3.61, 7.27, 7.44, 1.88, 5.63, 3.49, 2.93,
- 4.36, 5.27, 2.91, 0.16, 7.47, 1.06, 5.78, 8.46, 4.65, 2.58, 4.35, 2.11, 7.15, 4.53, 7.83, 4.37, 1.34, 1.45, 0.77, 6.32,
- 5.62, 4.30, 1.40, 5.77, 6.61, 2.68, 0.86, 8.01, 4.64, 1.70, 6.19, 8.38, 6.18, 4.85, 5.14, 4.44, 6.40, 2.60, 2.93, 5.39,
- 7.43, 5.05, 0.47, 0.70, 6.31, 6.78, 6.04, 7.22, 4.38, 4.90, 7.25, 4.62, 3.94, 8.30, 5.66, 8.15, 1.66, 4.61, 4.69, 5.64,
- 8.75, 4.22, 6.35, 7.96, 8.04, 6.07, 2.90, 6.18, 1.76, 2.39, 4.66, 1.05, 2.17, 3.18, 2.01, 5.64, 5.56, 2.94, 2.46, 0.72,
- 1.41, 2.96, 3.30, 1.36, 3.18, 2.92, 1.68, 6.47, 7.18, 6.15, 6.13, 1.14, 6.58, 3.13, 0.78, 4.56, 6.99, 4.25, 7.31, 7.95,
- 2.04, 7.92, 6.21, 4.23, 0.12, 7.31, 3.84, 3.05, 5.55, 1.86, 2.67, 6.28, 6.73, 1.91, 2.56, 0.73, 4.98, 6.21, 7.87, 0.88,
- 4.71, 2.11, 5.94, 7.28, 8.72, 5.79, 7.09, 3.84, 1.72, 7.29, 8.92, 6.94, 8.95, 6.70, 5.87, 7.77, 1.96, 7.18, 7.88, 0.84,
- 2.87, 1.71, 0.47, 5.72, 7.99, 5.56, 6.81, 1.45, 1.38, 0.70, 0.99, 4.37, 1.35, 0.30, 8.44, 3.73, 2.25, 6.15, 1.35, 8.82,
- 1.83, 3.90, 6.90, 2.11, 5.55, 5.60, 8.45, 8.42, 0.88, 1.50, 1.04, 7.23, 8.00, 0.78, 2.20, 4.43, 8.14, 7.14, 4.66, 0.64,
- 4.58, 5.55, 6.34, 5.26, 2.42, 2.76, 5.14, 2.17, 1.39, 1.04, 2.05, 7.65, 3.38, 6.11, 4.29, 3.74, 0.68, 0.60, 4.02, 2.01,
- 5.84, 2.73, 7.33, 2.50, 2.59, 1.39, 8.28, 6.85, 6.52, 1.43, 8.49, 8.87, 6.99, 6.78, 1.02, 3.95, 4.45, 7.15, 5.43, 5.78,
- 1.32, 8.84, 3.24, 8.69, 2.58, 4.05, 5.61, 0.08, 3.64, 2.65, 2.90, 7.76, 4.22, 8.19, 7.29, 3.09, 6.91, 7.15, 6.01, 3.10,
- 0.23, 8.16, 3.68, 4.57, 6.49, 6.81, 8.63, 6.91, 8.34, 1.52, 6.64, 6.80, 6.31, 0.28, 8.98, 5.83, 2.85, 3.94, 7.73, 7.34,
- 1.05, 2.86, 0.93, 4.94, 7.56, 0.36, 3.60, 1.78, 5.54, 4.46, 0.62, 2.97, 5.79, 7.61, 8.07, 7.54, 7.02, 4.30, 7.10, 4.92,
- 7.82, 6.20, 2.29, 4.47, 6.03, 2.59, 7.02, 0.03, 6.04, 5.37, 1.88, 4.91, 8.08, 2.93, 0.90, 6.73, 0.69, 3.51, 8.01, 0.33,
- 1.39, 0.22, 3.60, 0.05, 2.02, 4.56, 7.66, 1.86, 3.31, 3.16, 0.80, 7.59, 7.13, 1.07, 1.63, 7.21, 8.17, 7.84, 7.70, 5.14,
- 5.94, 7.81, 5.06, 7.79, 4.80, 2.81, 0.35, 1.36, 1.01, 7.44, 3.46, 8.15, 8.91, 7.80, 5.22, 1.20, 1.13, 4.37, 2.56, 4.93,
- 3.94, 5.86, 4.91, 8.10, 4.96, 7.91, 6.39, 0.98, 1.28, 0.53, 4.16, 1.96, 2.04, 1.38, 3.55, 6.38, 0.87, 8.62, 8.51, 3.45,
- 3.05, 1.63, 7.50, 7.42, 4.54, 8.32, 3.32, 4.23, 5.15, 0.40, 1.22, 3.84, 2.64, 8.93, 5.04, 4.18, 7.67, 4.21, 7.84, 0.96,
- 0.90, 5.47, 6.75, 2.54, 6.55, 4.83, 6.82, 7.37, 3.46, 6.79, 2.57, 8.65, 6.33, 2.53, 2.89, 1.29, 5.46, 4.06, 7.42, 4.84,
- 0.52, 8.63, 7.86, 1.95, 5.79, 0.85, 0.08, 3.38, 8.69, 1.03, 4.00, 6.45, 7.86, 2.90, 7.70, 8.74, 8.64, 6.85, 4.55, 5.00,
- 5.39, 3.53, 3.17, 4.53, 0.39, 2.15, 5.55, 1.49, 6.56, 2.27, 8.96, 5.76, 8.99, 5.56, 3.20, 4.73, 8.24, 6.97, 2.33, 3.54,
- 6.24, 6.27, 1.20, 3.00, 4.91, 7.79, 2.06, 0.07, 3.91, 8.54, 6.97, 8.50, 2.53, 3.48, 8.11, 1.65, 6.12, 8.86, 8.69, 0.01,
- 0.67, 1.07, 7.89, 1.26, 5.76, 3.35, 8.42, 7.87, 7.34, 1.92, 3.86, 2.57, 5.27, 8.06, 8.85, 2.84, 0.55, 7.50, 1.86, 4.69,
- 8.23, 5.20, 6.49, 8.82, 4.52, 8.61, 0.38, 4.01, 2.32, 0.49, 1.17, 6.24, 1.01, 4.77, 5.45, 8.77, 1.82, 1.20, 7.33, 5.58,
- 1.21, 4.07, 8.12, 1.42, 3.66, 5.52, 0.46, 6.54, 3.15, 0.62, 7.58, 1.79, 1.67, 6.35, 4.48, 1.61, 2.60, 1.39, 3.36, 8.58,
- 7.54, 5.67, 6.19, 5.14, 2.92, 5.27, 8.24, 3.84, 2.62, 1.98, 5.90, 1.23, 7.29, 1.37, 0.81, 0.35, 7.62, 5.63, 2.88, 2.89,
- 6.29, 2.06, 8.77, 6.10, 0.76, 3.94, 4.39, 3.40, 2.85, 2.26, 3.32, 7.26, 2.12, 7.33, 5.16, 7.86, 1.86, 1.83, 7.49, 1.32,
- 4.96, 4.14, 3.88, 2.15, 2.11, 5.37, 3.98, 6.39, 4.44, 4.54, 7.88, 7.04, 3.35, 5.44, 4.99, 1.70, 7.06, 5.93, 7.05, 7.10,
- 7.53, 3.21, 0.20, 8.93, 5.51, 1.64, 7.87, 5.44, 4.59, 5.07, 5.66, 3.82, 5.05, 4.82, 4.83, 7.73, 7.35, 8.53, 6.41, 7.13,
- 0.41, 6.92, 2.84, 1.97, 4.36, 1.67, 2.03, 4.12, 2.83, 0.01, 8.28, 2.69, 7.80, 2.80, 6.54, 0.89, 2.86, 4.98, 7.84, 5.90,
- 6.70, 7.16, 0.22, 6.35, 8.97, 5.26, 1.30, 8.80, 7.11, 6.75, 4.22, 0.70, 6.98, 2.70, 3.86, 8.05, 1.12, 8.80, 1.28, 7.60,
- 3.09, 0.62, 7.72, 0.21, 5.60, 7.24, 3.75, 2.39, 8.83, 0.32, 3.03, 1.49, 8.27, 8.31, 5.66, 3.28, 0.24, 0.44, 7.28, 7.16,
- 2.46, 6.19, 7.73, 1.02, 2.27, 0.04, 0.95, 2.03, 6.51, 5.16, 0.45, 6.68, 1.86, 8.25, 1.90, 0.95, 1.80, 6.87, 8.59, 3.62,
- 7.63, 2.79, 0.66, 1.22, 4.90, 0.55, 5.87, 6.52, 8.76, 6.94, 2.92, 1.46, 5.21, 5.27, 5.59, 0.26, 2.68, 6.50, 4.62, 0.14,
- 6.13, 8.68, 5.47, 2.01, 1.67, 6.86, 6.58, 6.93, 4.65, 8.79, 6.92, 5.74, 3.37, 1.49, 6.44, 2.65, 7.88, 7.64, 7.62, 2.97,
- 1.87, 3.11, 7.48, 2.28, 6.94, 6.00, 3.12, 5.66, 1.90, 3.48, 4.59, 8.50, 2.12, 5.53, 8.68, 8.40, 0.30, 8.77, 0.32, 5.63,
- 4.42, 8.80, 6.68, 0.27, 0.61, 2.59, 6.88, 1.88, 3.74, 1.34, 6.42, 4.17, 2.79, 6.43, 1.55, 4.46, 4.31, 0.53, 8.94, 6.47,
- 2.09, 3.98, 2.85, 2.80, 5.26, 6.95, 5.24, 2.12, 6.79, 2.55, 5.35, 1.92, 4.28, 1.58, 3.14, 4.74, 5.20, 2.61, 8.00, 5.89,
- 5.87, 8.90, 8.53, 8.27, 4.20, 0.16, 4.50, 6.73, 8.60, 4.90, 5.83, 6.20, 2.29, 4.49, 3.92, 0.16, 2.36, 0.36, 2.84, 5.48,
- 5.70, 2.38, 8.61, 7.31, 8.54, 2.06, 0.36, 1.55, 0.30, 0.06, 4.20, 2.03, 0.59, 6.77, 1.27, 0.20, 1.17, 6.25, 1.18, 6.49,
- 3.45, 5.13, 4.83, 3.16, 7.13, 2.19, 7.36, 7.34, 6.78, 1.73, 6.58, 2.64, 4.63, 0.49, 2.10, 4.39, 3.97, 6.15, 7.98, 5.08,
- 5.76, 0.19, 3.40, 1.78, 3.31, 5.59, 6.58, 8.09, 8.26, 7.44, 5.91, 5.95, 3.95, 4.47, 2.64, 0.16, 1.79, 5.46, 2.55, 7.09,
- 3.36, 2.19, 6.20, 1.63, 2.94, 2.97, 7.49, 3.58, 6.52, 7.62, 4.15, 5.07, 4.64, 4.15, 0.46, 5.82, 0.05, 2.41, 1.85, 8.97,
- 6.89, 6.65, 2.63, 2.47, 0.89, 1.01, 4.22, 7.52, 1.17, 1.51, 1.71, 0.83, 3.46, 6.85, 1.47, 8.72, 7.79, 4.77, 3.90, 3.06,
- 2.23, 8.28, 8.83, 2.26, 7.03, 0.23, 6.78, 7.30, 8.11, 7.21, 4.90, 7.73, 3.00, 7.67, 4.43, 8.11, 6.32, 3.40, 2.61, 3.34,
- 2.34, 7.38, 3.19, 8.56, 3.34, 3.94, 2.86, 4.94, 7.35, 2.95, 2.02, 4.98, 7.34, 3.40, 6.21, 1.20, 8.15, 2.49, 1.25, 6.35,
- 4.11, 8.57, 8.34, 1.25, 5.91, 6.97, 7.18, 8.50, 2.32, 3.94, 6.12, 3.96, 2.23, 6.12, 1.94, 7.97, 7.76, 8.18, 7.51, 5.90,
- 0.36, 3.20, 3.44, 6.99, 4.77, 5.38, 4.53, 5.47, 2.64, 1.58, 0.36, 8.85, 7.15, 4.71, 6.10, 7.87, 0.44, 5.89, 8.57, 4.94,
- 0.04, 7.85, 4.64, 1.74, 8.59, 2.23, 2.33, 1.92, 1.79, 7.34, 4.36, 6.83, 0.86, 1.61, 7.21, 4.86, 8.75, 6.66, 7.99, 5.97,
- 1.14, 7.80, 4.60, 0.50, 2.32, 0.69, 4.27, 0.06, 2.33, 7.04, 2.25, 4.72, 2.00, 1.83, 1.26, 4.04, 8.14, 7.38, 6.15, 7.00,
- 5.97, 1.13, 8.59, 1.94, 0.17, 4.68, 0.70, 6.54, 5.69, 7.91, 0.04, 7.57, 4.08, 6.42, 1.12, 4.06, 1.43, 7.89, 7.06, 1.38,
- 7.84, 3.87, 1.33, 4.71, 2.59, 5.86, 1.16, 2.46, 0.07, 1.35, 2.87, 8.53, 7.61, 6.29, 8.33, 5.92, 3.18, 6.58, 6.69, 3.32,
- 5.43, 3.40, 0.87, 3.99, 4.80, 5.27, 4.62, 3.91, 6.93, 0.75, 5.21, 5.63, 8.60, 8.62, 1.05, 4.23, 8.90, 1.23, 2.70, 7.37,
- 4.67, 3.23, 7.19, 7.63, 2.40, 0.96, 3.55, 5.79, 3.85, 4.64, 6.65, 6.29, 4.58, 4.75, 1.12, 8.92, 3.81, 3.58, 1.46, 7.78,
- 5.22, 1.77, 2.47, 6.31, 8.82, 1.45, 6.80, 2.11, 0.73, 4.81, 8.81, 3.62, 2.33, 0.89, 8.79, 7.67, 2.27, 6.29, 2.23, 4.94,
- 7.95, 8.18, 1.39, 4.09, 6.18, 3.77, 5.88, 8.37, 7.41, 8.00, 4.14, 2.84, 7.04, 6.70, 8.42, 1.29, 8.60, 7.80, 1.24, 5.03,
- 0.89, 1.65, 4.56, 7.54, 0.70, 8.63, 5.33, 2.91, 0.48, 8.27, 0.82, 6.46, 4.07, 4.43, 1.83, 3.87, 5.68, 0.67, 8.93, 5.31,
- 1.46, 6.00, 8.85, 3.92, 0.26, 2.06, 6.54, 8.74, 7.58, 7.04, 3.85, 2.14, 3.71, 5.75, 0.07, 0.23, 5.12, 1.19, 1.78, 5.42,
- 1.97, 7.87, 2.90, 7.68, 8.88, 7.88, 4.16, 2.48, 6.02, 7.48, 5.26, 3.57, 8.49, 4.39, 0.42, 5.09, 3.78, 2.84, 5.50, 4.35,
- 1.84, 5.37, 6.58, 4.87, 4.86, 6.06, 3.61, 6.99, 0.37, 2.91, 2.88, 2.18, 1.96, 1.35, 4.10, 5.97, 6.64, 3.73, 3.08, 4.95,
- 8.10, 8.68, 5.74, 2.90, 2.96, 7.15, 4.45, 5.39, 6.85, 2.51, 2.68, 4.71, 0.99, 2.96, 1.80, 8.04, 6.37, 4.85, 5.93, 8.14,
- 6.53, 8.20, 7.95, 4.57, 2.80, 7.94, 6.29, 6.84, 7.93, 1.68, 7.46, 0.23, 3.39, 5.19, 0.19, 5.40, 8.90, 4.53, 6.73, 0.91,
- 0.46, 6.23, 4.04, 0.04, 2.61, 8.29, 3.58, 7.20, 5.91, 4.19, 2.94, 4.94, 2.25, 3.23, 7.87, 0.94
-};
-
-float input2_data[ARRAY_SIZE] =
-{
- 4.09, 3.02, 0.02, 8.91, 3.30, 5.16, 0.58, 1.38, 1.95, 1.26, 1.90, 5.16, 3.06, 5.34, 8.09, 2.06, 0.11, 7.96, 6.76, 5.82,
- 4.51, 3.93, 6.32, 7.32, 8.84, 1.36, 6.27, 5.08, 2.45, 2.33, 5.83, 4.59, 0.80, 6.34, 6.04, 3.38, 4.97, 8.44, 5.34, 5.13,
- 8.58, 7.22, 5.26, 5.79, 3.32, 4.41, 2.96, 2.82, 5.34, 3.50, 4.90, 5.85, 8.82, 8.99, 7.34, 0.71, 1.88, 8.99, 5.67, 7.63,
- 6.35, 8.98, 2.28, 6.45, 3.87, 3.74, 4.85, 6.31, 0.04, 4.46, 0.90, 7.79, 6.25, 3.75, 2.67, 2.58, 5.59, 0.71, 3.17, 4.87,
- 5.83, 1.53, 4.75, 2.61, 7.17, 7.22, 6.49, 6.84, 6.72, 0.83, 8.91, 2.44, 7.69, 7.10, 4.79, 2.01, 4.15, 2.18, 3.23, 2.99,
- 6.17, 6.67, 4.02, 2.81, 6.70, 5.02, 4.32, 5.02, 8.34, 7.17, 3.22, 8.03, 6.00, 4.64, 5.03, 7.84, 7.69, 3.97, 0.55, 6.12,
- 3.57, 0.09, 0.16, 1.54, 2.62, 3.43, 4.83, 1.67, 8.26, 4.86, 8.86, 8.00, 0.49, 5.52, 8.57, 4.32, 1.36, 0.07, 5.78, 3.02,
- 6.58, 0.86, 6.56, 2.53, 3.56, 6.20, 8.21, 4.30, 7.34, 6.57, 2.39, 1.15, 2.13, 1.93, 1.63, 0.06, 4.54, 5.37, 1.56, 5.80,
- 3.13, 5.40, 0.62, 7.66, 5.93, 5.58, 1.10, 1.19, 7.47, 6.01, 3.91, 4.40, 6.79, 1.13, 5.65, 0.13, 0.10, 3.64, 0.95, 6.34,
- 7.37, 8.69, 3.66, 7.88, 7.72, 0.78, 0.54, 5.95, 6.02, 1.38, 1.09, 0.88, 3.72, 2.13, 0.11, 3.82, 8.70, 1.95, 5.60, 3.26,
- 8.30, 6.44, 5.83, 2.70, 7.99, 6.15, 0.33, 4.45, 4.96, 4.84, 8.74, 5.79, 3.91, 3.74, 2.73, 3.95, 7.75, 1.83, 4.31, 8.90,
- 6.08, 6.48, 8.92, 3.05, 4.06, 5.70, 1.40, 5.83, 4.08, 3.85, 4.59, 8.91, 3.84, 0.11, 4.35, 1.28, 3.06, 3.52, 0.46, 1.54,
- 5.42, 0.95, 8.73, 1.09, 7.93, 0.74, 7.84, 5.41, 5.44, 7.85, 8.00, 5.50, 3.65, 2.11, 6.72, 4.74, 2.48, 3.98, 2.04, 6.78,
- 8.50, 6.54, 6.39, 1.81, 0.49, 6.83, 0.48, 3.58, 0.37, 1.27, 3.75, 6.74, 1.98, 4.31, 6.94, 1.62, 4.35, 6.23, 6.53, 1.56,
- 1.68, 8.24, 0.01, 8.68, 2.23, 4.19, 3.27, 4.70, 2.11, 1.09, 0.37, 7.02, 1.76, 1.45, 6.70, 3.96, 3.21, 3.63, 1.27, 5.70,
- 2.61, 7.05, 2.88, 5.73, 1.07, 7.68, 0.64, 7.35, 3.50, 8.60, 0.32, 0.15, 6.29, 6.27, 6.10, 5.39, 7.96, 7.43, 6.73, 4.17,
- 4.61, 4.81, 3.97, 3.86, 6.60, 6.55, 6.33, 4.93, 0.78, 7.20, 1.94, 0.20, 5.87, 0.54, 3.87, 5.93, 0.87, 8.77, 5.94, 8.70,
- 4.72, 0.56, 5.63, 2.73, 6.44, 3.69, 0.50, 6.57, 2.75, 3.93, 8.12, 5.34, 6.23, 7.18, 4.48, 1.60, 8.48, 8.97, 4.33, 1.43,
- 7.41, 5.51, 6.13, 0.13, 1.01, 7.18, 1.67, 0.00, 6.48, 0.87, 6.75, 6.66, 7.33, 3.92, 2.94, 0.34, 0.31, 5.46, 8.43, 0.24,
- 0.80, 3.98, 3.06, 3.10, 4.99, 3.29, 8.60, 5.76, 3.57, 8.93, 2.25, 3.05, 7.50, 8.78, 3.55, 2.40, 4.24, 3.14, 3.03, 3.78,
- 2.25, 1.95, 4.89, 8.14, 5.73, 6.58, 5.24, 7.39, 6.05, 8.82, 3.77, 6.04, 8.29, 5.12, 6.71, 5.97, 1.25, 3.48, 8.36, 1.56,
- 4.12, 2.85, 1.66, 4.30, 1.77, 3.60, 3.75, 7.26, 8.98, 2.43, 6.63, 6.28, 7.44, 4.76, 0.46, 5.62, 4.84, 0.79, 2.65, 7.82,
- 0.99, 3.59, 7.04, 5.83, 3.38, 8.50, 8.08, 5.31, 0.40, 2.60, 7.62, 6.69, 0.89, 4.71, 4.00, 3.89, 1.49, 8.39, 0.26, 4.16,
- 2.92, 2.46, 3.39, 3.07, 8.09, 1.43, 1.52, 4.00, 1.75, 5.69, 8.43, 2.47, 7.04, 1.67, 5.58, 2.63, 8.41, 1.41, 7.45, 0.80,
- 8.90, 5.67, 5.85, 0.29, 0.01, 6.71, 3.60, 8.25, 7.13, 5.00, 8.87, 4.78, 5.41, 3.62, 6.15, 4.87, 8.14, 1.09, 8.97, 4.70,
- 5.61, 2.02, 8.07, 4.78, 7.39, 5.87, 2.04, 0.87, 2.37, 5.13, 2.15, 1.14, 5.50, 1.73, 2.15, 7.18, 7.97, 5.16, 0.97, 1.27,
- 7.11, 7.68, 0.21, 6.35, 8.02, 4.33, 0.48, 3.36, 1.81, 4.92, 3.68, 1.08, 5.82, 4.19, 0.74, 2.64, 0.47, 7.93, 2.02, 6.71,
- 6.63, 7.98, 1.51, 0.02, 4.79, 2.90, 1.52, 4.38, 0.92, 1.60, 0.39, 6.38, 5.90, 8.25, 5.64, 2.18, 7.41, 7.17, 5.78, 2.27,
- 2.21, 1.36, 7.90, 3.00, 5.41, 8.46, 6.98, 3.58, 2.11, 6.81, 4.09, 3.82, 1.89, 8.67, 8.12, 8.32, 5.91, 4.77, 5.36, 0.82,
- 4.19, 6.18, 0.63, 6.80, 0.29, 4.46, 0.23, 3.51, 4.40, 0.34, 3.69, 5.76, 0.25, 8.57, 4.86, 0.73, 2.73, 6.52, 6.62, 1.13,
- 4.98, 2.24, 0.97, 3.26, 0.44, 7.83, 1.30, 7.58, 6.53, 3.02, 4.24, 2.37, 3.09, 7.29, 6.10, 3.06, 3.03, 3.70, 4.19, 0.51,
- 5.32, 4.38, 3.66, 8.95, 6.72, 2.15, 4.73, 3.03, 2.31, 1.21, 4.92, 6.51, 3.31, 8.50, 0.96, 5.67, 3.57, 1.88, 3.87, 4.72,
- 1.18, 3.21, 8.93, 6.07, 8.93, 6.49, 4.05, 0.77, 5.55, 1.90, 6.37, 6.64, 7.63, 4.08, 2.85, 8.78, 6.72, 7.18, 4.71, 5.57,
- 1.04, 6.55, 2.04, 1.49, 1.80, 7.48, 6.69, 1.69, 6.35, 6.05, 7.07, 7.98, 8.67, 5.93, 2.65, 5.59, 1.30, 1.56, 7.17, 0.65,
- 6.11, 0.72, 7.15, 6.17, 5.74, 8.72, 2.18, 8.09, 6.24, 3.36, 5.42, 6.50, 3.59, 4.98, 0.66, 1.58, 8.81, 2.93, 5.03, 1.67,
- 4.56, 7.75, 5.87, 5.17, 2.89, 3.15, 3.61, 8.02, 7.61, 7.97, 8.41, 8.84, 4.04, 8.91, 0.46, 2.99, 8.11, 6.46, 6.74, 4.00,
- 0.06, 3.55, 2.57, 6.34, 4.06, 5.88, 6.95, 4.37, 4.82, 5.04, 4.34, 4.57, 3.91, 3.10, 0.38, 7.07, 7.80, 3.80, 3.74, 7.85,
- 4.86, 1.46, 0.95, 4.34, 5.36, 1.04, 3.15, 8.69, 2.59, 2.10, 1.39, 5.43, 4.86, 8.50, 7.86, 1.09, 5.88, 7.31, 6.74, 3.26,
- 3.07, 8.20, 1.86, 5.16, 4.56, 8.77, 8.66, 3.20, 5.65, 7.66, 8.75, 8.21, 3.70, 6.94, 0.57, 7.88, 3.57, 4.35, 5.58, 5.82,
- 5.02, 2.96, 0.61, 7.97, 4.62, 8.76, 0.06, 4.62, 7.95, 5.07, 6.89, 3.30, 4.56, 7.09, 7.49, 3.45, 5.75, 4.08, 0.66, 0.76,
- 0.54, 8.40, 8.37, 8.33, 8.66, 0.62, 7.19, 8.88, 7.69, 7.97, 5.41, 3.51, 2.10, 7.15, 1.62, 6.97, 6.22, 6.99, 4.46, 1.26,
- 2.11, 3.89, 7.03, 3.35, 0.20, 5.89, 6.68, 7.35, 3.86, 1.26, 5.44, 2.84, 3.11, 8.01, 2.86, 2.34, 7.76, 3.40, 4.61, 2.74,
- 0.63, 0.32, 7.69, 5.20, 4.42, 2.94, 2.73, 3.88, 7.33, 6.39, 3.50, 8.67, 8.72, 3.99, 0.44, 7.49, 2.27, 2.90, 6.68, 1.62,
- 1.59, 1.05, 4.72, 6.89, 8.58, 6.35, 4.79, 7.25, 0.21, 5.51, 7.63, 3.38, 7.70, 8.75, 0.22, 5.76, 2.87, 6.52, 5.97, 5.83,
- 2.53, 1.43, 2.65, 7.98, 6.61, 7.81, 4.24, 2.67, 6.07, 4.26, 3.96, 0.05, 1.40, 4.57, 8.55, 5.41, 4.01, 2.00, 7.07, 3.15,
- 8.50, 1.35, 3.30, 4.00, 5.45, 6.49, 3.07, 8.76, 8.21, 2.90, 3.92, 0.45, 0.71, 6.86, 8.56, 2.15, 0.24, 2.04, 1.81, 1.59,
- 7.91, 4.06, 7.92, 0.90, 1.29, 0.29, 7.32, 6.95, 4.75, 4.40, 7.18, 1.75, 2.65, 8.71, 2.49, 3.11, 3.72, 1.78, 3.48, 1.05,
- 2.91, 6.13, 4.85, 4.99, 8.65, 7.88, 0.44, 4.57, 8.09, 4.86, 4.46, 6.88, 7.25, 2.58, 3.89, 7.54, 1.73, 7.44, 7.01, 5.28,
- 3.24, 3.18, 6.73, 0.10, 6.75, 0.05, 3.68, 5.80, 3.98, 3.32, 0.88, 1.53, 3.24, 4.75, 6.06, 0.63, 7.93, 2.69, 2.71, 2.95,
- 8.32, 7.47, 7.36, 4.48, 2.20, 8.84, 8.26, 6.43, 5.89, 4.54, 3.66, 4.90, 0.98, 2.74, 4.18, 8.60, 0.78, 7.23, 4.02, 0.25,
- 4.86, 5.90, 0.26, 4.24, 6.63, 8.48, 5.50, 4.07, 6.06, 2.14, 6.90, 6.43, 3.69, 7.83, 1.68, 4.29, 5.12, 0.40, 8.99, 1.26,
- 4.11, 4.23, 5.10, 3.68, 6.81, 5.17, 7.91, 0.22, 4.56, 3.32, 3.59, 8.56, 0.99, 5.37, 7.72, 4.65, 4.26, 7.14, 6.63, 6.39,
- 8.81, 4.78, 3.78, 4.94, 7.70, 1.66, 7.09, 2.06, 6.66, 2.39, 7.28, 4.42, 5.62, 4.36, 0.95, 4.91, 1.39, 4.26, 6.42, 6.02,
- 2.12, 2.77, 3.02, 4.70, 2.03, 6.72, 1.30, 1.23, 4.92, 3.91, 7.54, 4.11, 3.91, 1.03, 8.75, 2.85, 6.01, 2.74, 7.33, 6.57,
- 4.85, 6.81, 7.56, 3.65, 0.51, 4.25, 6.83, 4.45, 2.95, 8.94, 3.93, 5.87, 3.18, 1.79, 3.19, 5.84, 0.03, 7.59, 3.11, 8.22,
- 7.04, 5.70, 1.28, 5.55, 0.86, 6.70, 8.50, 0.79, 1.10, 2.38, 5.23, 6.00, 0.62, 2.08, 0.65, 2.97, 4.94, 5.35, 2.89, 7.20,
- 0.30, 5.82, 4.06, 1.45, 7.93, 1.99, 7.37, 3.84, 1.96, 1.85, 0.57, 7.74, 0.13, 6.90, 5.50, 3.38, 1.09, 8.68, 8.86, 6.80,
- 5.15, 3.18, 7.80, 8.61, 4.44, 4.78, 3.25, 2.90, 0.63, 4.98, 0.50, 0.83, 5.07, 5.09, 4.90, 1.51, 1.11, 0.23, 7.47, 7.04,
- 1.52, 3.58, 5.08, 3.03, 4.31, 2.32, 4.30, 3.51, 6.32, 2.96, 4.00, 4.70, 8.24, 1.06, 4.74, 4.58, 0.28, 3.75, 0.64, 0.83,
- 2.56, 1.46, 3.26, 3.74, 7.24, 7.57, 5.29, 0.33, 2.22, 7.80, 8.59, 3.31, 7.24, 1.21, 4.77, 2.07, 4.17, 2.34, 0.34, 2.14,
- 2.19, 7.81, 1.77, 5.69, 2.72, 5.53, 3.01, 2.23, 1.77, 5.35, 8.61, 2.76, 2.97, 1.39, 6.22, 7.26, 4.86, 1.11, 4.27, 3.50,
- 1.13, 8.77, 1.83, 6.25, 0.74, 3.90, 0.64, 3.35, 1.86, 5.44, 6.19, 1.08, 7.17, 7.30, 6.38, 3.22, 0.89, 8.14, 0.84, 3.39,
- 2.70, 0.01, 2.69, 1.18, 7.52, 2.25, 6.39, 1.11, 0.05, 4.17, 2.91, 1.88, 3.80, 1.65, 2.33, 4.81, 5.36, 0.28, 8.87, 1.93,
- 0.45, 8.82, 1.96, 7.40, 6.61, 5.00, 3.26, 2.13, 0.89, 7.30, 8.87, 8.03, 1.63, 3.01, 2.58, 0.30, 1.82, 4.21, 6.46, 1.14,
- 6.27, 3.68, 8.30, 1.87, 8.34, 7.25, 8.57, 4.98, 3.89, 0.30, 2.37, 6.74, 7.53, 3.36, 3.17, 8.20, 6.20, 7.96, 0.22, 5.00,
- 8.88, 8.26, 1.56, 3.19, 1.88, 7.51, 5.88, 7.42, 1.14, 6.21, 2.77, 7.24, 3.81, 3.15, 3.83, 3.88, 1.30, 6.81, 8.93, 1.87,
- 2.73, 7.44, 7.66, 6.16, 5.01, 6.87, 4.81, 1.75, 6.53, 3.97, 7.84, 0.78, 0.43, 7.38, 5.88, 8.11, 4.71, 2.89, 5.04, 8.68,
- 3.33, 4.24, 2.56, 8.62, 5.56, 0.98, 2.67, 1.10, 1.18, 8.43, 8.44, 7.96, 8.11, 2.07, 5.90, 7.80, 2.27, 0.48, 8.74, 3.78,
- 7.01, 3.99, 4.11, 0.62, 1.16, 5.62, 3.24, 4.65, 4.75, 4.23, 6.53, 0.94, 7.11, 0.99, 7.49, 0.21, 7.97, 7.12, 4.59, 7.46,
- 5.23, 7.64, 3.92, 2.63, 4.72, 8.18, 7.26, 8.57, 1.48, 2.33, 8.31, 2.10, 2.96, 5.89, 0.32, 4.06, 7.70, 6.31, 4.64, 4.90,
- 5.69, 3.12, 7.34, 7.98, 5.49, 8.58, 8.29, 1.39, 7.34, 7.89, 8.95, 6.91, 1.47, 4.33, 6.17, 0.94, 8.49, 0.26, 1.48, 2.98,
- 1.16, 8.58, 2.18, 3.42, 3.03, 5.48, 1.19, 3.32, 0.79, 6.19, 2.10, 4.12, 2.23, 1.74, 0.66, 8.92, 8.52, 8.71, 8.83, 4.99,
- 0.30, 5.09, 2.94, 3.88, 0.98, 3.87, 1.61, 7.64, 4.67, 1.45, 0.68, 2.68, 2.11, 8.54, 1.47, 1.47, 3.79, 0.64, 3.30, 7.98,
- 5.73, 6.61, 3.36, 7.88, 0.24, 4.07, 1.84, 3.92, 5.23, 4.94, 7.33, 0.44, 4.58, 3.36, 6.15, 4.04, 0.42, 2.48, 6.00, 0.45,
- 5.14, 3.99, 3.48, 4.31, 6.43, 2.15, 3.10, 1.28, 2.61, 6.89, 4.67, 8.81, 2.00, 0.06, 5.74, 7.45, 3.23, 0.50, 4.59, 1.09,
- 8.87, 5.26, 6.80, 8.29, 0.99, 8.76, 0.31, 6.30, 0.85, 1.89, 3.55, 5.59, 8.96, 8.86, 6.30, 4.51, 0.88, 1.67, 1.40, 0.81,
- 3.80, 3.06, 7.73, 6.90, 6.21, 3.98, 8.40, 2.45, 1.03, 8.61, 2.44, 5.68, 5.37, 6.93, 0.86, 8.86, 3.68, 2.64, 5.28, 6.03,
- 1.70, 8.20, 5.19, 4.57, 1.20, 4.73, 7.95, 8.25, 5.50, 8.62, 1.97, 1.76, 8.97, 5.31, 6.38, 0.03, 4.22, 6.69, 8.68, 7.75,
- 5.73, 8.16, 3.43, 2.52, 3.09, 1.54, 6.63, 8.27, 6.64, 7.74, 4.38, 0.57, 6.10, 6.04, 1.11, 5.16, 8.00, 3.07, 7.45, 3.38,
- 7.43, 1.98, 1.81, 4.71, 0.69, 8.31, 2.44, 7.29, 2.57, 5.68, 0.83, 8.63, 8.83, 4.45, 2.08, 3.68, 3.74, 0.33, 1.05, 7.60,
- 4.45, 3.56, 6.84, 5.98, 1.41, 6.91, 5.59, 6.73, 0.88, 3.60, 4.13, 0.43, 5.02, 0.65, 7.65, 6.36, 0.30, 0.75, 6.27, 5.96,
- 1.11, 3.15, 3.90, 8.16, 3.75, 3.80, 7.60, 8.41, 2.62, 7.76, 3.31, 1.39, 6.29, 5.92, 4.61, 4.02, 4.99, 0.87, 5.01, 3.75,
- 1.29, 6.95, 8.93, 2.66, 0.16, 2.13, 2.57, 8.23, 2.12, 1.07, 3.66, 5.58, 3.95, 3.73, 1.93, 4.87, 1.46, 0.38, 2.33, 1.33,
- 0.13, 6.35, 6.61, 5.29, 7.17, 4.86, 3.36, 8.38, 4.20, 0.38, 7.16, 0.52, 7.46, 2.59, 3.99, 5.41, 1.89, 4.45, 4.89, 0.42,
- 8.76, 5.41, 5.97, 7.37, 5.57, 5.49, 3.36, 8.64, 3.45, 1.23, 1.42, 6.86, 6.40, 6.72, 2.14, 5.12, 6.46, 3.68, 1.75, 7.21,
- 6.77, 5.45, 2.80, 1.27, 4.44, 3.96, 3.51, 6.59, 5.23, 3.42, 3.23, 1.70, 5.76, 0.87, 3.55, 1.85, 6.27, 2.23, 3.73, 4.86,
- 3.88, 8.56, 6.85, 1.87, 3.36, 0.96, 5.32, 6.97, 1.62, 6.39, 8.95, 6.83, 3.22, 7.02, 1.46, 2.39, 3.38, 4.91, 8.77, 1.53,
- 8.29, 1.02, 1.92, 2.90, 1.49, 7.96, 2.33, 4.64, 2.80, 5.95, 4.55, 1.79, 3.08, 4.28, 8.58, 1.65, 7.90, 8.12, 3.27, 8.77,
- 2.21, 7.21, 1.40, 5.74, 3.74, 1.60, 6.47, 4.96, 2.18, 1.37, 1.52, 7.02, 4.61, 7.11, 5.57, 2.43, 6.27, 8.35, 8.75, 4.68,
- 8.28, 8.64, 7.53, 8.26, 5.18, 8.79, 6.00, 4.08, 2.34, 5.12, 3.56, 0.92, 1.12, 0.48, 7.82, 6.87, 5.18, 8.16, 1.26, 2.53,
- 2.22, 6.24, 2.49, 6.63, 4.73, 7.42, 5.95, 8.19, 4.71, 0.84, 7.90, 4.51, 2.33, 0.26, 1.98, 4.54, 0.09, 7.06, 4.68, 8.04,
- 2.18, 3.78, 4.20, 5.29, 2.11, 1.75, 7.51, 5.05, 5.31, 6.24, 0.91, 7.12, 0.46, 3.58, 6.31, 6.23, 6.09, 5.69, 7.11, 5.57,
- 2.39, 5.56, 6.89, 8.92, 0.53, 7.04, 8.46, 5.51, 1.66, 2.84, 6.29, 7.11, 0.03, 4.11, 1.84, 8.41, 4.53, 8.15, 1.82, 3.76,
- 1.39, 2.35, 6.98, 5.55, 1.75, 4.01, 8.50, 1.84, 1.06, 5.12, 7.69, 8.87, 2.68, 7.51, 8.51, 6.84, 0.02, 5.94, 7.76, 0.04,
- 7.12, 3.27, 0.81, 3.51, 1.89, 3.97, 2.30, 4.96, 8.33, 5.94, 6.94, 7.13, 8.95, 8.61, 0.50, 7.91, 6.39, 3.38, 7.85, 3.67,
- 5.33, 1.12, 3.62, 6.83, 3.92, 1.23, 5.13, 0.44, 8.46, 3.44, 6.99, 0.63, 3.80, 5.64, 5.98, 6.26, 2.54, 1.77, 6.31, 7.47,
- 3.32, 7.44, 3.93, 5.21, 1.80, 5.62, 0.31, 8.35, 8.95, 6.68, 1.99, 8.40, 7.50, 3.21, 1.90, 0.49, 7.76, 1.78, 1.80, 0.47,
- 3.13, 8.55, 0.10, 5.35, 5.03, 4.46, 1.02, 4.60, 8.33, 1.67, 6.42, 4.28, 5.65, 0.04, 7.97, 6.39, 7.31, 6.60, 6.58, 2.14,
- 8.33, 0.22, 3.22, 0.78, 1.89, 5.20, 0.73, 7.29, 2.80, 4.03, 5.69, 5.93, 0.39, 8.05, 2.47, 6.95, 7.35, 0.68, 6.57, 6.73,
- 8.11, 2.80, 4.33, 0.74, 6.57, 5.65, 4.87, 0.22, 5.99, 6.76, 0.65, 4.87, 2.07, 7.03, 2.56, 2.40, 5.68, 2.69, 7.91, 4.37,
- 4.45, 7.04, 8.71, 3.91, 1.32, 7.01, 6.87, 4.28, 3.94, 4.31, 4.90, 8.65, 0.47, 8.88, 3.32, 8.68, 4.46, 7.23, 6.84, 3.35,
- 4.20, 6.98, 1.04, 2.04, 0.92, 0.53, 8.13, 5.76, 6.24, 3.75, 7.38, 0.19, 7.08, 4.89, 8.39, 7.71, 2.60, 8.54, 4.64, 6.93,
- 0.32, 3.17, 6.35, 1.42, 5.18, 4.04, 2.99, 2.15, 3.02, 3.67, 2.54, 8.83, 1.24, 3.63, 4.74, 8.82, 0.65, 0.44, 4.70, 0.57,
- 0.69, 5.82, 0.15, 0.35, 1.40, 6.57, 4.06, 7.20, 0.70, 4.83, 0.09, 6.14, 5.26, 5.93, 1.06, 7.57, 4.96, 2.86, 5.27, 1.34,
- 2.84, 3.89, 8.29, 0.52, 3.61, 7.73, 2.81, 6.06, 1.09, 8.96, 5.51, 2.32, 1.81, 1.97, 2.37, 2.69, 3.04, 4.26, 4.17, 2.45,
- 7.29, 6.36, 0.20, 1.94, 6.02, 6.41, 2.91, 2.74, 6.39, 3.74, 4.63, 5.80, 4.10, 5.21, 4.63, 5.92, 5.54, 3.38, 7.11, 4.56,
- 0.50, 3.17, 7.36, 2.07, 1.08, 7.30, 0.71, 3.61, 2.46, 6.80, 0.04, 3.61, 3.87, 1.45, 6.50, 5.55, 8.74, 4.11, 5.72, 1.66,
- 4.20, 7.43, 7.56, 1.93, 2.58, 0.90, 1.07, 7.09, 7.79, 7.31, 7.42, 3.63, 1.09, 1.70, 1.97, 8.52, 6.04, 6.67, 8.94, 6.67,
- 7.11, 3.40, 4.63, 6.00, 6.69, 7.99, 0.29, 8.03, 0.13, 0.03, 4.71, 2.32, 1.65, 1.87, 0.35, 8.66, 5.94, 8.11, 4.11, 6.96,
- 2.65, 4.82, 2.65, 5.80, 7.83, 7.64, 7.48, 2.28, 7.89, 3.63, 0.83, 6.41, 4.72, 1.64, 3.77, 3.51, 7.91, 1.48, 2.05, 5.19,
- 1.45, 3.65, 2.20, 4.38, 6.33, 3.25, 0.03, 8.43, 7.18, 7.90, 5.49, 7.77, 6.25, 4.90, 7.50, 6.93, 2.55, 7.72, 3.38, 0.49,
- 5.35, 8.60, 7.23, 1.47, 1.00, 4.65, 8.53, 4.17, 0.02, 7.24, 7.08, 6.71, 7.67, 6.29, 6.57, 2.87, 1.11, 0.37, 8.61, 6.40,
- 5.43, 4.63, 8.75, 0.83, 3.09, 7.61, 7.14, 6.41, 1.20, 0.71, 2.50, 6.56, 3.72, 2.35, 8.45, 0.91, 5.49, 8.68, 1.84, 3.08,
- 2.46, 5.97, 4.48, 2.58, 0.88, 1.59, 6.45, 2.12, 7.31, 0.13, 5.60, 1.90, 1.92, 6.56, 3.95, 3.54, 0.80, 0.73, 4.34, 1.72,
- 5.47, 1.08, 8.39, 7.27, 7.25, 0.68, 8.86, 5.75, 1.68, 2.72, 4.38, 2.47, 0.58, 3.50, 7.27, 3.72, 2.05, 8.35, 1.21, 4.91,
- 6.25, 3.44, 5.69, 7.16, 7.24, 8.70, 7.70, 8.59, 6.20, 3.62, 5.75, 3.20, 1.56, 8.95, 1.88, 8.04, 4.72, 4.35, 5.75, 1.91,
- 0.39, 6.55, 7.78, 7.12, 3.73, 3.76, 3.83, 3.90, 7.91, 5.52, 6.62, 3.97, 6.91, 1.24, 1.80, 5.25, 5.86, 4.90, 6.44, 7.46,
- 3.57, 5.36, 1.42, 6.07, 6.29, 0.21, 1.94, 7.53, 2.31, 5.30, 5.44, 0.19, 5.42, 2.95, 8.93, 3.94, 6.74, 2.08, 1.60, 6.86,
- 2.15, 4.54, 8.83, 2.57, 7.90, 8.84, 0.25, 0.33, 3.85, 2.22, 0.96, 7.22, 7.16, 4.14, 0.62, 0.70, 7.34, 8.96, 2.70, 1.40,
- 4.64, 4.11, 5.66, 6.68, 8.36, 7.17, 1.68, 6.85, 7.51, 7.68, 0.95, 1.74, 4.87, 6.84, 1.55, 1.53, 6.74, 3.48, 4.31, 7.05,
- 6.90, 1.54, 8.13, 4.43, 8.04, 3.92, 6.91, 3.17, 4.89, 5.17, 2.83, 6.40, 7.20, 2.64, 7.13, 4.31, 3.82, 3.65, 6.70, 4.90,
- 8.99, 5.44, 7.42, 3.72, 7.28, 8.67, 7.55, 6.36, 2.24, 8.15, 8.87, 6.32, 0.56, 7.36, 1.97, 6.46, 4.04, 4.24, 4.37, 6.97,
- 1.40, 8.61, 1.11, 5.65, 8.87, 8.03, 0.42, 8.71, 6.69, 2.02, 4.64, 2.64, 5.25, 0.88, 1.07, 6.89, 7.59, 8.08, 3.32, 0.69,
- 8.31, 6.68, 6.49, 2.25, 4.78, 3.99, 0.86, 0.96, 5.10, 1.43, 0.23, 0.11, 2.67, 6.97, 3.22, 4.23, 8.78, 2.87, 0.11, 0.26,
- 8.85, 5.30, 6.52, 8.74, 5.97, 4.47, 7.20, 2.46, 4.25, 5.29, 8.03, 2.97, 6.87, 5.05, 4.57, 0.37, 4.59, 5.81, 4.10, 8.57,
- 4.78, 0.96, 6.62, 2.32, 3.14, 2.33, 3.89, 5.94, 5.43, 7.67, 0.09, 2.47, 1.02, 7.42, 0.36, 8.85, 0.05, 0.10, 7.28, 8.11,
- 0.37, 5.14, 3.77, 8.37, 2.07, 4.95, 8.90, 6.06, 0.15, 1.93, 2.66, 2.98, 8.05, 5.07, 6.60, 5.64, 0.50, 5.79, 7.17, 1.38,
- 7.03, 1.52, 3.19, 0.56, 5.88, 1.90, 8.08, 3.72, 2.51, 5.83, 5.08, 0.65, 1.41, 3.97, 1.95, 5.02, 4.80, 6.62, 0.35, 7.29,
- 5.00, 2.05, 1.19, 4.11, 7.30, 2.66, 3.51, 7.14, 3.45, 7.41, 4.02, 3.28, 8.06, 7.07, 8.07, 6.27, 5.45, 1.85, 0.64, 4.57,
- 4.70, 1.93, 5.13, 3.92, 6.10, 5.60, 4.06, 1.37, 1.38, 4.90, 3.85, 4.61, 1.56, 3.51, 6.31, 2.62, 5.65, 6.45, 0.49, 7.97,
- 5.82, 2.34, 6.16, 2.99, 4.17, 6.70, 7.28, 7.95, 5.71, 8.20, 4.43, 3.71, 7.63, 5.14, 2.37, 7.97, 8.65, 3.62, 0.56, 1.90,
- 5.52, 5.59, 6.68, 7.29, 6.85, 5.69, 8.10, 3.69, 6.46, 2.30, 0.29, 5.66, 7.83, 1.27, 1.14, 1.37, 0.22, 4.99, 5.66, 3.93,
- 4.48, 7.18, 2.91, 1.41, 3.71, 1.14, 1.10, 7.41, 3.19, 1.97, 8.15, 3.07, 4.59, 7.97, 4.91, 4.85, 5.53, 8.60, 8.89, 0.95,
- 5.13, 8.91, 7.27, 6.57, 3.67, 7.07, 8.66, 5.77, 2.65, 3.40, 4.94, 2.09, 6.57, 6.03, 2.52, 8.00, 5.60, 5.35, 0.12, 6.07,
- 8.45, 1.70, 1.19, 0.47, 7.02, 7.67, 7.12, 3.71, 2.12, 4.70, 0.23, 6.80, 1.13, 4.67, 4.77, 4.75, 7.33, 2.72, 4.15, 2.38,
- 5.10, 4.23, 8.58, 3.67, 5.12, 7.99, 1.79, 3.29, 5.38, 8.91, 7.17, 5.95, 4.69, 8.01, 7.40, 7.28, 2.08, 1.69, 4.45, 3.23,
- 3.53, 0.07, 5.23, 3.83, 3.26, 0.80, 6.63, 7.90, 8.66, 4.49, 6.61, 2.77, 3.20, 7.78, 1.93, 7.40, 1.23, 7.54, 7.75, 6.10,
- 7.97, 7.96, 1.60, 7.29, 7.91, 3.56, 7.82, 2.91, 2.81, 4.78, 5.76, 0.85, 3.80, 1.70, 6.03, 6.59, 1.21, 8.72, 2.94, 2.68,
- 3.66, 0.30, 6.69, 2.71, 2.71, 2.86, 6.51, 6.81, 7.85, 5.84, 0.58, 2.22, 3.77, 8.14, 7.31, 2.05, 2.28, 4.98, 1.03, 0.99,
- 1.26, 4.95, 3.18, 8.57, 7.09, 7.12, 8.55, 8.61, 2.32, 0.72, 7.17, 3.22, 0.08, 7.44, 5.00, 6.19, 2.83, 4.43, 1.70, 7.83,
- 1.92, 1.50, 8.48, 0.47, 6.59, 4.34, 5.89, 5.48, 0.80, 4.70, 6.58, 2.48, 6.96, 2.36, 2.79, 8.70, 7.93, 5.25, 1.56, 3.61,
- 7.65, 7.82, 6.41, 2.91, 7.18, 6.47, 7.70, 6.77, 8.84, 3.58, 1.58, 3.61, 4.72, 1.53, 4.83, 1.09, 3.77, 7.73, 5.07, 0.08,
- 0.28, 4.94, 7.70, 5.15, 6.61, 5.32, 3.66, 1.77, 0.74, 6.51, 7.90, 8.99, 8.21, 3.88, 3.94, 0.40, 0.86, 3.38, 6.35, 7.12,
- 1.89, 0.69, 7.99, 5.62, 2.48, 7.58, 5.57, 2.34, 7.63, 2.98, 1.37, 7.74, 1.52, 0.06, 4.27, 6.26, 7.11, 1.65, 6.04, 2.77,
- 0.58, 3.14, 3.02, 1.61, 1.52, 8.03, 1.02, 0.88, 7.93, 4.00, 4.95, 4.80, 1.15, 4.91, 1.95, 4.99, 4.32, 4.41, 6.85, 0.41,
- 1.11, 6.84, 8.05, 2.11, 4.74, 6.03, 5.02, 7.47, 8.73, 4.27, 3.87, 3.62, 3.11, 3.85, 6.73, 8.75, 1.40, 0.29, 7.93, 1.64,
- 3.67, 8.66, 4.29, 7.35, 2.10, 8.87, 0.27, 8.09, 3.30, 4.63, 5.91, 0.48, 2.66, 2.80, 4.27, 3.26, 7.25, 2.28, 3.95, 4.02,
- 7.57, 8.97, 6.51, 0.85, 0.92, 7.64, 6.25, 3.34, 4.99, 1.43, 3.31, 6.78, 0.68, 0.15, 6.54, 4.59, 7.18, 1.56, 6.34, 2.37,
- 2.86, 5.65, 6.24, 3.14, 7.42, 4.20, 3.49, 3.62, 3.42, 1.72, 4.09, 3.17, 0.33, 8.51, 8.70, 7.60, 1.94, 6.92, 7.44, 8.53,
- 7.03, 2.13, 3.64, 8.30, 4.89, 5.81, 4.06, 6.16, 4.57, 1.60, 8.34, 5.44, 0.39, 2.95, 6.95, 1.97, 2.62, 2.41, 7.19, 4.06,
- 4.85, 6.02, 7.41, 8.90, 0.24, 8.97, 7.86, 4.79, 5.25, 1.83, 7.32, 6.32, 7.40, 2.34, 0.10, 5.32, 0.94, 0.02, 6.48, 0.32,
- 3.35, 2.63, 6.52, 8.43, 0.16, 5.53, 3.43, 1.45, 3.23, 7.38, 5.75, 7.34, 8.84, 8.15, 7.04, 8.80, 1.30, 3.26, 5.50, 2.62,
- 6.08, 7.89, 4.86, 1.65, 2.89, 7.95, 5.57, 7.66, 2.67, 6.81, 7.05, 5.05, 7.82, 2.06, 6.86, 2.53, 1.41, 8.61, 8.23, 1.02,
- 8.88, 0.39, 8.64, 4.76, 5.01, 6.19, 8.72, 8.28, 7.75, 0.98, 2.00, 5.26, 3.03, 2.82, 4.99, 7.59, 8.26, 2.64, 4.98, 5.55,
- 7.01, 6.81, 5.19, 4.30, 3.07, 4.95, 7.88, 7.87, 6.73, 4.69, 2.21, 8.50, 8.02, 6.06, 4.86, 1.02, 2.31, 1.35, 0.52, 3.98,
- 2.76, 6.49, 2.59, 4.84, 7.59, 1.65, 6.84, 5.86, 7.49, 3.02, 6.80, 4.71, 3.97, 8.38, 4.34, 3.58, 5.86, 3.29, 7.82, 5.61,
- 5.70, 5.68, 4.92, 1.70, 2.30, 4.60, 6.57, 5.41, 4.18, 7.28, 5.77, 4.48, 0.43, 8.22, 7.59, 4.60, 1.89, 8.09, 3.29, 8.55,
- 6.32, 8.03, 6.88, 0.60, 7.01, 4.08, 3.03, 6.77, 0.68, 2.34, 4.93, 7.23, 5.75, 4.46, 3.25, 0.24, 6.24, 8.32, 5.07, 7.18,
- 3.97, 7.57, 3.29, 8.22, 1.00, 6.25, 4.85, 8.42, 6.70, 4.08, 0.72, 5.14, 6.06, 4.56, 8.48, 8.93, 4.57, 1.26, 6.22, 4.14,
- 4.15, 4.45, 0.14, 0.16, 2.30, 1.54, 8.33, 4.74, 4.18, 5.41, 0.90, 7.22, 0.67, 5.60, 2.81, 1.63, 2.34, 6.12, 0.57, 3.51,
- 7.67, 4.73, 5.04, 1.71, 6.57, 2.33, 8.57, 8.47, 3.90, 1.06, 2.85, 7.69, 5.55, 3.88, 1.88, 3.63, 5.13, 7.09, 6.66, 1.14,
- 8.37, 4.93, 0.34, 6.92, 7.81, 4.53, 5.70, 4.66, 4.63, 5.92, 7.19, 8.34, 0.87, 7.32, 0.93, 8.45, 2.60, 8.05, 4.39, 3.06,
- 5.11, 6.50, 8.71, 7.69, 8.70, 2.12, 6.18, 0.68, 4.00, 0.15, 3.49, 3.34, 2.40, 3.05, 5.04, 8.37, 1.66, 7.61, 3.93, 1.37,
- 8.34, 3.59, 6.69, 5.90, 4.49, 5.74, 5.38, 2.43, 0.28, 1.76, 2.21, 4.85, 4.51, 5.94, 3.50, 3.49, 4.06, 7.22, 6.10, 7.58,
- 8.54, 7.08, 5.48, 8.05, 3.90, 5.62, 3.93, 7.71, 6.69, 2.71, 8.26, 7.91, 5.50, 6.52, 6.08, 5.13, 0.86, 7.04, 6.45, 0.55,
- 8.91, 5.51, 1.44, 1.89, 0.13, 3.72, 5.13, 0.58, 6.05, 8.57, 3.25, 1.39, 0.35, 2.35, 5.60, 5.91, 3.36, 7.84, 3.44, 8.80,
- 3.23, 3.13, 6.68, 7.68, 0.10, 7.32, 5.08, 5.65, 6.71, 5.30, 3.29, 8.81, 8.03, 1.20, 7.87, 8.84, 8.59, 8.10, 2.37, 0.88,
- 2.67, 7.82, 3.72, 2.77, 4.43, 0.43, 6.25, 3.90, 4.39, 3.35, 5.87, 3.14, 8.42, 0.64, 6.14, 5.77, 3.83, 6.95, 2.15, 0.70,
- 1.68, 2.76, 3.40, 0.76, 6.62, 3.76, 4.25, 3.05, 3.09, 3.40, 6.60, 4.32, 6.33, 7.05, 7.16, 8.10, 0.72, 6.12, 8.65, 4.89,
- 3.05, 4.46, 8.11, 5.97, 6.38, 1.72, 4.51, 4.64, 7.10, 4.01, 2.71, 0.38, 3.04, 6.09, 4.15, 6.33, 5.74, 1.49, 4.07, 6.79,
- 6.81, 5.44, 6.94, 3.63, 7.95, 8.27, 7.13, 4.80, 0.06, 2.93, 4.51, 7.55, 5.54, 1.64, 2.53, 4.71, 6.71, 3.16, 0.73, 0.04,
- 6.17, 4.31, 2.64, 3.08, 7.70, 7.10, 3.54, 4.74, 8.21, 6.73, 8.62, 0.78, 8.41, 2.18, 8.57, 8.38, 5.29, 6.06, 2.74, 6.94,
- 5.28, 6.87, 5.89, 8.47, 3.08, 6.29, 7.17, 8.62, 6.09, 5.84, 7.35, 6.21, 5.71, 5.72, 0.98, 5.23, 8.48, 1.50, 4.23, 8.78,
- 3.72, 0.71, 2.30, 2.01, 5.84, 4.66, 1.28, 8.33, 6.58, 0.56, 3.50, 3.03, 1.57, 5.42, 5.36, 6.52, 3.13, 5.77, 8.14, 1.65,
- 6.29, 3.74, 2.15, 2.30, 5.46, 3.18, 5.97, 4.24, 3.61, 1.07, 1.80, 7.28, 1.05, 6.72, 4.12, 8.71, 7.47, 1.12, 2.36, 1.93,
- 0.31, 3.65, 0.41, 5.17, 3.11, 6.74, 1.38, 0.45, 8.72, 1.64, 3.33, 5.62, 7.32, 2.26, 8.15, 7.04, 7.21, 5.10, 7.24, 3.69,
- 8.46, 2.98, 2.26, 8.90, 8.67, 3.46, 4.56, 1.64, 8.33, 3.49, 2.60, 0.19, 8.39, 2.36, 2.33, 1.31, 2.95, 1.13, 7.96, 6.80,
- 0.14, 5.15, 3.31, 1.63, 2.87, 2.73, 4.78, 2.70, 6.05, 6.87, 4.29, 2.83, 6.54, 6.37, 5.83, 7.07, 8.44, 2.68, 3.57, 1.64,
- 4.70, 5.98, 4.69, 5.66, 6.45, 5.65, 2.63, 8.92, 6.14, 5.82, 3.53, 7.97, 8.88, 8.05, 7.50, 6.69, 5.05, 7.23, 3.37, 5.22,
- 1.81, 2.70, 1.29, 6.29, 1.77, 4.26, 1.94, 1.27, 3.73, 3.11, 5.90, 3.36, 1.95, 0.04, 0.77, 2.81, 8.44, 3.29, 1.99, 4.78,
- 2.11, 3.89, 8.09, 1.62, 4.74, 0.54, 0.60, 8.61, 8.23, 7.62, 7.82, 1.71, 3.76, 8.72, 3.97, 0.01, 0.99, 4.62, 2.51, 2.50,
- 6.63, 0.52, 0.61, 1.33, 6.57, 0.52, 6.24, 4.54, 0.48, 8.05, 6.54, 1.04, 2.27, 2.51, 0.61, 7.30, 1.24, 0.58, 5.25, 2.19,
- 0.33, 3.82, 4.56, 7.07, 1.66, 7.24, 0.95, 1.48, 7.66, 8.71, 5.47, 5.04, 0.53, 0.16, 5.92, 0.20, 2.48, 2.05, 5.87, 1.98,
- 2.97, 1.20, 1.21, 6.64, 7.91, 3.46, 0.67, 3.25, 1.30, 4.35, 1.99, 0.58, 3.19, 6.38, 8.77, 5.95, 1.87, 1.38, 1.15, 4.18,
- 8.93, 0.70, 5.51, 5.43, 3.85, 4.35, 8.22, 0.29, 1.61, 0.75, 1.11, 6.60, 8.91, 6.17, 6.38, 8.80, 7.33, 2.77, 8.32, 0.62,
- 8.16, 2.07, 4.37, 3.94, 7.29, 5.22, 4.84, 4.92, 2.93, 8.86, 1.58, 5.34, 0.84, 2.54, 7.11, 5.71, 1.16, 2.43, 2.36, 3.33,
- 6.74, 0.14, 5.69, 4.44, 5.51, 2.49, 1.67, 1.95, 2.18, 1.78, 0.28, 2.75, 2.49, 4.93, 1.46, 6.35, 7.69, 3.70, 6.03, 5.91,
- 0.19, 4.10, 2.28, 8.81, 6.82, 5.00, 3.79, 0.95, 2.35, 7.80, 7.23, 2.53, 3.49, 1.26, 7.42, 2.73, 7.01, 4.01, 5.11, 0.74,
- 0.14, 2.35, 0.27, 2.82, 2.83, 2.43, 1.42, 4.95, 6.19, 0.94, 8.47, 8.89, 1.82, 6.48, 5.60, 3.39, 8.50, 0.12, 4.66, 4.93,
- 5.27, 7.40, 2.54, 1.82, 8.72, 4.14, 4.30, 6.67, 8.83, 4.33, 1.47, 1.42, 0.75, 4.30, 7.71, 1.75, 2.23, 2.82, 5.51, 2.35,
- 6.80, 3.29, 1.35, 7.79, 2.04, 9.00, 8.63, 6.18, 4.63, 6.71, 0.14, 6.20, 5.42, 3.27, 2.88, 1.37, 4.01, 2.44, 6.82, 7.46,
- 6.86, 5.52, 7.89, 8.40, 1.56, 5.17, 0.56, 1.27, 6.19, 3.93, 2.21, 2.24, 4.42, 2.18, 6.37, 6.69, 1.57, 8.01, 7.02, 0.37,
- 0.39, 8.27, 2.03, 7.28, 8.06, 2.47, 7.99, 3.42, 6.54, 7.36, 6.56, 8.66, 1.07, 4.01, 6.71, 0.13, 6.50, 2.19, 3.49, 8.30,
- 0.78, 2.09, 8.68, 7.37, 2.77, 8.14, 2.45, 2.26, 3.35, 8.35, 0.85, 1.18, 7.86, 1.08, 4.73, 3.15, 6.44, 0.22, 0.35, 2.22,
- 7.12, 1.82, 1.00, 0.70, 1.36, 5.86, 6.62, 5.14, 0.49, 5.51, 5.27, 5.58, 4.07, 3.48, 6.40, 1.61, 7.57, 6.07, 5.66, 4.39,
- 1.53, 3.64, 2.99, 7.03, 3.80, 8.52, 2.77, 7.02, 7.34, 1.26, 7.92, 3.37, 0.53, 4.86, 2.63, 0.71, 8.67, 8.16, 7.00, 0.40,
- 7.36, 8.68, 4.40, 5.54, 2.76, 1.56, 5.10, 6.40, 4.02, 2.82, 7.46, 5.20, 8.64, 3.86, 4.48, 7.09, 6.60, 7.73, 1.61, 6.32,
- 4.88, 7.48, 7.26, 0.32, 0.02, 3.32, 5.25, 4.58, 7.29, 0.72, 0.51, 0.90, 5.91, 6.36, 3.01, 7.41, 8.12, 1.89, 0.97, 4.39,
- 8.43, 4.94, 5.15, 4.17, 4.14, 2.17, 5.32, 8.89, 2.61, 2.41, 3.60, 1.93, 1.52, 7.84, 8.76, 7.15, 0.22, 2.73, 6.56, 4.22,
- 4.47, 6.05, 4.98, 7.50, 1.37, 5.31, 3.01, 1.58, 6.13, 4.11, 0.00, 0.35, 5.22, 7.75, 7.54, 8.57, 2.07, 6.96, 2.46, 5.36,
- 0.55, 7.94, 5.28, 4.65, 4.36, 6.48, 0.24, 3.59, 5.11, 8.51, 5.98, 7.19, 0.30, 4.54, 7.53, 1.99, 8.93, 1.64, 4.47, 3.24,
- 8.91, 4.19, 7.77, 3.28, 3.05, 4.63, 6.94, 0.15, 4.03, 4.23, 7.02, 7.02, 7.34, 2.75, 5.90, 7.02, 5.68, 8.09, 0.71, 8.29,
- 4.41, 0.37, 4.75, 4.43, 4.73, 5.91, 0.89, 7.46, 3.70, 5.24, 6.25, 7.23, 0.32, 7.96, 3.26, 1.87, 3.29, 7.51, 7.34, 3.10,
- 8.45, 3.08, 0.74, 4.41, 6.03, 7.89, 0.17, 2.22, 1.69, 5.57, 8.44, 1.35, 6.07, 7.95, 8.24, 3.38, 2.99, 5.87, 4.04, 6.86,
- 7.79, 3.54, 8.91, 8.16, 0.93, 1.87, 5.08, 5.09, 6.72, 6.74, 0.88, 1.16, 3.99, 2.60, 2.80, 4.86
-};
-
-float verify_data[ARRAY_SIZE] =
-{
- 1354.01, 1395.87, 1543.01, 1599.53, 1344.29, 1352.43, 1217.77, 1342.96, 1258.09, 1233.96, 1257.44, 1240.52, 1417.05, 1133.66, 1303.01, 1394.43, 1397.95, 1498.21, 1297.75, 1314.17,
- 1267.56, 1570.65, 1350.75, 1214.41, 1293.15, 1281.52, 1383.14, 1328.95, 1376.30, 1474.75, 1233.98, 1467.32, 1385.80, 1516.00, 1383.32, 1498.40, 1349.81, 1387.99, 1407.33, 1276.53,
- 1346.93, 1398.80, 1512.83, 1286.52, 1361.78, 1434.00, 1346.92, 1349.11, 1168.83, 1159.40, 1665.83, 1344.38, 1467.49, 1415.67, 1419.02, 1570.37, 1301.99, 1414.36, 1520.39, 1306.54,
- 1094.96, 1373.59, 1448.26, 1375.64, 1258.80, 1185.72, 1350.71, 1563.55, 1316.17, 1301.19, 1161.06, 1230.95, 1212.56, 1154.43, 1151.65, 1135.04, 1347.27, 1181.36, 1228.32, 1167.81,
- 1156.78, 1400.19, 1281.56, 1208.90, 1142.65, 1360.37, 1253.98, 1222.83, 1280.18, 1338.35, 1283.13, 1329.33, 1251.23, 1359.60, 1233.32, 1306.39, 1272.46, 1390.59, 1328.05, 1409.97,
- 1267.51, 1339.74, 1282.41, 1220.99, 1298.74, 1220.26, 1411.56, 1343.96, 1225.86, 1372.56, 1276.61, 1267.04, 1131.05, 1256.09, 1469.12, 1268.12, 1476.59, 1405.91, 1301.43, 1389.66,
- 1273.65, 1288.05, 1571.70, 1269.64, 1112.05, 1363.37, 1378.76, 1304.14, 1396.36, 1336.56, 1370.00, 1644.75, 1315.29, 1396.68, 1281.25, 1262.70, 1299.40, 1249.69, 1175.23, 1181.40,
- 1454.54, 1216.33, 1207.56, 1376.62, 1143.42, 1534.02, 1401.90, 1323.66, 1178.84, 1410.94, 1260.04, 1289.08, 1394.97, 1377.33, 1317.83, 1439.55, 1349.56, 1435.91, 1333.42, 1428.67,
- 1296.20, 1504.97, 1349.81, 1435.84, 1453.81, 1455.28, 1336.01, 1281.53, 1344.39, 1378.58, 1520.28, 1362.65, 1349.20, 1461.86, 1258.32, 1233.64, 1244.44, 1205.92, 1618.34, 1355.04,
- 1562.53, 1473.65, 1461.36, 1521.75, 1228.12, 1506.90, 1493.48, 1374.98, 1185.69, 1493.79, 1345.46, 1369.70, 1161.75, 1116.09, 1290.69, 1477.64, 1140.02, 1264.17, 1074.87, 1269.37,
- 1056.11, 1127.10, 1090.32, 1055.62, 1302.05, 1118.96, 1092.37, 1273.94, 1075.51, 1266.97, 1125.54, 1136.88, 1098.92, 1359.13, 1142.29, 1101.04, 1308.78, 1291.21, 1182.88, 1179.02,
- 1114.94, 1287.37, 1059.56, 1279.27, 1250.69, 1275.44, 1288.61, 1145.96, 1235.53, 1291.31, 1188.66, 1052.27, 1174.23, 1190.70, 1397.36, 1275.87, 1317.88, 1243.39, 1131.48, 1260.10,
- 1192.54, 1178.11, 1432.50, 1106.75, 1343.19, 1255.30, 1263.46, 1388.74, 1137.68, 1257.01, 1350.52, 1180.76, 1066.27, 1314.34, 1193.60, 1265.57, 1210.52, 1183.99, 1230.33, 1387.46,
- 1151.10, 1077.39, 1149.84, 1215.06, 1119.25, 1199.23, 977.74, 1111.13, 1335.71, 1168.84, 1036.50, 1005.27, 1178.64, 1275.66, 1208.78, 1075.36, 1100.36, 1163.28, 1075.87, 1190.77,
- 1176.13, 1074.33, 1152.84, 1062.11, 1314.44, 1298.88, 1192.93, 1199.16, 1043.27, 1263.14, 1123.87, 1159.83, 1233.00, 1222.81, 1054.01, 1078.97, 1233.10, 1122.61, 1260.10, 1132.02,
- 1169.08, 1203.75, 1166.90, 1081.17, 1092.89, 1127.70, 1311.74, 1267.25, 1353.53, 1251.22, 1208.01, 1377.83, 1170.55, 1183.10, 1210.08, 1079.78, 1022.47, 1267.79, 1280.86, 1107.99,
- 1220.63, 1231.38, 1297.16, 1349.99, 1132.89, 1057.39, 1167.18, 1238.74, 1058.25, 1242.15, 966.69, 1056.35, 1312.60, 1080.69, 1157.51, 1057.53, 1096.31, 1256.06, 1222.67, 1225.06,
- 1084.64, 1147.07, 1166.91, 1215.04, 1214.49, 1119.43, 1151.76, 1214.63, 1167.99, 1353.90, 1138.60, 1258.90, 1082.25, 1209.09, 1209.70, 1129.26, 1276.81, 1264.27, 1085.23, 927.81,
- 1128.21, 1080.52, 1231.94, 1182.54, 1235.60, 1292.99, 1235.59, 1127.82, 1124.34, 1079.43, 1432.82, 1249.15, 1327.01, 1301.50, 1246.96, 1376.32, 1061.28, 1204.55, 1329.92, 1103.78,
- 931.53, 1368.76, 1190.03, 1163.34, 1396.89, 1433.26, 1527.05, 1598.78, 1278.53, 1415.12, 1430.83, 1481.94, 1199.17, 1329.99, 1335.39, 1231.51, 1470.62, 1375.58, 1375.26, 1395.02,
- 1399.26, 1608.00, 1308.94, 1431.51, 1243.43, 1463.41, 1403.81, 1364.34, 1434.32, 1417.88, 1495.77, 1363.22, 1464.28, 1487.78, 1364.68, 1381.91, 1349.18, 1528.36, 1396.53, 1392.29,
- 1414.73, 1422.36, 1300.79, 1310.37, 1443.54, 1385.04, 1608.70, 1404.34, 1432.32, 1504.10, 1442.82, 1397.85, 1334.88, 1305.33, 1663.19, 1432.12, 1613.45, 1523.58, 1466.45, 1595.38,
- 1366.08, 1411.41, 1496.29, 1258.22, 1156.74, 1532.48, 1488.98, 1406.65, 1397.03, 1292.21, 1440.31, 1634.74, 1358.90, 1495.89, 1347.00, 1449.85, 1225.68, 1390.38, 1157.20, 1369.11,
- 1596.16, 1259.06, 1245.06, 1294.82, 1291.60, 1576.38, 1369.14, 1234.77, 1202.91, 1557.84, 1329.85, 1203.48, 1415.17, 1392.83, 1405.60, 1427.19, 1375.85, 1442.91, 1349.33, 1454.88,
- 1281.60, 1469.46, 1358.83, 1380.14, 1363.64, 1431.13, 1262.43, 1334.68, 1399.66, 1290.28, 1658.62, 1332.18, 1351.59, 1357.42, 1313.97, 1315.74, 1291.34, 1297.74, 1686.54, 1265.94,
- 1589.24, 1458.80, 1414.98, 1572.02, 1366.07, 1427.09, 1438.33, 1344.23, 1277.32, 1518.03, 1472.18, 1351.37, 1392.20, 1374.39, 1377.64, 1568.39, 1282.97, 1253.27, 1246.33, 1311.90,
- 1251.72, 1266.76, 1139.97, 1291.31, 1397.95, 1124.47, 1260.95, 1227.31, 1269.12, 1472.09, 1282.62, 1179.06, 1169.98, 1488.49, 1313.12, 1263.70, 1286.53, 1276.45, 1351.07, 1313.12,
- 1345.65, 1366.31, 1250.39, 1330.61, 1358.94, 1406.88, 1390.62, 1382.66, 1355.59, 1434.79, 1347.25, 1215.57, 1313.64, 1212.06, 1420.40, 1374.99, 1314.28, 1419.94, 1318.03, 1268.17,
- 1195.18, 1278.23, 1604.11, 1276.18, 1558.91, 1450.96, 1279.83, 1608.46, 1258.74, 1380.00, 1459.37, 1229.32, 1127.80, 1465.53, 1372.71, 1288.84, 1245.17, 1363.43, 1340.75, 1485.38,
- 1282.79, 1323.81, 1342.04, 1389.78, 1172.57, 1267.06, 1203.23, 1199.95, 1461.08, 1151.50, 1148.56, 1246.64, 1194.17, 1419.16, 1151.19, 1225.54, 1172.39, 1268.26, 1279.08, 1214.26,
- 1226.21, 1323.91, 1293.96, 1211.01, 1359.67, 1416.99, 1218.85, 1342.10, 1183.49, 1412.17, 1238.21, 1387.83, 1378.53, 1284.84, 1299.25, 1096.53, 1269.18, 1288.36, 1405.23, 1299.46,
- 1245.22, 1327.05, 1261.93, 1215.82, 1264.44, 1239.77, 1552.56, 1296.11, 1442.32, 1384.22, 1359.94, 1383.29, 1203.91, 1374.08, 1441.88, 1189.57, 1146.06, 1315.69, 1348.47, 1322.45,
- 1128.66, 1214.98, 1316.18, 1357.55, 1261.46, 1285.64, 1171.37, 1352.30, 1057.03, 1180.40, 1092.10, 1083.04, 1337.04, 1212.64, 1229.50, 1245.28, 1176.11, 1333.82, 1325.87, 1200.51,
- 1102.30, 1266.74, 1114.25, 1287.98, 1317.99, 1273.57, 1255.38, 1221.25, 1239.90, 1380.25, 1289.36, 1247.62, 1260.22, 1373.04, 1228.45, 1228.69, 1353.32, 1330.31, 1104.74, 1049.00,
- 1242.65, 1136.09, 1402.20, 1293.11, 1203.44, 1333.25, 1239.05, 1229.50, 1209.23, 1146.20, 1358.72, 1395.66, 1338.24, 1310.86, 1255.35, 1384.90, 1158.04, 1198.98, 1440.59, 1127.60,
- 957.27, 1348.18, 1362.57, 1180.99, 1464.68, 1386.78, 1512.22, 1534.28, 1327.25, 1431.83, 1344.34, 1485.21, 1271.82, 1323.19, 1236.09, 1315.75, 1519.97, 1242.57, 1318.09, 1376.85,
- 1278.51, 1533.16, 1460.59, 1224.81, 1236.72, 1474.99, 1366.45, 1269.97, 1357.90, 1400.97, 1495.44, 1403.39, 1435.75, 1531.07, 1341.67, 1358.59, 1247.33, 1505.51, 1388.59, 1505.12,
- 1464.88, 1423.19, 1310.46, 1278.27, 1401.25, 1310.40, 1581.57, 1427.85, 1367.65, 1463.46, 1476.53, 1409.38, 1257.88, 1299.85, 1625.04, 1442.07, 1532.34, 1497.04, 1437.51, 1624.79,
- 1230.74, 1367.82, 1534.68, 1330.36, 1135.18, 1501.52, 1490.87, 1358.10, 1286.56, 1358.83, 1356.88, 1512.96, 1250.52, 1272.49, 1274.92, 1305.45, 1227.33, 1135.43, 1162.45, 1230.09,
- 1385.53, 1230.82, 1243.73, 1297.78, 1234.57, 1488.49, 1293.94, 1251.93, 1145.57, 1356.51, 1208.46, 1241.36, 1273.63, 1288.38, 1365.52, 1321.69, 1331.95, 1379.18, 1281.63, 1354.01,
- 1224.44, 1440.92, 1317.49, 1362.65, 1403.81, 1372.31, 1383.65, 1115.44, 1327.92, 1296.24, 1512.29, 1343.31, 1283.19, 1404.62, 1263.54, 1228.75, 1174.57, 1171.94, 1559.27, 1376.76,
- 1456.71, 1345.08, 1380.05, 1459.01, 1212.10, 1348.34, 1492.67, 1287.52, 1112.90, 1499.50, 1326.50, 1268.42, 1039.32, 1159.37, 1261.43, 1324.98, 1100.77, 1171.99, 1087.34, 1102.53,
- 1122.55, 1021.05, 1056.53, 1142.89, 1269.32, 1112.13, 1015.51, 1135.11, 1092.82, 1237.04, 1076.18, 1128.87, 1048.15, 1195.04, 1015.79, 1190.58, 1164.24, 1212.17, 1172.98, 1075.36,
- 1228.39, 1240.92, 1150.23, 1237.26, 1086.94, 1254.15, 1132.80, 1164.63, 1162.59, 1136.61, 1173.39, 965.03, 1177.22, 1131.64, 1254.41, 1214.57, 1089.64, 1239.24, 1106.76, 1037.27,
- 962.49, 1034.46, 1297.65, 1254.56, 1207.93, 1216.06, 1119.13, 1312.59, 1112.75, 1097.98, 1307.74, 1192.41, 973.53, 1387.04, 1157.31, 1099.13, 1311.17, 1378.00, 1469.13, 1590.78,
- 1333.74, 1336.15, 1297.78, 1473.36, 1289.06, 1302.42, 1201.01, 1266.29, 1503.54, 1312.87, 1262.47, 1275.63, 1395.36, 1476.57, 1312.36, 1262.03, 1233.52, 1395.29, 1228.28, 1409.59,
- 1387.55, 1403.12, 1430.41, 1272.49, 1428.01, 1479.15, 1339.01, 1457.99, 1369.05, 1393.67, 1413.85, 1431.64, 1376.41, 1390.82, 1314.10, 1180.77, 1298.37, 1343.59, 1467.81, 1361.09,
- 1431.13, 1478.41, 1348.23, 1394.75, 1246.04, 1296.82, 1526.66, 1458.45, 1473.05, 1495.85, 1282.82, 1599.32, 1427.10, 1350.46, 1464.37, 1271.35, 1181.11, 1559.64, 1561.56, 1389.35,
- 1369.84, 1419.83, 1451.45, 1681.61, 1436.44, 1348.12, 1308.13, 1388.24, 1301.13, 1385.31, 1220.28, 1341.28, 1601.04, 1331.48, 1325.58, 1290.60, 1232.76, 1642.37, 1411.39, 1377.22,
- 1156.76, 1466.42, 1375.66, 1325.09, 1408.20, 1437.40, 1412.27, 1474.78, 1429.78, 1518.94, 1426.34, 1495.92, 1366.96, 1532.46, 1439.96, 1388.39, 1398.59, 1562.84, 1378.79, 1331.36,
- 1412.45, 1305.85, 1580.16, 1359.08, 1343.40, 1530.16, 1364.59, 1285.68, 1317.68, 1368.55, 1723.86, 1409.11, 1699.95, 1580.27, 1439.28, 1528.99, 1482.09, 1450.39, 1640.19, 1379.11,
- 1242.22, 1607.38, 1529.27, 1414.70, 1266.13, 1260.65, 1279.51, 1502.70, 1164.50, 1270.53, 1223.93, 1280.00, 1210.34, 1181.94, 1027.15, 1218.78, 1401.17, 1092.32, 1098.36, 1086.59,
- 1176.60, 1377.04, 1199.74, 1119.22, 1191.42, 1411.57, 1248.73, 1205.67, 1231.78, 1151.91, 1239.38, 1347.67, 1253.05, 1343.59, 1284.73, 1303.14, 1126.30, 1303.28, 1197.07, 1290.40,
- 1222.08, 1269.38, 1281.51, 1188.44, 1311.67, 1214.92, 1432.29, 1174.58, 1265.55, 1298.27, 1154.89, 1243.58, 1042.13, 1102.71, 1476.41, 1204.74, 1360.13, 1397.41, 1231.77, 1429.69,
- 1197.13, 1276.24, 1299.34, 1187.89, 1114.67, 1363.68, 1379.29, 1171.70, 1313.87, 1352.24, 1441.85, 1667.44, 1351.17, 1313.45, 1240.02, 1208.08, 1192.24, 1235.72, 1178.14, 1183.12,
- 1403.52, 1250.37, 1238.65, 1235.05, 1119.69, 1466.08, 1381.23, 1271.59, 988.59, 1354.66, 1345.17, 1279.41, 1295.76, 1272.77, 1376.11, 1406.65, 1285.50, 1477.70, 1328.50, 1429.22,
- 1224.42, 1448.28, 1261.41, 1336.04, 1378.87, 1335.38, 1327.60, 1199.76, 1155.44, 1160.00, 1452.01, 1382.43, 1341.91, 1450.36, 1302.41, 1351.84, 1158.69, 1319.26, 1543.70, 1357.04,
- 1533.51, 1426.15, 1387.27, 1526.33, 1228.63, 1320.55, 1432.95, 1315.83, 1049.43, 1500.71, 1353.63, 1368.97, 1139.31, 1157.17, 1384.59, 1380.63, 1311.81, 1234.87, 1312.66, 1303.28,
- 1059.96, 1117.79, 1070.43, 1129.95, 1432.29, 1153.08, 1187.14, 1287.10, 1165.82, 1348.58, 1212.90, 1204.39, 1174.20, 1272.09, 1173.52, 1162.60, 1233.63, 1305.57, 1338.09, 1172.95,
- 1323.86, 1324.07, 1243.67, 1266.72, 1170.81, 1398.73, 1119.67, 1331.76, 1175.22, 1201.22, 1211.26, 1127.93, 1328.62, 1271.81, 1474.22, 1339.07, 1270.04, 1259.59, 1228.70, 1161.23,
- 1210.48, 1133.59, 1493.76, 1271.63, 1328.03, 1254.34, 1389.44, 1334.65, 1232.48, 1347.65, 1322.99, 1186.21, 1086.77, 1415.26, 1294.45, 1282.19, 1531.11, 1471.22, 1581.93, 1722.80,
- 1505.51, 1453.34, 1412.37, 1422.03, 1293.06, 1310.27, 1294.47, 1416.66, 1600.64, 1341.85, 1341.85, 1451.51, 1367.89, 1716.03, 1573.49, 1361.98, 1197.26, 1473.62, 1355.35, 1361.63,
- 1471.37, 1457.78, 1473.47, 1400.30, 1457.48, 1598.43, 1502.65, 1578.03, 1451.60, 1657.89, 1427.07, 1526.75, 1508.23, 1608.07, 1512.20, 1345.54, 1450.02, 1373.91, 1709.84, 1510.90,
- 1468.48, 1554.60, 1447.69, 1403.40, 1439.40, 1364.05, 1649.56, 1519.12, 1662.38, 1580.64, 1521.50, 1648.85, 1473.95, 1537.87, 1603.35, 1405.32, 1277.63, 1635.12, 1530.58, 1527.68,
- 1376.14, 1259.62, 1404.31, 1491.97, 1331.98, 1323.84, 1261.00, 1340.33, 1212.09, 1272.78, 1149.12, 1251.68, 1474.67, 1215.21, 1209.61, 1208.81, 1223.37, 1440.41, 1299.06, 1191.88,
- 1159.34, 1391.74, 1411.92, 1238.45, 1366.96, 1326.26, 1374.60, 1281.97, 1335.22, 1429.39, 1234.86, 1347.17, 1296.84, 1441.90, 1285.37, 1323.53, 1295.99, 1417.08, 1297.75, 1166.38,
- 1345.28, 1205.89, 1508.88, 1352.85, 1387.88, 1397.88, 1360.48, 1318.44, 1183.16, 1290.36, 1548.41, 1268.90, 1491.98, 1406.27, 1336.20, 1491.58, 1320.34, 1336.40, 1423.83, 1315.12,
- 1140.91, 1435.46, 1362.80, 1367.75, 1208.92, 1214.60, 1291.40, 1393.45, 1352.84, 1177.35, 1233.46, 1243.24, 1202.87, 1152.15, 1102.70, 1135.41, 1311.41, 1209.16, 1166.73, 1153.12,
- 1082.47, 1368.74, 1272.80, 1247.51, 972.26, 1268.29, 1180.56, 1139.86, 1160.60, 1213.71, 1159.53, 1298.88, 1185.02, 1340.95, 1207.52, 1320.85, 1165.75, 1343.30, 1320.00, 1267.42,
- 1284.86, 1303.08, 1196.86, 1109.66, 1177.52, 1129.73, 1377.07, 1293.27, 1104.89, 1318.76, 1217.58, 1159.26, 1134.64, 1227.63, 1465.98, 1179.33, 1349.20, 1310.41, 1333.38, 1341.44,
- 1204.24, 1234.32, 1426.88, 1212.51, 1090.72, 1367.31, 1306.05, 1198.97, 1324.78, 1346.77, 1413.33, 1636.98, 1448.15, 1362.02, 1289.33, 1392.20, 1303.17, 1337.15, 1208.25, 1255.99,
- 1570.02, 1285.29, 1254.08, 1266.47, 1371.72, 1524.30, 1318.69, 1309.52, 1280.95, 1448.40, 1241.72, 1305.67, 1428.22, 1313.74, 1429.82, 1245.78, 1457.28, 1413.81, 1374.30, 1425.78,
- 1386.56, 1480.91, 1370.04, 1377.77, 1448.03, 1484.91, 1440.71, 1135.39, 1430.11, 1296.96, 1528.05, 1457.42, 1443.13, 1488.35, 1343.99, 1363.68, 1292.27, 1385.99, 1610.51, 1429.82,
- 1581.36, 1555.99, 1405.08, 1588.68, 1483.02, 1433.00, 1484.10, 1337.65, 1216.33, 1530.77, 1414.60, 1352.93, 1410.85, 1404.43, 1499.88, 1654.33, 1419.27, 1381.92, 1446.47, 1313.75,
- 1230.75, 1311.00, 1281.90, 1336.07, 1486.57, 1303.81, 1283.26, 1203.40, 1251.23, 1607.85, 1466.10, 1354.93, 1139.88, 1361.32, 1332.28, 1256.61, 1325.96, 1293.50, 1383.11, 1380.59,
- 1410.64, 1503.91, 1421.53, 1431.41, 1325.24, 1542.63, 1332.45, 1445.11, 1361.08, 1475.89, 1355.22, 1261.77, 1358.17, 1276.94, 1568.52, 1461.70, 1382.64, 1434.41, 1416.95, 1289.51,
- 1280.10, 1333.82, 1592.15, 1440.51, 1596.76, 1593.17, 1441.33, 1553.98, 1355.84, 1444.55, 1554.09, 1333.92, 1217.44, 1539.21, 1425.98, 1438.95, 1326.11, 1337.20, 1418.70, 1565.13,
- 1346.15, 1290.62, 1390.47, 1296.12, 1222.93, 1208.62, 1157.11, 1232.63, 1431.54, 1168.34, 1209.56, 1266.56, 1335.13, 1510.47, 1218.02, 1308.08, 1163.80, 1395.41, 1241.01, 1233.40,
- 1319.51, 1337.43, 1331.33, 1363.23, 1294.18, 1421.20, 1315.08, 1406.64, 1342.14, 1419.83, 1328.49, 1338.51, 1319.43, 1378.65, 1317.56, 1178.78, 1314.38, 1281.70, 1528.55, 1248.40,
- 1287.56, 1396.60, 1304.52, 1274.46, 1270.10, 1141.44, 1508.64, 1261.97, 1498.70, 1296.16, 1294.33, 1447.11, 1317.39, 1387.30, 1419.28, 1175.32, 1093.19, 1393.37, 1432.13, 1394.91,
- 1339.44, 1451.46, 1471.60, 1647.16, 1395.21, 1329.47, 1212.87, 1280.47, 1242.28, 1256.06, 1229.93, 1290.29, 1501.08, 1217.36, 1260.44, 1325.51, 1175.00, 1555.52, 1382.92, 1311.71,
- 1136.58, 1354.00, 1299.64, 1349.04, 1383.59, 1351.55, 1450.07, 1263.82, 1348.83, 1480.50, 1323.08, 1472.22, 1313.66, 1503.74, 1278.77, 1374.14, 1383.02, 1426.02, 1387.34, 1283.57,
- 1391.57, 1202.51, 1506.87, 1435.41, 1387.86, 1495.19, 1337.06, 1342.56, 1313.18, 1388.45, 1549.16, 1501.64, 1582.78, 1457.61, 1393.05, 1532.14, 1296.13, 1417.10, 1538.59, 1331.41,
- 1146.52, 1483.76, 1364.16, 1342.58, 1339.84, 1231.51, 1392.19, 1541.26, 1379.06, 1284.47, 1333.99, 1168.79, 1240.25, 1243.38, 1225.68, 1192.46, 1478.92, 1143.23, 1194.31, 1184.91,
- 1244.84, 1460.50, 1353.63, 1309.48, 1198.55, 1343.88, 1285.32, 1183.00, 1285.77, 1329.35, 1249.94, 1336.30, 1272.53, 1475.49, 1341.50, 1462.93, 1289.21, 1460.03, 1274.86, 1412.97,
- 1309.66, 1320.84, 1207.50, 1154.06, 1326.60, 1294.83, 1430.91, 1303.30, 1412.77, 1334.93, 1417.29, 1186.29, 1167.63, 1136.88, 1547.47, 1292.33, 1537.90, 1413.62, 1477.22, 1370.40,
- 1266.79, 1468.12, 1541.73, 1280.70, 1099.87, 1431.57, 1370.73, 1430.16, 1287.15, 1302.94, 1367.50, 1479.61, 1183.45, 1271.03, 1104.45, 1254.57, 1067.91, 1055.56, 1147.17, 1099.07,
- 1412.01, 1175.60, 1122.21, 1168.64, 1217.95, 1435.20, 1244.95, 1174.28, 1037.30, 1346.03, 1126.56, 1133.71, 1207.31, 1213.28, 1396.69, 1246.52, 1310.06, 1341.45, 1199.27, 1302.28,
- 1193.38, 1415.50, 1300.40, 1293.62, 1265.19, 1312.18, 1194.04, 1070.98, 1200.29, 1231.26, 1382.38, 1245.62, 1289.17, 1253.46, 1203.08, 1216.75, 1216.75, 1113.40, 1511.99, 1333.84,
- 1491.33, 1364.50, 1252.77, 1389.22, 1266.92, 1262.67, 1308.35, 1139.02, 1095.95, 1250.58, 1256.60, 1207.54, 1258.37, 1222.83, 1387.63, 1565.40, 1286.28, 1378.77, 1202.50, 1226.40,
- 1233.51, 1272.39, 1135.10, 1272.53, 1450.78, 1205.86, 1172.64, 1251.87, 1293.64, 1408.35, 1253.49, 1169.40, 1094.99, 1473.96, 1156.60, 1152.69, 1240.37, 1336.59, 1256.09, 1270.34,
- 1379.24, 1264.01, 1305.27, 1316.17, 1293.57, 1354.00, 1248.79, 1230.31, 1220.46, 1266.96, 1321.42, 1161.22, 1321.67, 1215.86, 1477.98, 1247.61, 1280.55, 1396.92, 1217.64, 1290.41,
- 1120.19, 1274.98, 1522.36, 1319.65, 1452.76, 1448.01, 1346.93, 1538.98, 1387.19, 1302.15, 1393.31, 1255.87, 1105.50, 1455.56, 1369.93, 1209.40, 1381.89, 1430.12, 1450.82, 1635.71,
- 1437.24, 1390.56, 1342.80, 1428.70, 1304.14, 1425.51, 1222.89, 1303.49, 1524.84, 1368.17, 1254.39, 1262.64, 1289.81, 1553.24, 1336.51, 1305.66, 1175.94, 1402.50, 1383.16, 1314.48,
- 1333.52, 1364.53, 1348.77, 1331.30, 1485.87, 1504.13, 1293.29, 1503.41, 1250.85, 1495.27, 1310.55, 1416.37, 1483.68, 1408.91, 1391.24, 1197.45, 1403.04, 1310.95, 1529.08, 1376.88,
- 1411.55, 1494.99, 1419.20, 1348.40, 1245.18, 1339.69, 1672.18, 1481.88, 1471.30, 1589.93, 1510.08, 1591.33, 1434.29, 1500.06, 1437.97, 1336.17, 1210.29, 1496.89, 1431.74, 1434.55,
- 1109.32, 1160.85, 1183.75, 1317.10, 1136.56, 1202.62, 1257.64, 1211.35, 960.97, 1102.03, 1035.43, 1094.03, 1322.79, 1109.01, 1178.40, 1103.12, 1115.55, 1351.82, 1180.03, 1116.25,
- 1067.68, 1210.60, 1141.34, 1138.26, 1164.25, 1188.62, 1145.14, 1166.63, 1151.11, 1266.50, 1196.94, 1283.88, 1029.97, 1290.98, 1111.12, 1167.39, 1194.87, 1163.32, 1146.74, 980.08,
- 1133.81, 1213.24, 1390.11, 1235.55, 1185.48, 1129.37, 1195.50, 1057.05, 1045.65, 1150.77, 1310.88, 1207.02, 1306.82, 1266.99, 1191.95, 1332.92, 1186.43, 1196.87, 1277.65, 1113.34,
- 997.77, 1325.07, 1240.91, 1192.01, 1328.43, 1524.76, 1378.11, 1655.42, 1482.31, 1257.37, 1371.89, 1391.01, 1290.70, 1320.22, 1278.98, 1259.12, 1517.19, 1396.03, 1312.04, 1322.48,
- 1342.52, 1615.32, 1338.23, 1323.15, 1259.52, 1392.80, 1297.01, 1396.00, 1374.56, 1369.10, 1377.74, 1341.32, 1343.13, 1494.14, 1353.10, 1539.29, 1394.78, 1554.40, 1437.57, 1392.17,
- 1436.09, 1462.98, 1462.19, 1287.17, 1353.18, 1347.42, 1494.53, 1417.34, 1416.12, 1472.78, 1293.32, 1307.72, 1291.17, 1426.14, 1707.64, 1393.30, 1626.75, 1552.00, 1554.54, 1585.40,
- 1462.09, 1566.27, 1554.21, 1355.06, 1247.11, 1530.26, 1509.97, 1483.55, 1157.37, 1224.96, 1303.57, 1373.71, 1108.41, 1151.40, 1128.28, 1104.19, 1036.39, 1078.01, 1126.44, 1077.43,
- 1260.49, 1049.67, 1093.87, 1150.62, 1191.45, 1340.40, 1063.97, 1177.66, 1092.67, 1192.58, 1171.95, 1114.64, 1132.36, 1187.56, 1184.95, 1098.46, 1242.38, 1252.91, 1146.14, 1213.53,
- 1151.48, 1302.51, 1210.09, 1277.25, 1212.93, 1169.25, 1232.64, 1013.59, 1131.25, 1181.94, 1195.44, 1222.64, 1227.38, 1262.32, 1169.22, 1110.55, 1056.72, 1113.43, 1372.05, 1172.92,
- 1341.51, 1333.83, 1318.03, 1297.42, 1128.36, 1286.40, 1432.39, 1234.76, 960.27, 1262.17, 1230.64, 1289.61, 1178.74, 1322.92, 1365.09, 1560.18, 1240.06, 1298.16, 1270.39, 1380.29,
- 1178.59, 1282.83, 1131.41, 1247.39, 1454.86, 1299.12, 1234.57, 1251.17, 1226.32, 1393.81, 1315.78, 1187.97, 1116.85, 1296.71, 1258.36, 1319.93, 1404.14, 1256.31, 1250.91, 1225.50,
- 1318.11, 1406.80, 1374.43, 1321.74, 1271.49, 1367.09, 1280.77, 1216.35, 1378.19, 1344.02, 1280.09, 1266.72, 1361.90, 1082.34, 1467.46, 1247.23, 1225.47, 1397.46, 1170.62, 1280.63,
- 1215.11, 1305.35, 1472.73, 1402.19, 1438.47, 1387.88, 1343.98, 1551.27, 1286.53, 1306.61, 1473.54, 1268.90, 1026.88, 1435.20, 1338.70, 1201.07, 1205.67, 1180.31, 1277.09, 1487.67,
- 1275.37, 1205.90, 1168.27, 1151.28, 1266.29, 1223.82, 1025.42, 1126.89, 1418.77, 1258.73, 1151.18, 1185.15, 1201.54, 1305.38, 1224.83, 1195.85, 1156.78, 1236.28, 1140.40, 1218.58,
- 1264.79, 1310.85, 1267.30, 1276.64, 1345.50, 1424.70, 1313.61, 1274.54, 1094.44, 1262.35, 1244.23, 1306.83, 1273.37, 1289.96, 1211.66, 1111.85, 1231.99, 1238.70, 1388.57, 1291.91,
- 1313.12, 1363.81, 1206.82, 1224.65, 1157.49, 1166.88, 1407.36, 1380.27, 1427.48, 1442.76, 1246.20, 1427.56, 1280.26, 1204.75, 1406.67, 1269.74, 1098.59, 1504.81, 1333.90, 1320.63,
- 1439.39, 1500.46, 1521.08, 1643.49, 1370.21, 1362.21, 1399.55, 1373.25, 1288.44, 1307.67, 1256.60, 1368.86, 1587.53, 1351.12, 1269.76, 1298.72, 1277.12, 1573.40, 1379.21, 1313.94,
- 1350.92, 1346.48, 1358.60, 1362.78, 1385.25, 1415.82, 1417.94, 1276.20, 1399.87, 1503.54, 1365.93, 1488.50, 1229.29, 1605.94, 1378.20, 1407.51, 1463.04, 1487.27, 1308.27, 1295.92,
- 1479.90, 1329.27, 1537.17, 1375.43, 1384.39, 1498.94, 1355.79, 1248.86, 1266.85, 1343.97, 1577.34, 1492.68, 1574.08, 1540.48, 1430.11, 1616.07, 1314.66, 1394.15, 1547.96, 1343.40,
- 1238.82, 1453.75, 1400.22, 1411.65, 1266.02, 1414.66, 1393.70, 1586.89, 1439.13, 1147.83, 1388.78, 1205.49, 1210.84, 1220.89, 1086.58, 1282.55, 1383.51, 1173.76, 1187.24, 1206.61,
- 1189.22, 1466.96, 1221.41, 1281.40, 1112.21, 1303.78, 1244.05, 1199.54, 1150.01, 1291.89, 1187.27, 1271.99, 1300.04, 1388.98, 1249.89, 1377.25, 1331.37, 1344.50, 1185.39, 1369.23,
- 1297.42, 1346.96, 1344.56, 1085.52, 1322.79, 1161.28, 1369.76, 1327.06, 1254.11, 1295.80, 1175.43, 1147.85, 1186.42, 1235.36, 1547.78, 1293.41, 1462.35, 1358.42, 1280.40, 1305.61,
- 1284.39, 1322.74, 1458.59, 1227.66, 1242.84, 1422.63, 1283.41, 1293.64, 1236.86, 1238.83, 1325.46, 1339.01, 1243.56, 1276.09, 1223.38, 1317.69, 1026.85, 1158.69, 1102.14, 1115.35,
- 1243.15, 1152.42, 1207.79, 1174.65, 1257.85, 1356.79, 1174.03, 1151.82, 1116.41, 1320.78, 1188.24, 1150.60, 1187.63, 1218.89, 1267.38, 1132.95, 1250.98, 1318.38, 1122.67, 1235.94,
- 1204.07, 1331.33, 1247.02, 1269.95, 1240.11, 1262.19, 1126.53, 1030.14, 1222.95, 1211.25, 1363.31, 1343.91, 1257.16, 1283.36, 1396.42, 1256.45, 1195.48, 1121.06, 1473.56, 1234.76,
- 1363.67, 1305.92, 1345.16, 1403.26, 1201.26, 1268.59, 1298.15, 1035.01, 1016.79, 1252.66, 1301.61, 1217.53, 1294.85, 1272.48, 1438.89, 1559.17, 1373.48, 1459.73, 1309.49, 1395.41,
- 1253.73, 1330.35, 1170.63, 1251.99, 1459.50, 1183.12, 1196.73, 1321.25, 1313.51, 1423.84, 1327.71, 1202.91, 1222.77, 1513.00, 1291.28, 1205.45, 1366.21, 1464.72, 1368.94, 1347.14,
- 1408.92, 1530.45, 1289.40, 1376.09, 1313.88, 1407.88, 1279.27, 1403.69, 1335.38, 1386.07, 1362.59, 1073.05, 1270.84, 1284.84, 1526.29, 1415.24, 1394.95, 1447.69, 1398.90, 1305.83,
- 1274.60, 1252.84, 1587.27, 1371.74, 1467.79, 1434.15, 1375.48, 1545.78, 1266.71, 1317.48, 1572.39, 1244.32, 1174.21, 1468.65, 1413.09, 1290.17, 1197.21, 1155.17, 1263.35, 1275.64,
- 1172.47, 1166.75, 1044.69, 1269.30, 1050.90, 1086.32, 1023.80, 1087.59, 1323.49, 973.71, 1130.29, 1094.06, 1026.61, 1277.66, 1148.16, 1004.99, 1077.11, 1247.31, 1140.63, 1135.91,
- 1193.23, 1158.95, 1238.92, 1111.04, 1119.26, 1365.83, 1098.28, 1154.73, 1024.14, 1265.05, 1204.07, 1293.20, 1264.65, 1157.76, 1059.30, 1018.65, 1143.54, 1143.00, 1259.12, 1201.64,
- 1150.86, 1251.88, 1317.65, 1162.50, 992.08, 1126.13, 1323.76, 1158.03, 1267.61, 1293.64, 1237.19, 1384.30, 1025.94, 1139.64, 1297.74, 1216.18, 993.00, 1300.77, 1218.99, 1093.70,
- 1311.48, 1379.92, 1391.74, 1445.09, 1292.05, 1323.08, 1298.06, 1391.88, 1159.64, 1262.33, 1149.94, 1219.13, 1434.55, 1241.38, 1228.38, 1255.36, 1287.72, 1541.03, 1349.55, 1235.28,
- 1182.24, 1330.28, 1208.99, 1294.62, 1384.90, 1249.50, 1334.11, 1137.09, 1360.42, 1419.80, 1252.52, 1460.52, 1364.99, 1483.29, 1262.38, 1290.85, 1393.34, 1474.44, 1301.33, 1126.24,
- 1332.38, 1186.72, 1429.03, 1304.63, 1254.23, 1479.85, 1226.02, 1171.24, 1321.09, 1285.88, 1477.04, 1426.97, 1464.75, 1483.92, 1313.67, 1615.16, 1302.34, 1412.35, 1390.38, 1185.07,
- 1031.23, 1431.41, 1362.11, 1279.65, 1147.52, 1265.17, 1338.69, 1294.82, 1081.53, 1155.02, 1171.38, 1284.06, 996.85, 1085.68, 1079.02, 1035.53, 1365.52, 1111.12, 1050.53, 1170.60,
- 1154.94, 1401.82, 1131.67, 1165.38, 1080.77, 1251.29, 1187.41, 1202.82, 1161.96, 1166.27, 1264.96, 1224.00, 1232.78, 1356.04, 1235.77, 1367.99, 1080.91, 1395.61, 1116.94, 1197.89,
- 1152.28, 1282.20, 1265.43, 1105.87, 1160.68, 1185.00, 1377.18, 1160.41, 1237.22, 1369.00, 1172.74, 1143.98, 1164.60, 1059.15, 1490.22, 1281.17, 1272.72, 1306.11, 1257.99, 1435.04,
- 1156.08, 1275.73, 1268.04, 1056.30, 962.94, 1269.43, 1272.12, 1262.24, 1212.76, 1148.18, 1322.38, 1439.61, 1326.34, 1348.20, 1146.04, 1213.72, 1202.08, 1253.69, 1144.32, 1217.91,
- 1487.40, 1187.52, 1089.16, 1188.73, 1165.73, 1402.32, 1221.57, 1045.12, 1064.80, 1326.59, 1127.45, 1105.51, 1205.64, 1341.33, 1306.25, 1205.99, 1321.27, 1307.26, 1239.29, 1379.26,
- 1220.08, 1373.86, 1274.71, 1285.41, 1272.40, 1249.75, 1264.54, 1089.46, 1183.74, 1163.74, 1415.27, 1413.09, 1297.57, 1262.34, 1355.14, 1284.73, 1208.88, 1302.79, 1486.06, 1227.25,
- 1438.54, 1249.08, 1329.12, 1497.28, 1315.91, 1372.41, 1364.22, 1205.45, 1057.81, 1386.32, 1352.89, 1294.29, 1325.27, 1230.70, 1321.97, 1486.89, 1399.78, 1294.22, 1267.40, 1343.29,
- 1235.20, 1270.54, 1121.95, 1250.46, 1478.94, 1205.37, 1219.79, 1152.37, 1161.98, 1466.89, 1362.33, 1232.15, 1071.75, 1374.74, 1195.27, 1254.65, 1194.23, 1331.21, 1282.74, 1387.72,
- 1327.09, 1451.54, 1293.32, 1388.75, 1173.54, 1410.52, 1246.23, 1421.01, 1352.69, 1347.36, 1225.86, 1172.25, 1214.56, 1218.43, 1476.12, 1327.09, 1228.78, 1331.55, 1374.88, 1216.15,
- 1184.61, 1275.82, 1542.57, 1276.47, 1440.43, 1462.71, 1422.04, 1461.29, 1230.16, 1392.49, 1467.53, 1279.27, 1118.19, 1440.74, 1458.13, 1403.59, 1368.83, 1301.71, 1410.11, 1550.70,
- 1329.09, 1376.40, 1284.55, 1321.19, 1211.98, 1352.49, 1185.79, 1269.39, 1571.69, 1236.95, 1198.81, 1316.00, 1245.78, 1465.14, 1349.26, 1275.25, 1176.92, 1332.87, 1268.57, 1195.62,
- 1258.48, 1351.58, 1365.71, 1308.49, 1346.47, 1406.09, 1215.81, 1464.78, 1268.32, 1487.75, 1278.61, 1384.99, 1346.72, 1299.86, 1301.33, 1129.20, 1267.63, 1200.91, 1519.21, 1366.10,
- 1359.52, 1400.78, 1292.35, 1266.57, 1199.34, 1314.76, 1593.66, 1317.76, 1464.75, 1440.56, 1359.43, 1498.53, 1235.95, 1396.02, 1470.29, 1225.62, 1121.64, 1508.88, 1415.02, 1354.13,
- 1094.40, 1256.05, 1306.23, 1484.59, 1159.38, 1184.43, 1160.58, 1239.94, 1066.13, 1120.31, 1084.26, 1107.13, 1232.42, 1185.27, 1122.73, 1218.90, 1158.50, 1390.26, 1222.39, 1203.27,
- 1045.68, 1255.68, 1168.27, 1176.79, 1298.02, 1267.50, 1307.26, 1289.89, 1247.03, 1287.59, 1222.51, 1262.53, 1148.63, 1271.35, 1245.51, 1187.88, 1234.49, 1307.71, 1249.04, 1116.37,
- 1219.62, 1218.57, 1349.69, 1204.77, 1223.39, 1327.52, 1178.79, 1126.71, 1144.74, 1082.20, 1503.34, 1301.65, 1392.24, 1318.44, 1260.89, 1274.02, 1282.23, 1266.53, 1428.87, 1171.14,
- 1111.19, 1426.06, 1228.13, 1162.35, 1290.22, 1234.24, 1447.04, 1554.34, 1329.19, 1395.15, 1224.29, 1368.36, 1262.15, 1235.36, 1078.19, 1217.33, 1493.90, 1206.57, 1278.17, 1261.99,
- 1207.40, 1527.35, 1164.25, 1225.90, 1209.26, 1448.77, 1186.13, 1225.96, 1427.34, 1285.64, 1345.22, 1242.62, 1319.73, 1382.43, 1353.37, 1346.72, 1312.13, 1358.70, 1315.08, 1232.98,
- 1254.44, 1394.73, 1317.85, 1135.92, 1376.34, 1246.70, 1506.46, 1352.52, 1373.02, 1465.13, 1343.40, 1325.84, 1297.73, 1252.62, 1522.17, 1325.26, 1533.99, 1484.58, 1420.57, 1539.40,
- 1309.14, 1336.26, 1459.18, 1308.33, 1187.05, 1544.99, 1431.61, 1252.38, 1297.08, 1386.36, 1534.82, 1508.74, 1322.47, 1439.91, 1396.94, 1350.46, 1277.41, 1225.67, 1333.70, 1327.48,
- 1505.64, 1263.33, 1252.28, 1351.43, 1316.36, 1539.11, 1348.90, 1296.86, 1176.41, 1429.35, 1293.29, 1275.66, 1397.76, 1408.99, 1357.66, 1318.09, 1363.31, 1513.22, 1427.17, 1492.98,
- 1366.35, 1582.13, 1356.30, 1444.21, 1382.33, 1365.70, 1420.20, 1217.78, 1432.58, 1228.45, 1616.54, 1409.56, 1307.97, 1475.86, 1318.09, 1367.11, 1286.74, 1257.13, 1573.40, 1372.58,
- 1447.57, 1427.08, 1471.14, 1566.62, 1257.12, 1423.67, 1589.79, 1344.49, 1130.92, 1498.77, 1430.68, 1448.58, 1273.37, 1187.48, 1364.40, 1523.23, 1134.45, 1280.58, 1181.08, 1208.90,
- 1122.63, 1174.70, 1126.42, 1201.24, 1346.38, 1141.12, 1131.35, 1126.39, 1096.53, 1371.79, 1273.42, 1263.91, 1027.28, 1217.60, 1233.67, 1146.90, 1230.50, 1199.41, 1100.08, 1152.27,
- 1273.63, 1323.58, 1214.36, 1346.47, 1135.80, 1375.39, 1235.42, 1336.22, 1267.26, 1262.96, 1092.23, 1234.82, 1264.79, 1214.61, 1348.77, 1253.45, 1122.38, 1239.97, 1224.84, 1152.76,
- 1134.34, 1142.76, 1429.84, 1189.04, 1387.07, 1278.77, 1361.50, 1392.18, 1206.86, 1334.71, 1346.73, 1242.13, 1050.60, 1341.34, 1260.75, 1238.45, 1259.03, 1452.68, 1421.62, 1570.44,
- 1251.15, 1244.67, 1329.80, 1327.47, 1172.33, 1235.11, 1245.45, 1199.66, 1397.00, 1148.54, 1301.25, 1264.99, 1293.76, 1468.17, 1340.31, 1238.17, 1251.76, 1361.59, 1341.50, 1352.14,
- 1323.34, 1308.28, 1426.95, 1417.59, 1269.54, 1456.13, 1317.12, 1445.25, 1312.21, 1459.87, 1347.29, 1358.24, 1396.66, 1443.73, 1350.70, 1268.52, 1365.85, 1364.99, 1421.07, 1307.91,
- 1352.22, 1391.29, 1355.71, 1216.58, 1176.76, 1202.96, 1642.02, 1413.84, 1638.88, 1448.85, 1415.71, 1453.51, 1356.51, 1397.14, 1551.89, 1241.79, 1051.81, 1481.01, 1375.11, 1306.43,
- 1391.90, 1448.82, 1525.69, 1650.86, 1352.60, 1398.71, 1409.39, 1522.05, 1223.15, 1417.08, 1140.56, 1282.95, 1512.92, 1306.01, 1310.24, 1293.54, 1347.89, 1517.58, 1384.35, 1324.97,
- 1246.73, 1380.81, 1304.58, 1326.74, 1381.90, 1365.68, 1340.00, 1292.61, 1463.39, 1444.67, 1343.18, 1426.27, 1341.80, 1491.57, 1423.12, 1381.26, 1448.98, 1411.46, 1300.85, 1256.10,
- 1367.57, 1251.11, 1535.47, 1420.20, 1447.88, 1459.55, 1441.55, 1314.46, 1233.96, 1360.85, 1603.25, 1477.07, 1444.84, 1500.80, 1486.72, 1601.72, 1338.91, 1511.31, 1509.19, 1342.63,
- 1213.00, 1555.80, 1461.04, 1324.73, 1350.26, 1407.60, 1553.58, 1622.25, 1309.04, 1278.07, 1257.23, 1263.75, 1204.42, 1237.60, 1135.64, 1323.82, 1440.34, 1206.64, 1147.32, 1284.33,
- 1298.69, 1563.46, 1245.16, 1371.08, 1110.77, 1353.32, 1272.94, 1376.96, 1393.38, 1327.03, 1390.54, 1231.77, 1391.41, 1334.24, 1462.92, 1495.89, 1396.69, 1501.23, 1343.75, 1252.75,
- 1338.90, 1593.07, 1375.33, 1226.33, 1407.39, 1229.39, 1527.84, 1289.46, 1396.80, 1388.67, 1198.63, 1211.68, 1330.36, 1218.02, 1483.55, 1494.09, 1524.05, 1427.59, 1263.21, 1483.71,
- 1281.09, 1329.57, 1457.08, 1284.94, 1185.33, 1443.42, 1330.63, 1430.03, 1214.06, 1219.89, 1347.54, 1421.58, 1180.42, 1272.71, 1211.46, 1326.81, 1037.82, 1082.19, 1161.71, 1141.40,
- 1350.77, 1189.16, 1100.50, 1203.64, 1121.20, 1380.45, 1222.09, 1115.74, 1117.06, 1254.62, 1148.37, 1123.30, 1181.78, 1308.93, 1173.63, 1212.08, 1175.13, 1206.51, 1158.92, 1354.48,
- 1187.28, 1432.28, 1261.04, 1279.24, 1216.02, 1300.33, 1216.19, 1091.07, 1235.87, 1242.67, 1378.27, 1250.20, 1229.67, 1274.75, 1192.17, 1186.72, 1065.46, 1210.51, 1413.41, 1192.26,
- 1319.02, 1308.81, 1343.64, 1323.26, 1216.37, 1278.10, 1388.78, 1165.99, 1078.57, 1239.04, 1337.30, 1274.60, 1349.44, 1467.96, 1499.66, 1723.01, 1394.09, 1391.72, 1456.78, 1508.54,
- 1285.27, 1410.21, 1227.75, 1258.55, 1568.65, 1294.37, 1346.73, 1355.97, 1291.39, 1491.92, 1433.87, 1383.22, 1234.42, 1480.98, 1431.55, 1394.94, 1451.04, 1461.42, 1480.30, 1390.20,
- 1451.88, 1559.52, 1316.89, 1396.52, 1385.16, 1549.24, 1376.21, 1352.67, 1490.72, 1377.56, 1324.12, 1288.39, 1486.11, 1401.94, 1597.30, 1393.09, 1393.10, 1527.19, 1346.17, 1403.61,
- 1329.84, 1428.33, 1697.28, 1486.74, 1610.30, 1524.46, 1536.59, 1601.98, 1406.43, 1537.88, 1518.79, 1379.87, 1151.81, 1615.09, 1448.84, 1386.40, 1198.14, 1206.61, 1238.94, 1358.98,
- 1104.33, 1060.02, 1132.03, 1218.76, 1148.86, 1139.73, 1011.63, 1011.10, 1253.39, 1145.71, 1046.80, 1098.42, 1133.10, 1332.54, 1114.50, 1108.41, 1095.69, 1186.49, 1088.61, 1177.96,
- 1179.91, 1080.40, 1232.01, 1178.43, 1295.16, 1337.88, 1089.30, 1138.30, 982.34, 1238.16, 1193.96, 1128.41, 1226.30, 1110.66, 1201.22, 1026.73, 1099.94, 1082.45, 1286.87, 1182.08,
- 1161.86, 1229.94, 1118.10, 1169.49, 1059.97, 1106.63, 1337.81, 1198.73, 1338.76, 1140.70, 1176.55, 1411.23, 1066.54, 1225.73, 1285.37, 1105.53, 995.55, 1251.52, 1296.70, 1183.81,
- 1336.82, 1359.41, 1531.23, 1506.89, 1277.25, 1341.98, 1207.09, 1441.27, 1245.61, 1279.99, 1171.33, 1203.39, 1552.78, 1221.36, 1278.65, 1229.00, 1212.91, 1567.53, 1327.70, 1240.24,
- 1221.25, 1366.21, 1299.23, 1329.50, 1364.06, 1221.40, 1345.24, 1276.10, 1358.50, 1499.46, 1370.30, 1533.58, 1307.25, 1541.06, 1373.60, 1256.80, 1411.07, 1472.58, 1381.63, 1209.79,
- 1385.44, 1228.53, 1579.26, 1332.83, 1430.57, 1425.45, 1391.60, 1288.74, 1244.24, 1275.17, 1516.60, 1474.56, 1448.48, 1489.99, 1368.60, 1592.46, 1335.75, 1411.22, 1432.70, 1267.68,
- 1041.35, 1491.54, 1498.69, 1323.89, 1179.47, 1288.17, 1343.09, 1495.42, 1190.80, 1208.26, 1233.67, 1266.03, 1009.92, 1189.92, 1079.33, 1226.48, 1415.04, 1174.65, 1095.22, 1124.00,
- 1118.95, 1334.79, 1243.54, 1187.79, 1081.39, 1204.17, 1153.96, 1225.61, 1165.12, 1278.03, 1207.02, 1105.44, 1266.90, 1290.10, 1156.28, 1332.57, 1130.42, 1364.51, 1124.01, 1162.57,
- 1257.70, 1224.27, 1163.35, 1089.64, 1331.68, 1111.06, 1321.76, 1210.18, 1203.34, 1320.04, 1119.50, 1162.15, 1211.72, 1226.56, 1418.76, 1345.12, 1364.04, 1344.66, 1322.72, 1369.63,
- 1197.77, 1342.54, 1295.97, 1116.95, 1010.17, 1336.54, 1207.94, 1273.88, 1234.22, 1145.59, 1273.48, 1352.87, 1111.27, 1229.25, 1105.41, 1236.72, 1114.96, 1128.70, 1001.74, 1106.89,
- 1306.04, 1147.72, 1139.74, 1197.38, 1101.79, 1346.01, 1193.67, 1053.84, 997.60, 1243.23, 1132.20, 1140.96, 1188.55, 1128.00, 1141.85, 1152.23, 1186.89, 1293.55, 1165.47, 1241.90,
- 1114.40, 1382.10, 1174.74, 1128.36, 1206.13, 1252.88, 1163.47, 1058.72, 1157.54, 1136.36, 1452.71, 1189.00, 1158.47, 1286.42, 1087.34, 1117.48, 1059.71, 1200.30, 1363.05, 1194.97,
- 1287.62, 1371.77, 1242.62, 1381.55, 1162.41, 1153.85, 1296.64, 1183.91, 1104.32, 1302.69, 1248.47, 1127.57, 1541.65, 1449.79, 1543.72, 1669.84, 1552.41, 1442.87, 1419.15, 1516.45,
- 1365.70, 1418.19, 1283.35, 1397.02, 1636.63, 1330.73, 1354.17, 1396.58, 1343.54, 1676.34, 1545.03, 1346.49, 1205.89, 1582.05, 1492.58, 1339.30, 1505.07, 1445.89, 1521.83, 1438.11,
- 1514.20, 1537.87, 1457.46, 1563.90, 1380.61, 1640.16, 1372.38, 1522.58, 1470.40, 1587.96, 1514.42, 1344.65, 1492.48, 1285.49, 1721.76, 1459.99, 1440.06, 1547.91, 1372.78, 1443.99,
- 1427.05, 1452.09, 1730.53, 1504.18, 1661.41, 1506.44, 1466.96, 1729.20, 1424.56, 1526.45, 1623.14, 1377.34, 1328.57, 1535.54, 1486.59, 1426.21, 1251.77, 1271.32, 1385.16, 1513.24,
- 1214.50, 1329.88, 1281.79, 1400.95, 1181.91, 1193.78, 1112.89, 1162.70, 1409.60, 1309.09, 1324.74, 1200.69, 1270.76, 1404.72, 1270.69, 1247.59, 1133.68, 1276.68, 1301.66, 1287.50,
- 1245.47, 1231.10, 1338.69, 1224.15, 1459.25, 1460.39, 1298.97, 1267.27, 1198.90, 1420.61, 1242.62, 1373.64, 1278.89, 1310.16, 1265.24, 1162.40, 1356.80, 1323.82, 1486.75, 1340.86,
- 1272.36, 1425.28, 1252.32, 1345.57, 1290.27, 1190.63, 1562.44, 1439.95, 1476.36, 1440.54, 1413.98, 1475.85, 1274.13, 1332.14, 1366.48, 1104.44, 1112.21, 1401.95, 1403.46, 1325.29,
- 1319.27, 1331.63, 1332.49, 1472.21, 1325.58, 1311.89, 1312.22, 1480.80, 1108.58, 1245.66, 1143.69, 1163.06, 1536.72, 1239.62, 1193.78, 1265.51, 1140.02, 1461.12, 1311.68, 1260.50,
- 1243.53, 1288.05, 1197.69, 1253.15, 1319.70, 1266.22, 1272.58, 1219.48, 1293.98, 1487.47, 1178.02, 1344.72, 1268.21, 1537.06, 1283.91, 1289.73, 1395.59, 1376.58, 1319.33, 1045.68,
- 1310.65, 1386.68, 1532.68, 1377.28, 1279.59, 1366.86, 1403.80, 1200.92, 1189.43, 1248.40, 1591.06, 1355.88, 1377.70, 1451.58, 1480.72, 1472.42, 1246.27, 1399.85, 1400.35, 1235.28,
- 1124.89, 1407.01, 1319.83, 1301.32, 1415.13, 1365.13, 1452.19, 1604.11, 1500.89, 1435.12, 1385.70, 1390.88, 1370.55, 1371.05, 1134.74, 1227.42, 1515.15, 1335.13, 1326.54, 1236.30,
- 1336.05, 1528.68, 1271.89, 1289.61, 1315.37, 1554.50, 1310.00, 1258.95, 1371.55, 1340.63, 1338.41, 1482.49, 1431.91, 1526.41, 1323.51, 1506.38, 1300.72, 1450.18, 1375.10, 1555.41,
- 1385.68, 1408.90, 1439.56, 1172.49, 1303.00, 1284.11, 1561.57, 1510.37, 1392.96, 1444.72, 1355.37, 1344.74, 1334.03, 1237.49, 1698.61, 1301.14, 1501.12, 1497.12, 1406.61, 1668.88,
- 1271.92, 1409.82, 1568.31, 1247.27, 1268.28, 1506.07, 1487.85, 1331.96, 1308.11, 1153.87, 1349.43, 1394.82, 1370.40, 1305.67, 1238.26, 1244.13, 1212.34, 1214.01, 1057.37, 1222.82,
- 1462.63, 1146.31, 1176.44, 1233.37, 1219.87, 1417.39, 1256.23, 1141.71, 1104.27, 1342.60, 1107.36, 1166.71, 1269.03, 1296.78, 1394.75, 1203.71, 1303.12, 1292.80, 1349.62, 1268.20,
- 1282.37, 1365.87, 1257.10, 1301.37, 1223.24, 1357.85, 1295.40, 1080.32, 1259.42, 1103.25, 1505.06, 1378.76, 1259.55, 1407.08, 1277.81, 1274.20, 1239.76, 1259.26, 1419.32, 1290.93,
- 1461.62, 1392.77, 1208.72, 1487.44, 1233.27, 1167.01, 1408.25, 1166.39, 1115.86, 1476.19, 1408.85, 1255.06, 1318.64, 1417.57, 1440.11, 1502.85, 1377.80, 1417.09, 1331.16, 1321.85,
- 1168.14, 1336.71, 1255.18, 1308.91, 1564.34, 1217.88, 1191.89, 1256.18, 1238.63, 1484.72, 1428.50, 1188.80, 1197.03, 1352.54, 1233.73, 1210.42, 1334.10, 1343.73, 1344.27, 1247.66,
- 1422.34, 1501.63, 1308.65, 1456.09, 1333.68, 1538.77, 1309.99, 1554.85, 1368.45, 1371.48, 1286.55, 1192.83, 1372.63, 1244.44, 1486.45, 1447.41, 1312.79, 1416.11, 1354.57, 1335.71,
- 1289.82, 1212.67, 1601.19, 1401.01, 1527.72, 1468.40, 1434.39, 1541.73, 1275.53, 1436.32, 1532.78, 1246.52, 1183.33, 1431.59, 1398.14, 1389.18
-};
-
diff --git a/benchmarks/vec-matmul/dataset_test.h b/benchmarks/vec-matmul/dataset_test.h
deleted file mode 100644
index d9244de..0000000
--- a/benchmarks/vec-matmul/dataset_test.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// See LICENSE for license details.
-
-
-#define ARRAY_SIZE 4
-
-
-#define DIM_SIZE 2
-
-#if 1
-float input1_data[ARRAY_SIZE] =
-{
- 0.37, 7.51, 5.09, 1.69
-};
-
-float input2_data[ARRAY_SIZE] =
-{
- 4.09, 3.02, 0.02, 8.91
-};
-
-float verify_data[ARRAY_SIZE] =
-{
- 1.65, 68.11, 20.84, 30.44
-};
-#endif
-#if 0
-float input1_data[ARRAY_SIZE] =
-{
- 1.0, 0.0, 0.0, 0.0
-};
-
-float input2_data[ARRAY_SIZE] =
-{
- 1.0, 0.0, 0.0, 1.0
-};
-
-float verify_data[ARRAY_SIZE] =
-{
- 1.0, 0.0, 0.0, 0.0
-};
-#endif
-
diff --git a/benchmarks/vec-matmul/matmul_gendata.pl b/benchmarks/vec-matmul/matmul_gendata.pl
deleted file mode 100755
index c9d0ac7..0000000
--- a/benchmarks/vec-matmul/matmul_gendata.pl
+++ /dev/null
@@ -1,200 +0,0 @@
-#!/usr/bin/perl -w
-#==========================================================================
-# matmul_gendata.pl
-#
-# Author : Christopher Batten (cbatten@mit.edu)
-# Date : April 29, 2005
-#
-(our $usageMsg = <<'ENDMSG') =~ s/^\#//gm;
-#
-# Simple script which creates an input data set and the reference data
-# for the matmul benchmark.
-#
-ENDMSG
-
-use strict "vars";
-use warnings;
-no warnings("once");
-use Getopt::Long;
-
-#--------------------------------------------------------------------------
-# Command line processing
-#--------------------------------------------------------------------------
-
-our %opts;
-
-sub usage()
-{
-
- print "\n";
- print " Usage: matmul_gendata.pl [options] \n";
- print "\n";
- print " Options:\n";
- print " --help print this message\n";
- print " --size size of input data [1000]\n";
- print " --seed random seed [1]\n";
- print "$usageMsg";
-
- exit();
-}
-
-sub processCommandLine()
-{
-
- $opts{"help"} = 0;
- $opts{"size"} = 1000;
- $opts{"seed"} = 1;
- Getopt::Long::GetOptions( \%opts, 'help|?', 'size:i', 'seed:i' ) or usage();
- $opts{"help"} and usage();
-
-}
-
-#--------------------------------------------------------------------------
-# Helper Functions
-#--------------------------------------------------------------------------
-
-sub printArray
-{
- my $arrayName = $_[0];
- my $arrayRef = $_[1];
-
- my $numCols = 20;
- my $arrayLen = scalar(@{$arrayRef});
-
- print "float ".$arrayName."[ARRAY_SIZE] = \n";
- print "{\n";
-
- if ( $arrayLen <= $numCols ) {
- print " ";
- for ( my $i = 0; $i < $arrayLen; $i++ ) {
- print sprintf("%3.2f",$arrayRef->[$i]);
- if ( $i != $arrayLen-1 ) {
- print ", ";
- }
- }
- print "\n";
- }
-
- else {
- my $numRows = int($arrayLen/$numCols);
- for ( my $j = 0; $j < $numRows; $j++ ) {
- print " ";
- for ( my $i = 0; $i < $numCols; $i++ ) {
- my $index = $j*$numCols + $i;
- print sprintf("%3.2f",$arrayRef->[$index]);
- if ( $index != $arrayLen-1 ) {
- print ", ";
- }
- }
- print "\n";
- }
-
- if ( $arrayLen > ($numRows*$numCols) ) {
- print " ";
- for ( my $i = 0; $i < ($arrayLen-($numRows*$numCols)); $i++ ) {
- my $index = $numCols*$numRows + $i;
- print sprintf("%3.2f",$arrayRef->[$index]);
- if ( $index != $arrayLen-1 ) {
- print ", ";
- }
- }
- print "\n";
- }
-
- }
-
- print "};\n\n";
-}
-
-
-
-#--------------------------------------------------------------------------
-# Matmul
-#--------------------------------------------------------------------------
-
-# http://answers.oreilly.com/topic/418-how-to-multiply-matrices-in-perl/
-
-sub mmult {
- my ($m1,$m2) = @_;
- my ($m1rows,$m1cols) = matdim($m1);
- my ($m2rows,$m2cols) = matdim($m2);
-
- my $result = [ ];
- my ($i, $j, $k);
-
- for $i (range($m1rows)) {
- for $j (range($m2cols)) {
- for $k (range($m1cols)) {
- $result->[$i][$j] += $m1->[$i][$k] * $m2->[$k][$j];
- }
- }
- }
- return $result;
-}
-
-sub range { 0 .. ($_[0] - 1) }
-
-
-sub veclen {
- my $ary_ref = $_[0];
- my $type = ref $ary_ref;
- if ($type ne "ARRAY") { die "$type is bad array ref for $ary_ref" }
- return scalar(@$ary_ref);
-}
-
-sub matdim {
- my $matrix = $_[0];
- my $rows = veclen($matrix);
- my $cols = veclen($matrix->[0]);
- return ($rows, $cols);
-}
-
-#--------------------------------------------------------------------------
-# Main
-#--------------------------------------------------------------------------
-
-sub main()
-{
-
- processCommandLine();
- srand($opts{"seed"});
-
- # create random input arrays
- my $mat_values1;
- my $mat_values2;
- for ( my $i = 0; $i < $opts{"size"}; $i++ ) {
- for ( my $j = 0; $j < $opts{"size"}; $j++ ) {
- $mat_values1->[$i][$j] = (rand(9));
- $mat_values2->[$i][$j] = (rand(9));
- }
- }
-
- # perform matmul
- my $mat_results = mmult( $mat_values1, $mat_values2 );
-
- # translate 2d arrays to 1d-somethings (I don't know how to code in perl - Chris)
- my @values1;
- my @values2;
- my @results;
- for ( my $i = 0; $i < $opts{"size"}; $i++ ) {
- for ( my $j = 0; $j < $opts{"size"}; $j++ ) {
- my $value1 = $mat_values1->[$i][$j];
- my $value2 = $mat_values2->[$i][$j];
- my $result = $mat_results->[$i][$j];
- push( @values1, $value1 );
- push( @values2, $value2 );
- push( @results, $result );
- }
- }
-
- print "\n\#define ARRAY_SIZE ".($opts{"size"}*$opts{"size"})." \n\n";
- print "\n\#define DIM_SIZE ".$opts{"size"}." \n\n";
-
- printArray( "input1_data", \@values1 );
- printArray( "input2_data", \@values2 );
- printArray( "verify_data", \@results);
-
-}
-
-main();
-
diff --git a/benchmarks/vec-matmul/vec_matmul_asm.S b/benchmarks/vec-matmul/vec_matmul_asm.S
deleted file mode 100644
index a9cad53..0000000
--- a/benchmarks/vec-matmul/vec_matmul_asm.S
+++ /dev/null
@@ -1,345 +0,0 @@
-# See LICENSE for license details.
-
-#*****************************************************************************
-# matmul function (assembly version)
-#-----------------------------------------------------------------------------
-
-
-#--------------------------------------------------------------------------
-# Headers and Defines
-#--------------------------------------------------------------------------
-
-#include "pcr.h"
-
-# Here are some defines that make writing assembly code easier.
-
-# I'm using the knowledge that rLda will be placed in register a0, rA will be
-# placed into register a1, etc., based on the calling convention for functions.
-
-#define rN a0
-#define rLda a0
-#define rA a1
-#define rB a2
-#define rC a3
-#define rATmp2 v0
-#define rBTmp2 s0
-
-
-# given vector-length
-#define rVlen a7
-
-# address of VT function
-#define rVTAddr v1
-#define rTemp0 t0
-
-# desired app vector length (number of elements to vectorize)
-#define rNum t1
-
-#define rATemp t2
-#define rBTemp t3
-#define rCTemp t4
-#define rI t5
-#define rJ s1
-#define rK s2
-#define rLda4 a4
-#define rK4 a5
-#define rI4 a6
-
-# WARNING: do not write to the s0,...,s9 registers without first saving them to
-# the stack!
-
-#--------------------------------------------------------------------------
-# void scalar_matmul_asm( int n, float a[], float b[], float c[] )
-#--------------------------------------------------------------------------
-
- .text
- .align 2
- .globl scalar_matmul_asm
- .type scalar_matmul_asm,@function
-
-scalar_matmul_asm:
-
- # ***** Scalar Example *****
-
- blez rLda, done # exit early if lda < 0
-
- move rJ, zero
-loopj:
- move rI, zero
-loopi:
- move rK, zero
-loopk:
- mul rTemp0, rJ, rLda # calculate indices... I'm being SUPER naive here:
- add rATemp, rK, rTemp0 # this could be a lot more clever!
- slli rATemp, rATemp, 2
- add rATemp, rA, rATemp
-
- mul rTemp0, rK, rLda
- add rBTemp, rI, rTemp0
- slli rBTemp, rBTemp, 2
- add rBTemp, rB, rBTemp
-
- mul rTemp0, rJ, rLda
- add rCTemp, rI, rTemp0
- slli rCTemp, rCTemp, 2
- add rCTemp, rC, rCTemp
-
- flw f2, 0(rATemp) # again, I'm being very lazy...
- # I can lift this out of the inner loop!
- flw f3, 0(rBTemp)
- flw f4, 0(rCTemp)
- fmul.s f3, f2, f3
- fadd.s f4, f4, f3
- fsw f4, 0(rCTemp)
-endk:
- addi rK, rK, 1
- blt rK, rLda, loopk
-endi:
- addi rI, rI, 1
- blt rI, rLda, loopi
-endj:
- addi rJ, rJ, 1
- blt rJ, rLda, loopj
-done:
- ret
-
-
-#--------------------------------------------------------------------------
-# void vt_matmul_asm( int n, float a[], float b[], float c[] )
-#--------------------------------------------------------------------------
-
-
- # ***** Vector-Thread Example *****
-
- .globl vt_matmul_asm
- .type vt_matmul_asm,@function
-
-vt_matmul_asm:
- addi sp, sp, -24
- sd s0, 0(sp)
- sd s1, 8(sp)
- sd s2, 16(sp)
-
-
- # turn on vector unit
- setpcr status, SR_EV
-
- blez rLda, cpdone # exit early if lda < 0
-
-
- la rVTAddr, vtcode
- slli rLda4, rLda, 2
-
- #for starters ask for all the registers. We shouldn't need this many
- #but we'll trim it when we have correctness in hand
- vvcfgivl rVlen, rNum, 1, 5
-
-
- move rJ, zero
-vec_loopj:
- move rI, zero
-vec_loopi:
- slli rI4, rI, 2
-
- sub rNum, rN, rI # book keeping
- vsetvl rVlen, rNum # set the vector length
- # rN is the desired (application) vector length
- # rVlen is what vector length we were given
-
- #####################################
- # LOADS FOR C #
- #####################################
- mul rTemp0, rJ, rLda4
- add rCTemp, rI4, rTemp0
-
- add rCTemp, rC, rCTemp
- vflw vf2, rCTemp
-
- add rCTemp, rCTemp, rLda4
- vflw vf4, rCTemp
-
-
- #################################
- # address calculation lifts #
- #################################
- mul rTemp0, rJ, rLda4
- add rATmp2, rA, rTemp0
-
- add rBTmp2, rI4, rB
- move rK, zero
-vec_loopk:
- slli rK4, rK, 2
-
- #####################################
- # LOADS FOR A #
- #####################################
-
- add rATemp, rK4, rATmp2
- vflstw vf0, rATemp, zero
-
- add rATemp, rATemp, rLda4
- vflstw vf3, rATemp, zero
-
-
- #####################################
- # LOADS FOR B #
- #####################################
- mul rTemp0, rK, rLda4
- add rBTemp, rBTmp2, rTemp0
- vflw vf1, rBTemp
- vf 0(rVTAddr)
-
- #####################################
- # LOADS FOR A #
- #####################################
- add rATemp, rK4, rATmp2
- addi rATemp, rATemp, 4
- vflstw vf0, rATemp, zero
-
- add rATemp, rATemp, rLda4
- vflstw vf3, rATemp, zero
-
-
- #####################################
- # LOADS FOR B #
- #####################################
- add rBTemp, rBTemp, rLda4
- vflw vf1, rBTemp
- vf 0(rVTAddr)
-
- #####################################
- # LOADS FOR A #
- #####################################
- add rATemp, rK4, rATmp2
- addi rATemp, rATemp, 8
- vflstw vf0, rATemp, zero
-
- add rATemp, rATemp, rLda4
- vflstw vf3, rATemp, zero
-
-
- #####################################
- # LOADS FOR B #
- #####################################
- add rBTemp, rBTemp, rLda4
- vflw vf1, rBTemp
- vf 0(rVTAddr)
-
-
- #####################################
- # LOADS FOR A #
- #####################################
- add rATemp, rK4, rATmp2
- addi rATemp, rATemp, 12
- vflstw vf0, rATemp, zero
-
- add rATemp, rATemp, rLda4
- vflstw vf3, rATemp, zero
-
-
- #####################################
- # LOADS FOR B #
- #####################################
- add rBTemp, rBTemp, rLda4
- vflw vf1, rBTemp
- vf 0(rVTAddr)
-
-vec_endk:
- addi rK, rK, 4
- blt rK, rLda, vec_loopk
-
-vec_endi:
- #####################################
- # STORES FOR C #
- #####################################
- vfsw vf4, rCTemp
- sub rCTemp, rCTemp, rLda4
- vfsw vf2, rCTemp
-
- add rI, rI, rVlen
- blt rI, rLda, vec_loopi
-vec_endj:
- addi rJ, rJ, 2
-# fence.v.l
- blt rJ, rLda, vec_loopj
-
-
-cpdone:
- fence.v.l
- ld s0, 0(sp)
- ld s1, 8(sp)
- ld s2, 16(sp)
- addi sp, sp, 24
-
-
- ret
-
-vtcode:
- # ADD YOUR VECTOR-ELEMENT CODE HERE ...
-
- #TODO: hit this with a fused multiply add.
-
- fmadd.s f2, f0, f1, f2
- fmadd.s f4, f3, f1, f4
- #fmadd.s f6, f5, f1, f6
- #fmadd.s f8, f7, f1, f8
-
-
- #fmul.s f1, f0, f1
- #fadd.s f2, f2, f1
- stop
-
-transpose:
- # turn on vector unit
- setpcr status, SR_EV
-
-
- blez rLda, cpdone # exit early if lda < 0
- vvcfgivl rVlen, rNum, 1, 1
-
- move rI, zero
-tloopi:
- sub rNum, rLda, rI
- vsetvl rVlen, rNum
-
- move rJ, zero
-tloopj:
-
- mul rTemp0, rJ, rLda
- add rATemp, rI, rTemp0
- slli rATemp, rATemp, 2
- add rATemp, rA, rATemp
-
- mul rTemp0, rI, rLda
- add rBTemp, rJ, rTemp0
- slli rBTemp, rBTemp, 2
- add rBTemp, rB, rBTemp
-
- #flw f0, 0(rBTemp)
- #fsw f0, 0(rATemp)
- vflstw vf0, rBTemp, rLda4
- vfsw vf0, rATemp
-
-tendj:
- addi rJ, rJ, 1
- blt rJ, rLda, tloopj
-tendi:
- #addi rI, rI, 1
- add rI, rI, rVlen
- blt rI, rLda, tloopi
-
- ret
- # The C code uses a jalr instruction to call this function
- # so we can use a jr to return back to where the function
- # was called. Also known as "ret", for "return".
-
- ret
-
-
-
-#####################################
-# NOPS TO AVOID OVERPREFETCH #
-#####################################
-# srli rTemp0, rLda, 4
-#nop_lp: addi rTemp0, rTemp0, -1
-# bgez rTemp0, nop_lp
diff --git a/benchmarks/vec-matmul/vec_matmul_main.c b/benchmarks/vec-matmul/vec_matmul_main.c
deleted file mode 100644
index 9554da8..0000000
--- a/benchmarks/vec-matmul/vec_matmul_main.c
+++ /dev/null
@@ -1,207 +0,0 @@
-// See LICENSE for license details.
-
-//**************************************************************************
-// Vector-Thread Vector Matrix Multiply benchmark
-//--------------------------------------------------------------------------
-//
-// This benchmark multiplies two 2-D arrays together and writes the results to
-// a third vector. The input data (and reference data) should be generated
-// using the matmul_gendata.pl perl script and dumped to a file named
-// dataset.h.
-
-#include "util.h"
-
-// Choose which implementation you wish to test... but leave only one on!
-// (only the first one will be executed).
-//#define SCALAR_C
-//#define SCALAR_ASM
-#define VT_ASM
-
-//--------------------------------------------------------------------------
-// Input/Reference Data
-
-//#include "dataset_test.h"
-#include "dataset.h"
-
-//--------------------------------------------------------------------------
-// Helper functions
-
-int verify( int n, float test[], float correct[] )
-{
- int i;
- for ( i = 0; i < n; i++ ) {
- if ( test[i] > 1.02*correct[i]
- || test[i] < 0.98*correct[i]) {
-#if HOST_DEBUG
- printf(" test[%d] : %3.2f\n", i, test[i]);
- printf(" corr[%d] : %3.2f\n", i, correct[i]);
-#endif
- // tell us which index fails + 2
- // (so that if i==0,i==1 fails, we don't
- // think it was a 'not-finished yet' or pass)
- return i+10;
- }
- }
- return 1;
-}
-
-void finishTest( int correct, long long num_cycles, long long num_retired )
-{
- int toHostValue = correct;
-#if HOST_DEBUG
- if ( toHostValue == 1 )
- printf( "*** PASSED ***\n" );
- else
- printf( "*** FAILED *** (tohost = %d)\n", toHostValue );
- exit(0);
-#else
- // we no longer run in -testrun mode, which means we can't use
- // the tohost register to communicate "test is done" and "test results"
- // so instead we will communicate through print* functions!
- if ( correct == 1 )
- {
- printstr( "*** PASSED *** (num_cycles = 0x" );
- printhex(num_cycles);
- printstr( ", num_inst_retired = 0x");
- printhex(num_retired);
- printstr( ")\n" );
- }
- else
- {
- printstr( "*** FAILED *** (num_cycles = 0x");
- printhex(num_cycles);
- printstr( ", num_inst_retired = 0x");
- printhex(num_retired);
- printstr( ")\n" );
- }
- exit();
-#endif
-}
-
-
-// deprecated - cr10/stats-enable register no longer exists
-void setStats( int enable )
-{
-#if ( !HOST_DEBUG && SET_STATS )
- asm( "mtpcr %0, cr10" : : "r" (enable) );
-#endif
-}
-
-long long getCycles()
-{
- long long cycles = 1337;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdcycle %0" : "=r" (cycles) );
-#endif
- return cycles;
-}
-
-long long getInstRetired()
-{
- long long inst_retired = 1338;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdinstret %0" : "=r" (inst_retired) );
-#endif
- return inst_retired;
-}
-
-//--------------------------------------------------------------------------
-// matmul function
-
-// scalar C implementation
-void matmul(const int lda, const float A[], const float B[], float C[] )
-{
- int i, j, k;
-
- for ( j = 0; j < lda; j++ )
- for ( i = 0; i < lda; i++ )
- {
- float cij = C[i + j*lda];
- for ( k = 0; k < lda; k++ )
- {
- cij += A[j*lda + k] * B[k*lda + i];
- }
- C[i + j*lda] = cij;
- }
-}
-
-
-// assembly implementations can be found in *_asm.S
-
-//--------------------------------------------------------------------------
-// Main
-
-int main( int argc, char* argv[] )
-{
- int i,j;
- long long start_cycles = 0;
- long long stop_cycles = 0;
- long long num_cycles;
- long long start_retired = 0;
- long long stop_retired = 0;
- long long num_retired;
-
- float results_data[ARRAY_SIZE];
- for ( i = 0; i < DIM_SIZE; i++ )
- for ( j = 0; j < DIM_SIZE; j++ )
- results_data[i + j*DIM_SIZE] = 0.0f;
-
- // Output the input array
-
-#if HOST_DEBUG
- printArray( "input1", ARRAY_SIZE, input1_data );
- printArray( "input2", ARRAY_SIZE, input2_data );
- printArray( "verify", ARRAY_SIZE, verify_data );
- printArray( "results", ARRAY_SIZE, results_data );
-#endif
-
- // --------------------------------------------------
- // If needed we preallocate everything in the caches
-
-#if PREALLOCATE
-
-
-
-#endif
-
- // --------------------------------------------------
- // Do the matmul
- start_cycles = getCycles();
- start_retired = getInstRetired();
-
-#ifdef SCALAR_C
- matmul( DIM_SIZE, input1_data, input2_data, results_data );
-#else
-#ifdef SCALAR_ASM
- #if HOST_DEBUG==0
- scalar_matmul_asm( DIM_SIZE, input1_data, input2_data, results_data );
- #endif
-#else
-#ifdef VT_ASM
- #if HOST_DEBUG==0
- vt_matmul_asm( DIM_SIZE, input1_data, input2_data, results_data );
- #endif
-#endif
-#endif
-#endif
-
-
- stop_cycles = getCycles();
- stop_retired = getInstRetired();
- num_cycles = stop_cycles - start_cycles;
- num_retired = stop_retired - start_retired;
-
-
- // --------------------------------------------------
- // Print out the results
-
-#if HOST_DEBUG
- printArray( "results", ARRAY_SIZE, results_data );
-#endif
-
-
- // --------------------------------------------------
- // Check the results
- int correct = verify( ARRAY_SIZE, results_data, verify_data );
- finishTest(correct, num_cycles, num_retired);
-}
diff --git a/benchmarks/vec-vvadd/bmark.mk b/benchmarks/vec-vvadd/bmark.mk
deleted file mode 100644
index 78ebff2..0000000
--- a/benchmarks/vec-vvadd/bmark.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-#=======================================================================
-# UCB CS250 Makefile fragment for benchmarks
-#-----------------------------------------------------------------------
-#
-# Each benchmark directory should have its own fragment which
-# essentially lists what the source files are and how to link them
-# into an riscv and/or host executable. All variables should include
-# the benchmark name as a prefix so that they are unique.
-#
-
-vec_vvadd_c_src = \
- vec_vvadd_main.c \
-
-vec_vvadd_riscv_src = \
- crt.S \
- vec_vvadd_asm.S
-
-vec_vvadd_c_objs = $(patsubst %.c, %.o, $(vec_vvadd_c_src))
-vec_vvadd_riscv_objs = $(patsubst %.S, %.o, $(vec_vvadd_riscv_src))
-
-vec_vvadd_host_bin = vec-vvadd.host
-$(vec_vvadd_host_bin) : $(vec_vvadd_c_src)
- $(HOST_COMP) $^ -o $(vec_vvadd_host_bin)
-
-vec_vvadd_riscv_bin = vec-vvadd.riscv
-$(vec_vvadd_riscv_bin) : $(vec_vvadd_c_objs) $(vec_vvadd_riscv_objs)
- $(RISCV_LINK) $(RISCV_LINK_SYSCALL) $(vec_vvadd_c_objs) $(vec_vvadd_riscv_objs) -o $(vec_vvadd_riscv_bin)
-
-junk += $(vec_vvadd_c_objs) $(vec_vvadd_riscv_objs) \
- $(vec_vvadd_host_bin) $(vec_vvadd_riscv_bin)
diff --git a/benchmarks/vec-vvadd/dataset.h b/benchmarks/vec-vvadd/dataset.h
deleted file mode 100644
index 976896f..0000000
--- a/benchmarks/vec-vvadd/dataset.h
+++ /dev/null
@@ -1,173 +0,0 @@
-// See LICENSE for license details.
-
-
-#define DATA_SIZE 1024
-
-float input1_data[DATA_SIZE] =
-{
- 41.59, 833.98, 564.92, 187.40, 749.75, 350.86, 132.42, 949.90, 584.06, 805.70, 621.44, 6.57, 931.73, 890.19, 392.50, 694.30, 961.50, 110.85, 116.64, 296.64,
- 426.15, 314.26, 659.38, 774.03, 319.50, 678.95, 875.15, 376.99, 474.52, 938.39, 539.64, 569.21, 203.10, 280.59, 759.17, 606.49, 511.73, 657.85, 195.14, 81.76,
- 267.13, 229.11, 337.80, 944.31, 902.33, 241.76, 913.03, 826.41, 933.10, 985.95, 195.94, 960.23, 566.85, 350.87, 649.08, 657.11, 181.07, 111.93, 859.03, 65.38,
- 288.41, 349.32, 141.62, 905.27, 886.09, 264.13, 576.69, 979.62, 761.15, 241.01, 478.77, 499.56, 403.08, 222.09, 444.00, 721.13, 676.11, 317.98, 224.02, 937.91,
- 288.16, 119.49, 615.12, 606.02, 389.63, 351.17, 455.08, 278.19, 367.94, 358.65, 584.29, 62.81, 985.38, 403.31, 346.66, 517.64, 559.24, 908.23, 775.53, 255.22,
- 778.76, 598.70, 143.67, 33.87, 125.22, 941.32, 933.58, 799.68, 553.00, 431.48, 648.92, 952.26, 287.81, 19.55, 49.85, 86.34, 95.37, 441.32, 587.26, 614.94,
- 382.15, 280.93, 808.48, 971.60, 819.34, 344.75, 450.92, 512.61, 965.23, 347.78, 808.67, 882.45, 537.55, 946.57, 701.25, 356.05, 567.96, 891.59, 22.08, 568.05,
- 665.92, 423.06, 434.34, 158.95, 2.47, 84.01, 247.70, 49.41, 435.28, 792.95, 869.12, 486.44, 414.24, 369.14, 548.71, 518.09, 888.38, 682.27, 284.83, 264.53,
- 499.48, 290.72, 897.15, 215.27, 731.10, 688.62, 251.21, 786.26, 555.77, 302.26, 528.37, 544.63, 322.31, 947.49, 287.49, 824.15, 304.91, 788.79, 733.63, 959.89,
- 366.53, 722.70, 294.29, 975.54, 653.47, 748.94, 91.37, 378.81, 105.56, 102.96, 381.89, 651.77, 825.56, 840.65, 356.91, 148.28, 54.55, 140.19, 955.46, 343.09,
- 533.74, 757.52, 521.69, 837.60, 592.30, 13.14, 173.27, 63.12, 121.08, 133.74, 758.23, 372.02, 951.71, 39.51, 129.91, 110.98, 847.87, 437.05, 255.51, 269.43,
- 409.58, 628.32, 399.16, 549.49, 753.43, 564.11, 171.44, 19.41, 727.43, 501.57, 777.90, 43.09, 753.99, 81.39, 202.47, 853.24, 153.74, 760.34, 357.21, 943.33,
- 922.66, 328.36, 496.72, 442.71, 516.93, 641.63, 276.71, 786.16, 113.96, 842.51, 907.08, 275.40, 237.13, 32.98, 784.54, 565.19, 357.36, 803.66, 819.14, 751.19,
- 280.22, 85.45, 458.79, 454.92, 710.83, 459.50, 41.90, 253.04, 377.89, 508.40, 700.13, 860.38, 480.43, 741.22, 499.72, 709.19, 49.82, 371.43, 873.84, 945.74,
- 992.29, 526.88, 721.83, 435.40, 232.94, 497.20, 697.84, 30.97, 348.62, 250.71, 350.43, 250.94, 573.58, 784.02, 749.08, 502.35, 823.63, 826.56, 170.19, 160.43,
- 674.95, 32.57, 202.49, 143.61, 853.30, 90.19, 394.67, 107.54, 855.13, 106.95, 157.48, 6.02, 765.70, 204.09, 194.97, 574.49, 218.68, 526.07, 177.51, 239.54,
- 698.98, 757.04, 706.64, 49.59, 84.46, 799.94, 893.26, 512.93, 373.43, 492.61, 14.70, 621.34, 83.22, 103.52, 794.61, 921.52, 643.16, 880.32, 834.18, 239.95,
- 462.18, 114.13, 561.17, 529.93, 10.30, 997.07, 904.66, 387.08, 407.57, 105.47, 559.17, 936.96, 512.84, 409.16, 302.62, 202.29, 427.86, 613.96, 359.16, 521.47,
- 684.36, 22.07, 185.67, 312.54, 107.15, 274.79, 387.52, 242.91, 486.42, 105.59, 698.95, 899.65, 770.03, 644.88, 80.86, 161.95, 407.27, 946.13, 30.14, 768.55,
- 870.70, 113.84, 148.93, 62.24, 147.22, 838.37, 845.09, 432.80, 141.35, 211.37, 817.36, 821.24, 562.79, 364.45, 615.83, 495.66, 812.02, 916.81, 159.62, 430.76,
- 803.39, 180.32, 544.52, 840.69, 458.36, 786.87, 872.83, 795.63, 806.35, 758.10, 104.71, 401.72, 254.16, 984.58, 136.35, 729.51, 584.46, 794.56, 414.82, 528.59,
- 707.41, 554.08, 378.44, 766.91, 977.14, 236.84, 947.69, 229.98, 165.43, 505.78, 105.10, 704.89, 796.28, 140.34, 303.80, 795.40, 635.19, 560.05, 119.19, 8.94,
- 532.12, 814.18, 37.37, 584.99, 739.88, 619.35, 767.29, 478.11, 57.63, 958.75, 784.42, 985.67, 837.44, 307.64, 67.92, 824.29, 996.62, 749.22, 171.61, 826.01,
- 621.55, 155.29, 826.10, 43.35, 694.11, 80.98, 236.29, 747.66, 744.26, 265.92, 124.29, 731.39, 941.95, 425.61, 370.26, 320.28, 269.25, 542.98, 763.36, 752.33,
- 915.79, 14.49, 1.02, 906.26, 995.56, 809.80, 560.98, 873.76, 972.51, 289.40, 509.58, 558.76, 970.08, 405.61, 579.55, 293.55, 251.18, 849.74, 129.09, 452.87,
- 716.20, 86.61, 678.77, 181.77, 240.86, 335.99, 793.87, 641.72, 1.47, 320.21, 987.27, 646.93, 754.87, 958.84, 203.62, 142.11, 180.16, 299.98, 165.92, 761.46,
- 974.39, 646.84, 559.81, 619.82, 422.99, 260.82, 565.90, 542.16, 492.49, 991.70, 745.63, 207.65, 372.46, 932.61, 664.40, 34.84, 533.95, 478.47, 908.95, 203.05,
- 33.64, 214.19, 365.78, 892.41, 781.43, 680.21, 705.21, 688.64, 947.17, 386.39, 50.40, 101.30, 474.97, 399.09, 679.01, 330.13, 952.98, 471.66, 477.47, 725.77,
- 713.76, 937.76, 529.17, 870.41, 77.99, 545.34, 907.70, 853.57, 143.68, 979.57, 239.21, 105.80, 365.64, 98.64, 54.56, 98.04, 440.05, 764.95, 315.62, 336.77,
- 697.12, 774.98, 726.37, 324.62, 282.73, 536.06, 622.47, 594.54, 890.74, 75.13, 290.61, 496.26, 726.27, 449.55, 548.04, 135.51, 644.61, 838.43, 290.24, 767.27,
- 162.90, 415.87, 491.71, 985.23, 116.70, 617.91, 859.64, 235.61, 282.59, 571.64, 913.20, 560.56, 194.94, 242.05, 782.79, 985.66, 728.32, 344.06, 430.86, 613.14,
- 759.90, 176.81, 309.64, 333.97, 354.41, 310.11, 699.67, 46.29, 487.22, 503.74, 100.74, 393.42, 268.61, 314.32, 75.11, 345.99, 987.79, 600.60, 908.74, 384.95,
- 92.09, 545.17, 277.13, 668.55, 351.48, 853.73, 863.11, 312.76, 100.68, 532.50, 567.78, 836.25, 370.79, 989.97, 461.42, 912.55, 182.04, 268.37, 160.27, 771.80,
- 22.69, 854.15, 644.93, 17.22, 779.43, 911.42, 855.52, 137.54, 983.70, 717.12, 565.26, 719.22, 253.48, 785.55, 154.54, 196.92, 253.81, 447.04, 899.47, 5.34,
- 325.97, 616.42, 309.07, 175.28, 159.88, 123.45, 838.83, 715.65, 550.54, 230.32, 82.39, 627.26, 324.56, 927.11, 103.12, 17.97, 966.92, 159.09, 177.28, 593.36,
- 372.91, 393.86, 599.09, 745.91, 377.05, 865.47, 591.44, 553.27, 440.27, 345.91, 593.69, 290.57, 908.14, 544.77, 377.87, 456.22, 781.05, 110.18, 495.91, 896.30,
- 806.64, 700.92, 548.12, 340.34, 29.42, 829.88, 630.52, 546.09, 613.55, 972.27, 116.31, 313.81, 904.18, 971.17, 607.11, 794.60, 169.61, 896.60, 507.27, 916.31,
- 431.26, 339.73, 147.92, 224.85, 112.36, 580.34, 834.44, 134.00, 948.54, 201.62, 488.69, 396.03, 797.99, 478.84, 769.12, 574.12, 485.10, 339.64, 721.39, 451.01,
- 821.46, 744.32, 0.32, 594.88, 277.92, 120.10, 680.48, 757.52, 555.46, 847.72, 517.32, 379.19, 505.76, 904.86, 246.20, 243.02, 394.14, 430.59, 214.70, 244.51,
- 524.70, 399.78, 172.96, 304.80, 620.47, 594.89, 535.34, 698.85, 159.58, 750.18, 809.80, 454.71, 76.00, 93.16, 167.76, 16.56, 853.29, 494.86, 324.64, 78.75,
- 52.12, 112.44, 10.83, 342.60, 730.66, 680.71, 287.57, 961.30, 92.22, 626.09, 912.54, 616.39, 860.45, 744.11, 744.54, 478.60, 615.31, 508.17, 914.51, 810.39,
- 288.65, 974.52, 129.30, 581.07, 548.96, 868.10, 981.49, 270.03, 623.03, 653.03, 626.15, 990.32, 386.70, 323.86, 472.86, 164.65, 239.77, 189.69, 865.12, 231.99,
- 356.20, 152.84, 825.88, 328.59, 390.54, 848.08, 38.56, 402.90, 616.86, 546.07, 206.41, 2.50, 783.35, 890.15, 815.17, 831.95, 665.61, 410.53, 94.20, 246.60,
- 422.12, 211.55, 675.13, 9.90, 374.19, 426.82, 64.89, 53.51, 758.63, 811.88, 500.64, 437.97, 335.95, 328.20, 237.48, 415.70, 468.47, 684.52, 565.24, 305.75,
- 449.18, 597.90, 136.86, 882.80, 383.10, 938.05, 268.60, 115.02, 908.44, 50.25, 952.61, 366.36, 397.07, 257.43, 231.61, 667.39, 35.32, 990.98, 443.25, 213.68,
- 389.05, 13.39, 621.15, 52.84, 612.70, 934.69, 953.51, 828.93, 462.31, 621.74, 812.65, 522.67, 672.37, 57.38, 313.44, 352.52, 55.66, 972.52, 753.45, 416.32,
- 879.66, 864.63, 572.40, 163.63, 721.06, 12.23, 643.51, 507.11, 968.33, 781.67, 840.17, 242.23, 630.38, 810.57, 795.03, 435.93, 885.97, 599.49, 696.83, 643.98,
- 93.08, 710.36, 785.04, 112.34, 581.66, 12.82, 923.01, 615.98, 652.77, 359.69, 261.90, 233.64, 609.49, 686.46, 539.88, 118.11, 560.80, 739.29, 20.45, 317.91,
- 976.37, 573.39, 386.70, 772.54, 663.59, 504.89, 212.06, 888.98, 907.19, 420.67, 737.06, 516.55, 25.06, 219.92, 798.00, 716.93, 452.20, 692.03, 683.97, 459.81,
- 815.55, 323.78, 612.76, 247.55, 116.16, 352.60, 281.43, 738.83, 290.13, 909.66, 645.24, 625.86, 932.73, 220.19, 685.31, 373.01, 876.04, 646.60, 412.10, 955.61,
- 664.07, 850.22, 783.40, 392.65, 707.73, 422.19, 523.39, 682.29, 37.63, 156.05, 43.20, 767.99, 124.71, 549.18, 814.54, 251.25, 214.66, 212.34, 572.71, 898.81,
- 956.34, 608.88, 651.21, 434.82
-};
-
-float input2_data[DATA_SIZE] =
-{
- 454.04, 335.65, 1.77, 989.44, 365.91, 572.77, 64.10, 153.41, 216.37, 140.33, 210.68, 572.73, 339.99, 593.28, 898.42, 228.37, 12.04, 883.21, 750.17, 646.05,
- 500.44, 436.35, 701.84, 812.45, 981.34, 150.82, 696.06, 564.27, 272.22, 258.80, 647.13, 509.06, 88.49, 703.96, 669.95, 375.24, 551.64, 936.95, 592.64, 569.16,
- 952.14, 800.96, 584.36, 643.10, 368.06, 489.01, 328.85, 313.03, 592.75, 388.47, 543.97, 649.72, 979.53, 997.36, 814.30, 79.21, 208.54, 998.28, 629.87, 847.38,
- 704.44, 997.07, 253.56, 715.50, 430.09, 415.56, 538.54, 700.34, 4.53, 494.85, 100.03, 864.77, 693.83, 416.61, 296.87, 285.92, 620.97, 78.51, 351.59, 540.87,
- 646.76, 169.92, 527.62, 289.32, 796.30, 801.60, 720.50, 758.92, 745.48, 92.20, 989.02, 271.26, 853.35, 788.60, 531.96, 222.70, 461.08, 241.60, 358.39, 332.17,
- 684.58, 740.02, 446.29, 311.97, 743.59, 557.40, 479.07, 557.42, 925.39, 796.31, 357.74, 891.05, 666.07, 514.82, 557.92, 870.02, 853.32, 440.22, 61.13, 678.78,
- 396.53, 9.60, 17.28, 170.59, 291.21, 380.26, 536.10, 185.83, 917.13, 539.78, 983.16, 887.64, 54.78, 612.25, 951.51, 479.91, 151.50, 7.63, 641.97, 335.43,
- 730.12, 95.14, 728.36, 280.47, 395.18, 688.69, 911.04, 476.88, 815.06, 729.61, 265.14, 127.81, 236.25, 214.41, 180.89, 6.46, 503.57, 596.12, 173.66, 643.66,
- 346.93, 599.78, 68.90, 849.86, 658.43, 619.45, 121.67, 131.85, 828.62, 667.11, 433.76, 487.96, 753.88, 125.79, 626.75, 14.42, 10.59, 403.62, 106.00, 703.45,
- 818.16, 964.09, 406.41, 874.40, 856.38, 86.58, 60.48, 660.95, 667.96, 153.07, 121.32, 98.11, 412.62, 236.34, 12.41, 423.64, 965.21, 216.22, 621.17, 361.66,
- 921.78, 715.22, 647.63, 299.72, 886.82, 682.62, 36.45, 493.97, 551.05, 537.23, 969.91, 643.13, 434.31, 415.39, 303.19, 438.67, 860.46, 203.12, 478.66, 988.42,
- 675.20, 719.24, 990.64, 338.47, 450.81, 633.17, 155.33, 646.75, 452.99, 427.23, 509.17, 988.99, 426.10, 12.74, 483.26, 142.23, 339.79, 390.81, 50.95, 171.16,
- 601.54, 105.47, 968.89, 121.26, 879.98, 81.89, 870.32, 600.55, 603.29, 871.73, 887.50, 610.56, 404.65, 234.16, 745.69, 526.44, 275.51, 441.57, 226.96, 752.86,
- 943.47, 726.29, 709.63, 201.25, 54.32, 758.41, 53.13, 397.79, 41.32, 141.48, 416.24, 747.81, 219.98, 478.11, 770.83, 180.06, 482.88, 691.56, 725.10, 173.62,
- 186.07, 914.28, 1.64, 963.17, 248.00, 464.70, 362.43, 521.93, 233.68, 120.84, 40.89, 779.34, 195.43, 161.24, 743.15, 439.32, 355.84, 403.26, 141.52, 633.14,
- 289.43, 782.40, 320.03, 636.26, 118.73, 852.98, 70.84, 816.16, 388.16, 954.73, 36.04, 16.68, 698.34, 695.97, 677.21, 598.79, 883.95, 824.68, 746.81, 462.54,
- 511.64, 534.37, 440.30, 428.71, 732.86, 726.51, 702.51, 547.02, 86.52, 798.67, 215.32, 21.88, 651.12, 59.56, 429.73, 657.72, 96.84, 973.02, 659.46, 966.03,
- 524.36, 62.55, 625.28, 303.09, 714.64, 409.32, 55.49, 728.91, 305.61, 436.34, 901.67, 592.86, 691.16, 796.54, 497.10, 177.90, 940.76, 995.51, 480.97, 158.27,
- 822.18, 611.21, 680.54, 14.69, 111.64, 797.48, 185.26, 0.42, 718.99, 96.96, 749.66, 739.06, 814.08, 435.19, 326.74, 37.87, 33.93, 605.81, 935.30, 27.08,
- 88.64, 441.48, 339.35, 344.49, 554.29, 365.36, 954.73, 639.24, 396.74, 991.69, 249.37, 338.14, 832.96, 974.16, 393.61, 266.20, 470.51, 348.21, 336.49, 419.51,
- 249.26, 215.93, 542.52, 903.45, 636.50, 729.85, 581.11, 820.51, 671.78, 979.39, 418.16, 670.72, 920.09, 568.34, 745.07, 662.81, 139.00, 385.86, 927.79, 173.18,
- 457.31, 316.41, 183.92, 477.45, 196.33, 399.89, 416.39, 805.73, 996.26, 270.14, 735.50, 696.71, 825.63, 528.63, 50.72, 623.80, 537.51, 87.46, 294.50, 867.57,
- 110.26, 398.60, 781.21, 646.64, 375.13, 943.34, 897.04, 589.48, 44.54, 288.17, 845.33, 742.83, 99.00, 522.57, 443.74, 432.33, 165.91, 930.88, 28.94, 461.66,
- 323.98, 272.51, 376.62, 340.73, 898.14, 158.37, 168.75, 443.51, 193.73, 631.20, 935.89, 274.02, 781.65, 185.57, 619.86, 292.35, 933.33, 156.41, 827.37, 88.76,
- 987.54, 629.48, 649.02, 32.15, 1.18, 744.89, 399.21, 915.37, 791.96, 554.59, 984.10, 530.66, 600.58, 401.77, 683.13, 540.36, 903.94, 120.85, 995.87, 521.86,
- 622.16, 224.65, 895.32, 530.33, 820.81, 651.71, 226.16, 96.13, 262.91, 569.20, 238.65, 126.49, 610.86, 191.60, 238.92, 796.97, 884.59, 573.09, 108.00, 140.59,
- 789.76, 852.96, 23.71, 704.58, 890.76, 480.51, 52.78, 372.43, 201.01, 546.61, 408.85, 119.89, 645.63, 464.84, 81.80, 293.26, 52.40, 880.11, 224.02, 744.84,
- 735.53, 886.00, 167.35, 1.88, 532.19, 321.39, 169.10, 485.71, 101.72, 177.67, 42.92, 708.17, 654.57, 915.79, 625.69, 242.14, 822.84, 795.34, 641.04, 252.42,
- 245.63, 151.34, 876.43, 333.05, 601.06, 938.92, 775.05, 397.50, 233.79, 755.78, 454.06, 424.44, 210.01, 962.37, 900.93, 923.02, 655.46, 529.87, 595.01, 90.89,
- 464.89, 685.58, 70.44, 754.90, 32.51, 494.81, 25.80, 389.38, 488.21, 37.40, 409.08, 639.86, 27.63, 950.87, 539.51, 80.51, 303.34, 723.69, 734.88, 125.98,
- 552.69, 248.59, 107.29, 362.31, 48.68, 869.57, 144.74, 841.18, 724.89, 335.10, 470.53, 263.38, 343.02, 809.49, 677.01, 339.36, 336.03, 410.43, 465.15, 56.81,
- 590.66, 485.63, 406.57, 993.51, 746.33, 238.91, 525.16, 336.30, 256.11, 134.76, 546.41, 722.96, 367.62, 943.94, 106.51, 629.33, 396.50, 208.74, 429.60, 523.82,
- 130.87, 355.83, 990.83, 673.36, 991.28, 719.97, 449.14, 84.94, 616.26, 211.40, 707.51, 737.36, 847.35, 452.81, 316.11, 974.19, 746.34, 796.57, 522.31, 618.19,
- 115.11, 727.59, 226.00, 165.86, 200.08, 830.23, 742.47, 187.65, 705.02, 671.77, 785.22, 886.33, 962.57, 657.86, 293.97, 620.08, 144.34, 173.29, 796.21, 72.50,
- 678.01, 80.06, 793.33, 685.03, 637.56, 967.37, 241.53, 898.52, 693.00, 372.64, 601.23, 721.30, 398.50, 553.18, 72.92, 174.85, 978.42, 325.01, 558.77, 185.25,
- 505.93, 860.00, 651.31, 573.60, 321.32, 349.19, 400.24, 890.35, 844.52, 885.04, 933.02, 980.84, 448.61, 989.45, 50.53, 332.36, 900.28, 716.93, 747.86, 444.23,
- 6.62, 394.55, 285.73, 703.44, 450.70, 652.55, 771.82, 485.17, 534.56, 559.01, 481.51, 507.24, 434.52, 343.63, 42.42, 784.26, 865.65, 421.89, 415.22, 871.79,
- 539.58, 162.47, 105.09, 481.92, 595.44, 115.11, 350.01, 964.58, 287.38, 232.55, 154.11, 602.37, 539.48, 943.16, 872.17, 121.26, 652.20, 811.95, 747.88, 362.25,
- 340.41, 910.73, 206.71, 572.95, 505.78, 973.87, 961.61, 354.74, 627.25, 849.72, 971.69, 910.80, 410.29, 770.61, 63.75, 874.84, 396.21, 482.65, 619.93, 646.52,
- 557.70, 328.81, 67.74, 884.16, 512.52, 972.25, 6.13, 513.12, 882.90, 562.88, 764.78, 366.50, 506.01, 786.96, 831.46, 382.69, 638.33, 452.86, 72.80, 83.99,
- 59.48, 932.56, 929.17, 924.31, 961.79, 69.09, 797.94, 985.49, 854.03, 885.08, 600.77, 389.36, 232.77, 793.58, 179.91, 773.67, 689.88, 775.80, 494.89, 139.65,
- 234.41, 431.79, 780.34, 371.94, 22.47, 653.95, 741.81, 815.30, 429.00, 139.33, 603.92, 315.04, 344.80, 889.48, 317.27, 260.28, 861.63, 377.78, 511.76, 304.06,
- 70.19, 35.87, 854.09, 576.98, 490.35, 326.55, 303.50, 431.21, 813.10, 708.96, 388.67, 962.18, 967.95, 442.52, 49.02, 831.49, 251.65, 321.36, 741.45, 179.51,
- 176.27, 117.00, 523.73, 764.26, 952.82, 704.67, 531.80, 804.94, 23.61, 611.10, 846.79, 375.26, 854.69, 971.77, 24.05, 639.17, 318.66, 723.53, 662.84, 647.47,
- 281.11, 158.85, 294.58, 885.85, 734.06, 866.60, 471.06, 296.09, 673.55, 472.93, 439.09, 5.93, 155.39, 506.79, 948.50, 600.40, 445.21, 222.05, 784.59, 349.77,
- 943.37, 150.14, 366.16, 444.22, 604.60, 720.40, 340.70, 972.58, 911.45, 321.49, 435.22, 50.43, 78.96, 761.04, 950.33, 238.41, 27.06, 226.17, 201.43, 176.53,
- 877.51, 450.94, 879.63, 99.89, 143.28, 31.66, 812.36, 771.31, 527.29, 488.63, 797.10, 194.25, 293.72, 966.52, 276.35, 345.26, 413.02, 197.52, 386.04, 116.36,
- 322.72, 680.35, 538.15, 554.00, 960.31, 874.79, 48.72, 506.93, 898.24, 539.71, 495.50, 764.01, 805.12, 286.44, 432.09, 836.98, 192.15, 825.36, 778.42, 586.55,
- 359.37, 352.70, 746.78, 11.34, 749.69, 5.98, 408.76, 643.32, 441.94, 368.15, 97.74, 169.62, 359.25, 527.49, 672.31, 69.39, 880.66, 298.11, 300.84, 327.09,
- 923.83, 829.55, 816.51, 497.50, 243.91, 981.12, 917.21, 713.38, 653.91, 503.75, 406.65, 543.57, 108.87, 304.66, 464.10, 954.74, 86.37, 802.71, 446.02, 28.16,
- 539.76, 655.37, 28.71, 470.59, 735.85, 941.08, 610.37, 451.33, 672.34, 237.47, 766.04, 713.35, 409.69, 869.06, 186.75, 475.83, 568.73, 44.08, 997.88, 139.85,
- 456.29, 470.05, 566.52, 408.79
-};
-
-float verify_data[DATA_SIZE] =
-{
- 495.63, 1169.63, 566.69, 1176.85, 1115.65, 923.63, 196.52, 1103.31, 800.44, 946.03, 832.12, 579.30, 1271.72, 1483.47, 1290.93, 922.67, 973.54, 994.06, 866.81, 942.68,
- 926.59, 750.61, 1361.22, 1586.49, 1300.84, 829.78, 1571.21, 941.26, 746.74, 1197.19, 1186.78, 1078.26, 291.58, 984.55, 1429.12, 981.74, 1063.38, 1594.80, 787.78, 650.92,
- 1219.28, 1030.07, 922.15, 1587.41, 1270.39, 730.77, 1241.89, 1139.44, 1525.85, 1374.42, 739.91, 1609.95, 1546.39, 1348.24, 1463.38, 736.32, 389.61, 1110.21, 1488.91, 912.76,
- 992.84, 1346.40, 395.18, 1620.78, 1316.18, 679.69, 1115.23, 1679.96, 765.68, 735.85, 578.79, 1364.33, 1096.91, 638.70, 740.87, 1007.04, 1297.08, 396.49, 575.61, 1478.78,
- 934.92, 289.41, 1142.74, 895.34, 1185.93, 1152.77, 1175.57, 1037.12, 1113.42, 450.84, 1573.31, 334.07, 1838.73, 1191.90, 878.61, 740.34, 1020.32, 1149.83, 1133.92, 587.39,
- 1463.34, 1338.72, 589.95, 345.84, 868.80, 1498.73, 1412.65, 1357.10, 1478.39, 1227.79, 1006.65, 1843.31, 953.88, 534.37, 607.77, 956.35, 948.69, 881.54, 648.39, 1293.73,
- 778.68, 290.54, 825.76, 1142.18, 1110.55, 725.01, 987.02, 698.44, 1882.36, 887.56, 1791.84, 1770.09, 592.34, 1558.82, 1652.77, 835.96, 719.46, 899.23, 664.05, 903.48,
- 1396.04, 518.20, 1162.70, 439.42, 397.65, 772.71, 1158.74, 526.29, 1250.34, 1522.57, 1134.26, 614.25, 650.49, 583.54, 729.60, 524.55, 1391.95, 1278.39, 458.49, 908.20,
- 846.41, 890.50, 966.06, 1065.12, 1389.53, 1308.07, 372.88, 918.11, 1384.40, 969.38, 962.13, 1032.60, 1076.19, 1073.28, 914.24, 838.56, 315.50, 1192.41, 839.63, 1663.34,
- 1184.70, 1686.79, 700.69, 1849.94, 1509.85, 835.52, 151.84, 1039.76, 773.51, 256.03, 503.21, 749.88, 1238.18, 1076.99, 369.33, 571.92, 1019.76, 356.41, 1576.64, 704.75,
- 1455.51, 1472.74, 1169.31, 1137.32, 1479.12, 695.76, 209.72, 557.09, 672.13, 670.97, 1728.14, 1015.15, 1386.02, 454.90, 433.10, 549.65, 1708.33, 640.17, 734.17, 1257.85,
- 1084.79, 1347.56, 1389.80, 887.96, 1204.24, 1197.28, 326.78, 666.15, 1180.43, 928.80, 1287.07, 1032.07, 1180.09, 94.13, 685.73, 995.48, 493.52, 1151.15, 408.17, 1114.49,
- 1524.20, 433.83, 1465.62, 563.97, 1396.91, 723.51, 1147.02, 1386.71, 717.25, 1714.24, 1794.58, 885.95, 641.78, 267.14, 1530.24, 1091.63, 632.86, 1245.24, 1046.10, 1504.05,
- 1223.69, 811.73, 1168.43, 656.17, 765.15, 1217.91, 95.02, 650.84, 419.21, 649.88, 1116.37, 1608.19, 700.41, 1219.33, 1270.55, 889.25, 532.70, 1062.99, 1598.94, 1119.37,
- 1178.37, 1441.16, 723.46, 1398.57, 480.94, 961.90, 1060.27, 552.90, 582.30, 371.55, 391.32, 1030.28, 769.01, 945.25, 1492.23, 941.67, 1179.47, 1229.81, 311.71, 793.56,
- 964.38, 814.96, 522.52, 779.87, 972.03, 943.17, 465.51, 923.71, 1243.30, 1061.68, 193.53, 22.70, 1464.04, 900.06, 872.18, 1173.28, 1102.63, 1350.75, 924.32, 702.08,
- 1210.63, 1291.41, 1146.94, 478.30, 817.32, 1526.45, 1595.77, 1059.94, 459.94, 1291.29, 230.02, 643.22, 734.35, 163.08, 1224.35, 1579.24, 739.99, 1853.34, 1493.65, 1205.98,
- 986.54, 176.68, 1186.45, 833.02, 724.94, 1406.38, 960.15, 1115.99, 713.18, 541.81, 1460.84, 1529.83, 1204.00, 1205.70, 799.72, 380.19, 1368.62, 1609.47, 840.13, 679.74,
- 1506.54, 633.28, 866.21, 327.23, 218.80, 1072.27, 572.78, 243.33, 1205.41, 202.56, 1448.61, 1638.72, 1584.11, 1080.07, 407.61, 199.82, 441.20, 1551.94, 965.44, 795.64,
- 959.34, 555.31, 488.27, 406.73, 701.51, 1203.74, 1799.83, 1072.04, 538.08, 1203.05, 1066.74, 1159.37, 1395.75, 1338.61, 1009.44, 761.86, 1282.53, 1265.02, 496.10, 850.27,
- 1052.65, 396.25, 1087.04, 1744.14, 1094.86, 1516.72, 1453.94, 1616.13, 1478.13, 1737.48, 522.87, 1072.44, 1174.25, 1552.93, 881.42, 1392.32, 723.46, 1180.41, 1342.61, 701.77,
- 1164.72, 870.50, 562.36, 1244.36, 1173.48, 636.73, 1364.08, 1035.71, 1161.69, 775.92, 840.61, 1401.61, 1621.91, 668.97, 354.52, 1419.21, 1172.70, 647.51, 413.69, 876.51,
- 642.38, 1212.78, 818.58, 1231.63, 1115.00, 1562.69, 1664.33, 1067.59, 102.18, 1246.92, 1629.75, 1728.50, 936.44, 830.21, 511.66, 1256.62, 1162.52, 1680.10, 200.55, 1287.67,
- 945.54, 427.81, 1202.72, 384.08, 1592.24, 239.35, 405.04, 1191.17, 937.99, 897.12, 1060.18, 1005.41, 1723.60, 611.18, 990.11, 612.63, 1202.58, 699.39, 1590.74, 841.09,
- 1903.33, 643.97, 650.04, 938.41, 996.74, 1554.70, 960.19, 1789.12, 1764.47, 843.99, 1493.67, 1089.42, 1570.66, 807.37, 1262.68, 833.91, 1155.12, 970.59, 1124.96, 974.72,
- 1338.35, 311.26, 1574.08, 712.10, 1061.67, 987.70, 1020.03, 737.85, 264.38, 889.41, 1225.92, 773.42, 1365.73, 1150.43, 442.54, 939.08, 1064.75, 873.07, 273.93, 902.05,
- 1764.15, 1499.80, 583.52, 1324.39, 1313.75, 741.33, 618.68, 914.59, 693.50, 1538.31, 1154.48, 327.54, 1018.09, 1397.45, 746.21, 328.09, 586.35, 1358.57, 1132.98, 947.89,
- 769.17, 1100.19, 533.13, 894.29, 1313.62, 1001.59, 874.31, 1174.35, 1048.89, 564.06, 93.33, 809.48, 1129.55, 1314.88, 1304.70, 572.27, 1775.82, 1267.01, 1118.51, 978.19,
- 959.40, 1089.10, 1405.59, 1203.46, 679.05, 1484.27, 1682.75, 1251.06, 377.47, 1735.35, 693.27, 530.23, 575.65, 1061.01, 955.49, 1021.06, 1095.51, 1294.81, 910.64, 427.66,
- 1162.01, 1460.55, 796.81, 1079.52, 315.24, 1030.87, 648.27, 983.92, 1378.95, 112.53, 699.70, 1136.13, 753.89, 1400.42, 1087.55, 216.02, 947.95, 1562.12, 1025.12, 893.25,
- 715.59, 664.46, 599.00, 1347.54, 165.38, 1487.48, 1004.37, 1076.79, 1007.48, 906.74, 1383.74, 823.94, 537.97, 1051.54, 1459.79, 1325.02, 1064.35, 754.49, 896.01, 669.95,
- 1350.57, 662.43, 716.21, 1327.48, 1100.74, 549.02, 1224.82, 382.59, 743.32, 638.50, 647.15, 1116.38, 636.23, 1258.26, 181.62, 975.32, 1384.29, 809.34, 1338.34, 908.77,
- 222.96, 901.00, 1267.96, 1341.91, 1342.76, 1573.69, 1312.25, 397.71, 716.94, 743.90, 1275.29, 1573.61, 1218.13, 1442.78, 777.53, 1886.74, 928.38, 1064.95, 682.57, 1389.99,
- 137.80, 1581.75, 870.93, 183.08, 979.51, 1741.65, 1598.00, 325.19, 1688.71, 1388.89, 1350.48, 1605.55, 1216.06, 1443.41, 448.51, 816.99, 398.15, 620.33, 1695.69, 77.84,
- 1003.98, 696.49, 1102.40, 860.31, 797.44, 1090.82, 1080.36, 1614.18, 1243.54, 602.96, 683.61, 1348.56, 723.06, 1480.29, 176.04, 192.82, 1945.34, 484.10, 736.05, 778.60,
- 878.83, 1253.86, 1250.40, 1319.50, 698.36, 1214.66, 991.67, 1443.62, 1284.79, 1230.94, 1526.71, 1271.40, 1356.76, 1534.22, 428.41, 788.58, 1681.33, 827.11, 1243.77, 1340.54,
- 813.27, 1095.47, 833.86, 1043.78, 480.13, 1482.43, 1402.35, 1031.26, 1148.11, 1531.28, 597.82, 821.05, 1338.69, 1314.80, 649.53, 1578.87, 1035.26, 1318.49, 922.49, 1788.10,
- 970.84, 502.20, 253.02, 706.77, 707.80, 695.45, 1184.45, 1098.58, 1235.92, 434.17, 642.81, 998.40, 1337.46, 1422.00, 1641.30, 695.39, 1137.30, 1151.58, 1469.27, 813.26,
- 1161.87, 1655.05, 207.04, 1167.83, 783.70, 1093.98, 1642.08, 1112.26, 1182.71, 1697.44, 1489.02, 1289.98, 916.05, 1675.47, 309.95, 1117.86, 790.35, 913.24, 834.63, 891.03,
- 1082.40, 728.59, 240.69, 1188.95, 1132.99, 1567.14, 541.47, 1211.96, 1042.48, 1313.06, 1574.58, 821.21, 582.01, 880.12, 999.23, 399.25, 1491.61, 947.72, 397.45, 162.75,
- 111.60, 1045.00, 940.01, 1266.90, 1692.45, 749.80, 1085.51, 1946.78, 946.25, 1511.17, 1513.31, 1005.75, 1093.23, 1537.69, 924.45, 1252.27, 1305.19, 1283.97, 1409.40, 950.03,
- 523.06, 1406.31, 909.64, 953.01, 571.43, 1522.05, 1723.30, 1085.33, 1052.03, 792.36, 1230.06, 1305.36, 731.50, 1213.35, 790.13, 424.94, 1101.40, 567.48, 1376.87, 536.06,
- 426.39, 188.71, 1679.97, 905.57, 880.88, 1174.62, 342.05, 834.11, 1429.95, 1255.03, 595.08, 964.68, 1751.30, 1332.67, 864.20, 1663.44, 917.26, 731.89, 835.65, 426.11,
- 598.39, 328.55, 1198.86, 774.17, 1327.00, 1131.50, 596.69, 858.45, 782.24, 1422.98, 1347.43, 813.23, 1190.64, 1299.97, 261.53, 1054.87, 787.13, 1408.05, 1228.08, 953.22,
- 730.28, 756.75, 431.44, 1768.64, 1117.16, 1804.65, 739.66, 411.11, 1581.98, 523.18, 1391.70, 372.29, 552.46, 764.22, 1180.11, 1267.78, 480.53, 1213.03, 1227.84, 563.46,
- 1332.42, 163.53, 987.30, 497.06, 1217.30, 1655.09, 1294.21, 1801.51, 1373.76, 943.23, 1247.88, 573.11, 751.33, 818.42, 1263.77, 590.93, 82.72, 1198.69, 954.88, 592.85,
- 1757.16, 1315.57, 1452.03, 263.52, 864.34, 43.90, 1455.87, 1278.42, 1495.61, 1270.29, 1637.27, 436.48, 924.10, 1777.09, 1071.38, 781.19, 1298.99, 797.01, 1082.87, 760.34,
- 415.80, 1390.71, 1323.19, 666.33, 1541.97, 887.62, 971.73, 1122.91, 1551.00, 899.40, 757.40, 997.65, 1414.61, 972.90, 971.97, 955.10, 752.96, 1564.64, 798.87, 904.46,
- 1335.73, 926.08, 1133.48, 783.88, 1413.28, 510.87, 620.83, 1532.29, 1349.13, 788.82, 834.80, 686.17, 384.31, 747.41, 1470.31, 786.32, 1332.86, 990.15, 984.81, 786.91,
- 1739.38, 1153.33, 1429.27, 745.05, 360.07, 1333.72, 1198.64, 1452.21, 944.04, 1413.41, 1051.90, 1169.43, 1041.60, 524.85, 1149.41, 1327.75, 962.41, 1449.32, 858.12, 983.77,
- 1203.83, 1505.59, 812.11, 863.24, 1443.57, 1363.27, 1133.76, 1133.62, 709.97, 393.53, 809.24, 1481.34, 534.41, 1418.23, 1001.29, 727.08, 783.39, 256.43, 1570.59, 1038.65,
- 1412.63, 1078.93, 1217.72, 843.61
-};
-
diff --git a/benchmarks/vec-vvadd/dataset_test.h b/benchmarks/vec-vvadd/dataset_test.h
deleted file mode 100644
index 8b7ec21..0000000
--- a/benchmarks/vec-vvadd/dataset_test.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// See LICENSE for license details.
-
-
-#define DATA_SIZE 4
-
-float input1_data[DATA_SIZE] =
-{
- 41.59, 833.98, 564.92, 187.40
-};
-
-float input2_data[DATA_SIZE] =
-{
- 454.04, 335.65, 1.77, 989.44
-};
-
-float verify_data[DATA_SIZE] =
-{
- 495.63, 1169.63, 566.69, 1176.85
-};
-
diff --git a/benchmarks/vec-vvadd/vec_vvadd_asm.S b/benchmarks/vec-vvadd/vec_vvadd_asm.S
deleted file mode 100644
index c4d0534..0000000
--- a/benchmarks/vec-vvadd/vec_vvadd_asm.S
+++ /dev/null
@@ -1,110 +0,0 @@
-# See LICENSE for license details.
-
-#*****************************************************************************
-# vvadd function (assembly version)
-#-----------------------------------------------------------------------------
-
-
-#--------------------------------------------------------------------------
-# Headers and Defines
-#--------------------------------------------------------------------------
-
-# Here are some defines that make writing assembly code easier.
-
-# I'm using the knowledge that rN will be placed in register a0, rA will be
-# placed into register a1, etc., based on the calling convention for functions.
-
-#define rN a0
-#define rA a1
-#define rB a2
-#define rC a3
-
-#define rVLen a4
-
-# WARNING: do not write to the s0,...,s9 registers without first saving them to
-# the stack.
-
-#--------------------------------------------------------------------------
-# void scalar_vvadd_asm( int n, float a[], float b[], float c[] )
-#--------------------------------------------------------------------------
-
- .text
- .align 2
- .globl scalar_vvadd_asm
- .type scalar_vvadd_asm,@function
-
-scalar_vvadd_asm:
-
- # ***** Scalar Example *****
-
- beq rN, zero, done # exit early if n == 0
-
-loop:
- flw f2, 0(rA)
- flw f3, 0(rB)
- fadd.s f2, f2, f3
- fsw f2, 0(rC)
- addi rN, rN, -1
- addi rA, rA, 4
- addi rB, rB, 4
- addi rC, rC, 4
- bne rN, zero, loop
-done:
- ret
-
-
-#--------------------------------------------------------------------------
-# void vt_vvadd_asm( int n, float a[], float b[], float c[] )
-#--------------------------------------------------------------------------
-
-
- # ***** Vector-Thread Example *****
-
- .globl vt_vvadd_asm
- .type vt_vvadd_asm,@function
-
-vt_vvadd_asm:
-
- beq rN, zero, cpdone
- la a5, vtcode
-
- # First, configure the vector unit.
- # rd (given vlen), desired vlen, num of x-regs, num of f-regs
- # For vvadd, we do not need to use any x-registers, and only two
- # floating point registers. By using fewer registers, hwacha can give us a longer vector length!
- # But make sure to use registers starting from x0, f0!
- # WARNING: there is a BUG if you tell it you want 0 registers of any type!
- # So here I'm asking for 1 x-register, even though I don't use any of them.
- vvcfgivl rVLen, rN, 1, 2
-
-
-stripmineloop:
- vsetvl rVLen, rN # set the vector length
- # rN is the desired (application) vector length
- # rVLen is what vector length we were given
-
- vflw vf0, rA # vector loads
- vflw vf1, rB
- vf 0(a5) # jump to vector-fetch code
- vfsw vf0, rC # vector store
-
- sub rN, rN, rVLen # book keeping
- slli a6, rVLen, 2 # turn num_elements into num_bytes
- add rA, rA, a6
- add rB, rB, a6
- add rC, rC, a6
- bne rN, zero, stripmineloop
-
-cpdone:
- fence.v.l # make stores visible to the control processor
- ret
-
-vtcode:
- fadd.s f0, f0, f1
- stop
-
- # The C code uses a jalr instruction to call this function
- # so we can use a jr to return back to where the function
- # was called. Also known as "ret", for "return".
-
- ret
diff --git a/benchmarks/vec-vvadd/vec_vvadd_main.c b/benchmarks/vec-vvadd/vec_vvadd_main.c
deleted file mode 100644
index 6b53871..0000000
--- a/benchmarks/vec-vvadd/vec_vvadd_main.c
+++ /dev/null
@@ -1,200 +0,0 @@
-// See LICENSE for license details.
-
-//**************************************************************************
-// Vector-Thread Vector-vector add benchmark
-//--------------------------------------------------------------------------
-//
-// This benchmark uses adds to vectors and writes the results to a third
-// vector. The input data (and reference data) should be generated using the
-// vvadd_gendata.pl perl script and dumped to a file named dataset.h.
-
-// Choose which implementation you wish to test... but leave only one on!
-// (only the first one will be executed).
-//#define SCALAR_C
-//#define SCALAR_ASM
-#define VT_ASM
-
-//--------------------------------------------------------------------------
-// Input/Reference Data
-
-//#include "dataset_test.h"
-#include "dataset.h"
-
-//--------------------------------------------------------------------------
-// Helper functions
-
-int verify( int n, float test[], float correct[] )
-{
- int i;
- for ( i = 0; i < n; i++ ) {
-// if ( test[i] != correct[i] ) {
- if ( test[i] > 1.02*correct[i]
- || test[i] < 0.98*correct[i]) {
-#if HOST_DEBUG
- printf(" test[%d] : %3.2f\n", i, test[i]);
- printf(" corr[%d] : %3.2f\n", i, correct[i]);
-#endif
- // tell us which index fails + 2
- // (so that if i==0,i==1 fails, we don't
- // think it was a 'not-finished yet' or pass)
-// return i+10;
- return 2;
- }
- }
- return 1;
-}
-
-void finishTest( int correct, long long num_cycles, long long num_retired )
-{
- int toHostValue = correct;
-#if HOST_DEBUG
- if ( toHostValue == 1 )
- printf( "*** PASSED ***\n" );
- else
- printf( "*** FAILED *** (tohost = %d)\n", toHostValue );
- exit(0);
-#else
- // we no longer run in -testrun mode, which means we can't use
- // the tohost register to communicate "test is done" and "test results"
- // so instead we will communicate through print* functions!
- if ( correct == 1 )
- {
- printstr( "*** PASSED *** (num_cycles = 0x" );
- printhex(num_cycles);
- printstr( ", num_inst_retired = 0x");
- printhex(num_retired);
- printstr( ")\n" );
- }
- else
- {
- printstr( "*** FAILED *** (num_cycles = 0x");
- printhex(num_cycles);
- printstr( ", num_inst_retired = 0x");
- printhex(num_retired);
- printstr( ")\n" );
- }
- exit();
-#endif
-}
-
-
-// deprecated - cr10/stats-enable register no longer exists
-void setStats( int enable )
-{
-#if ( !HOST_DEBUG && SET_STATS )
- asm( "mtpcr %0, cr10" : : "r" (enable) );
-#endif
-}
-
-long long getCycles()
-{
- long long cycles = 1337;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdcycle %0" : "=r" (cycles) );
-#endif
- return cycles;
-}
-
-long long getInstRetired()
-{
- long long inst_retired = 1338;
-#if ( !HOST_DEBUG && SET_STATS )
- __asm__ __volatile__( "rdinstret %0" : "=r" (inst_retired) );
-#endif
- return inst_retired;
-}
-
-//--------------------------------------------------------------------------
-// vvadd function
-
-// scalar C implementation
-void vvadd( int n, float a[], float b[], float c[] )
-{
- int i;
- for ( i = 0; i < n; i++ )
- c[i] = a[i] + b[i];
-}
-
-// assembly implementations can be found in *_asm.S
-
-//--------------------------------------------------------------------------
-// Main
-
-int main( int argc, char* argv[] )
-{
- float results_data[DATA_SIZE];
- long long start_cycles = 0;
- long long stop_cycles = 0;
- long long num_cycles;
- long long start_retired = 0;
- long long stop_retired = 0;
- long long num_retired;
-
- // Output the input array
-
-#if HOST_DEBUG
- printArray( "input1", DATA_SIZE, input1_data );
- printArray( "input2", DATA_SIZE, input2_data );
- printArray( "verify", DATA_SIZE, verify_data );
-#endif
-
- // --------------------------------------------------
- // If needed we preallocate everything in the caches
-
-#if PREALLOCATE
-
-#ifdef SCALAR_C
- vvadd( DATA_SIZE, input1_data, input2_data, results_data );
-#else
-#ifdef SCALAR_ASM
- scalar_vvadd_asm( DATA_SIZE, input1_data, input2_data, results_data );
-#else
-#ifdef VT_ASM
- vt_vvadd_asm( DATA_SIZE, input1_data, input2_data, results_data );
-#endif
-#endif
-#endif
-
-#endif
-
- // --------------------------------------------------
- // Do the vvadd
- start_cycles = getCycles();
- start_retired = getInstRetired();
-
-#ifdef SCALAR_C
- vvadd( DATA_SIZE, input1_data, input2_data, results_data );
-#else
-#ifdef SCALAR_ASM
- #if HOST_DEBUG==0
- scalar_vvadd_asm( DATA_SIZE, input1_data, input2_data, results_data );
- #endif
-#else
-#ifdef VT_ASM
- #if HOST_DEBUG==0
- vt_vvadd_asm( DATA_SIZE, input1_data, input2_data, results_data );
- #endif
-#endif
-#endif
-#endif
-
- stop_cycles = getCycles();
- stop_retired = getInstRetired();
- num_cycles = stop_cycles - start_cycles;
- num_retired = stop_retired - start_retired;
-
-// printstr("stop_cycles: "); printhex(stop_cycles); printstr("\n");
-// printstr("star_cycles: "); printhex(start_cycles); printstr("\n");
-
- // --------------------------------------------------
- // Print out the results
-
-#if HOST_DEBUG
- printArray( "results", DATA_SIZE, results_data );
-#endif
-
- // --------------------------------------------------
- // Check the results
- int correct = verify( DATA_SIZE, results_data, verify_data );
- finishTest(correct, num_cycles, num_retired);
-}
diff --git a/benchmarks/vec-vvadd/vvadd_gendata.pl b/benchmarks/vec-vvadd/vvadd_gendata.pl
deleted file mode 100755
index 10fc4e9..0000000
--- a/benchmarks/vec-vvadd/vvadd_gendata.pl
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/usr/bin/perl -w
-#==========================================================================
-# vvadd_gendata.pl
-#
-# Author : Christopher Batten (cbatten@mit.edu)
-# Date : April 29, 2005
-#
-(our $usageMsg = <<'ENDMSG') =~ s/^\#//gm;
-#
-# Simple script which creates an input data set and the reference data
-# for the vvadd benchmark.
-#
-ENDMSG
-
-use strict "vars";
-use warnings;
-no warnings("once");
-use Getopt::Long;
-
-#--------------------------------------------------------------------------
-# Command line processing
-#--------------------------------------------------------------------------
-
-our %opts;
-
-sub usage()
-{
-
- print "\n";
- print " Usage: vvadd_gendata.pl [options] \n";
- print "\n";
- print " Options:\n";
- print " --help print this message\n";
- print " --size size of input data [1000]\n";
- print " --seed random seed [1]\n";
- print "$usageMsg";
-
- exit();
-}
-
-sub processCommandLine()
-{
-
- $opts{"help"} = 0;
- $opts{"size"} = 1000;
- $opts{"seed"} = 1;
- Getopt::Long::GetOptions( \%opts, 'help|?', 'size:i', 'seed:i' ) or usage();
- $opts{"help"} and usage();
-
-}
-
-#--------------------------------------------------------------------------
-# Helper Functions
-#--------------------------------------------------------------------------
-
-sub printArray
-{
- my $arrayName = $_[0];
- my $arrayRef = $_[1];
-
- my $numCols = 20;
- my $arrayLen = scalar(@{$arrayRef});
-
- print "float ".$arrayName."[DATA_SIZE] = \n";
- print "{\n";
-
- if ( $arrayLen <= $numCols ) {
- print " ";
- for ( my $i = 0; $i < $arrayLen; $i++ ) {
- print sprintf("%3.2f",$arrayRef->[$i]);
- if ( $i != $arrayLen-1 ) {
- print ", ";
- }
- }
- print "\n";
- }
-
- else {
- my $numRows = int($arrayLen/$numCols);
- for ( my $j = 0; $j < $numRows; $j++ ) {
- print " ";
- for ( my $i = 0; $i < $numCols; $i++ ) {
- my $index = $j*$numCols + $i;
- print sprintf("%3.2f",$arrayRef->[$index]);
- if ( $index != $arrayLen-1 ) {
- print ", ";
- }
- }
- print "\n";
- }
-
- if ( $arrayLen > ($numRows*$numCols) ) {
- print " ";
- for ( my $i = 0; $i < ($arrayLen-($numRows*$numCols)); $i++ ) {
- my $index = $numCols*$numRows + $i;
- print sprintf("%3.2f",$arrayRef->[$index]);
- if ( $index != $arrayLen-1 ) {
- print ", ";
- }
- }
- print "\n";
- }
-
- }
-
- print "};\n\n";
-}
-
-#--------------------------------------------------------------------------
-# Main
-#--------------------------------------------------------------------------
-
-sub main()
-{
-
- processCommandLine();
- srand($opts{"seed"});
-
- my @values1;
- my @values2;
- my @sum;
- for ( my $i = 0; $i < $opts{"size"}; $i++ ) {
- my $value1 = (rand(999));
- my $value2 = (rand(999));
- push( @values1, $value1 );
- push( @values2, $value2 );
- push( @sum, $value1 + $value2 );
- }
-
-
- print "\n\#define DATA_SIZE ".$opts{"size"}." \n\n";
- printArray( "input1_data", \@values1 );
- printArray( "input2_data", \@values2 );
- printArray( "verify_data", \@sum );
-
-}
-
-main();
-