diff --git a/Source/FilteringFunctions/FilteringFunctions.c b/Source/FilteringFunctions/FilteringFunctions.c
index eef61ff2e..e1b456ab5 100644
--- a/Source/FilteringFunctions/FilteringFunctions.c
+++ b/Source/FilteringFunctions/FilteringFunctions.c
@@ -71,9 +71,11 @@
#include "arm_correlate_q31.c"
#include "arm_correlate_q7.c"
#include "arm_fir_decimate_f32.c"
+#include "arm_fir_decimate_f64.c"
#include "arm_fir_decimate_fast_q15.c"
#include "arm_fir_decimate_fast_q31.c"
#include "arm_fir_decimate_init_f32.c"
+#include "arm_fir_decimate_init_f64.c"
#include "arm_fir_decimate_init_q15.c"
#include "arm_fir_decimate_init_q31.c"
#include "arm_fir_decimate_q15.c"
diff --git a/Source/FilteringFunctions/arm_fir_decimate_f64.c b/Source/FilteringFunctions/arm_fir_decimate_f64.c
index 3dcb93206..62e621642 100644
--- a/Source/FilteringFunctions/arm_fir_decimate_f64.c
+++ b/Source/FilteringFunctions/arm_fir_decimate_f64.c
@@ -32,85 +32,6 @@
@ingroup groupFilters
*/
-/**
- @defgroup FIR_decimate Finite Impulse Response (FIR) Decimator
-
- These functions combine an FIR filter together with a decimator.
- They are used in multirate systems for reducing the sample rate of a signal without introducing aliasing distortion.
- Conceptually, the functions are equivalent to the block diagram below:
- \image html FIRDecimator.gif "Components included in the FIR Decimator functions"
- When decimating by a factor of M
, the signal should be prefiltered by a lowpass filter with a normalized
- cutoff frequency of 1/M
in order to prevent aliasing distortion.
- The user of the function is responsible for providing the filter coefficients.
-
- The FIR decimator functions provided in the CMSIS DSP Library combine the FIR filter and the decimator in an efficient manner.
- Instead of calculating all of the FIR filter outputs and discarding M-1
out of every M
, only the
- samples output by the decimator are computed.
- The functions operate on blocks of input and output data.
- pSrc
points to an array of blockSize
input values and
- pDst
points to an array of blockSize/M
output values.
- In order to have an integer number of output samples blockSize
- must always be a multiple of the decimation factor M
.
-
- The library provides separate functions for Q15, Q31 and floating-point data types.
-
- @par Algorithm:
- The FIR portion of the algorithm uses the standard form filter:
-
- y[n] = b[0] * x[n] + b[1] * x[n-1] + b[2] * x[n-2] + ...+ b[numTaps-1] * x[n-numTaps+1]
-
- where, b[n]
are the filter coefficients.
- @par
- The pCoeffs
points to a coefficient array of size numTaps
.
- Coefficients are stored in time reversed order.
- @par
-
- {b[numTaps-1], b[numTaps-2], b[N-2], ..., b[1], b[0]}
-
- @par
- pState
points to a state array of size numTaps + blockSize - 1
.
- Samples in the state buffer are stored in the order:
- @par
-
- {x[n-numTaps+1], x[n-numTaps], x[n-numTaps-1], x[n-numTaps-2]....x[0], x[1], ..., x[blockSize-1]}
-
- The state variables are updated after each block of data is processed, the coefficients are untouched.
-
- @par Instance Structure
- The coefficients and state variables for a filter are stored together in an instance data structure.
- A separate instance structure must be defined for each filter.
- Coefficient arrays may be shared among several instances while state variable array should be allocated separately.
- There are separate instance structure declarations for each of the 3 supported data types.
-
- @par Initialization Functions
- There is also an associated initialization function for each data type.
- The initialization function performs the following operations:
- - Sets the values of the internal structure fields.
- - Zeros out the values in the state buffer.
- - Checks to make sure that the size of the input is a multiple of the decimation factor.
- To do this manually without calling the init function, assign the follow subfields of the instance structure:
- numTaps, pCoeffs, M (decimation factor), pState. Also set all of the values in pState to zero.
- @par
- Use of the initialization function is optional.
- However, if the initialization function is used, then the instance structure cannot be placed into a const data section.
- To place an instance structure into a const data section, the instance structure must be manually initialized.
- The code below statically initializes each of the 3 different data type filter instance structures
-
- arm_fir_decimate_instance_f64 S = {M, numTaps, pCoeffs, pState};
- arm_fir_decimate_instance_q31 S = {M, numTaps, pCoeffs, pState};
- arm_fir_decimate_instance_q15 S = {M, numTaps, pCoeffs, pState};
-
- where M
is the decimation factor; numTaps
is the number of filter coefficients in the filter;
- pCoeffs
is the address of the coefficient buffer;
- pState
is the address of the state buffer.
- Be sure to set the values in the state buffer to zeros when doing static initialization.
-
- @par Fixed-Point Behavior
- Care must be taken when using the fixed-point versions of the FIR decimate filter functions.
- In particular, the overflow and saturation behavior of the accumulator used in each function must be considered.
- Refer to the function specific documentation below for usage guidelines.
- */
-
/**
@addtogroup FIR_decimate
@{
@@ -168,10 +89,10 @@ void arm_fir_decimate_f64(
} while (--i);
/* Set accumulators to zero */
- acc0 = 0.0f;
- acc1 = 0.0f;
- acc2 = 0.0f;
- acc3 = 0.0f;
+ acc0 = 0.0;
+ acc1 = 0.0;
+ acc2 = 0.0;
+ acc3 = 0.0;
/* Initialize state pointer for all the samples */
px0 = pState;
@@ -314,7 +235,7 @@ void arm_fir_decimate_f64(
} while (--i);
/* Set accumulator to zero */
- acc0 = 0.0f;
+ acc0 = 0.0;
/* Initialize state pointer */
px0 = pState;
diff --git a/Testing/Include/Tests/DECIMF64.h b/Testing/Include/Tests/DECIMF64.h
new file mode 100644
index 000000000..a5805d706
--- /dev/null
+++ b/Testing/Include/Tests/DECIMF64.h
@@ -0,0 +1,34 @@
+#include "Test.h"
+#include "Pattern.h"
+
+#include "dsp/filtering_functions.h"
+
+class DECIMF64:public Client::Suite
+ {
+ public:
+ DECIMF64(Testing::testID_t id);
+ virtual void setUp(Testing::testID_t,std::vector& params,Client::PatternMgr *mgr);
+ virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
+ private:
+ #include "DECIMF64_decl.h"
+
+ Client::Pattern input;
+ Client::Pattern coefs;
+ Client::Pattern config;
+
+ Client::LocalPattern output;
+ Client::LocalPattern state;
+ // Reference patterns are not loaded when we are in dump mode
+ Client::RefPattern ref;
+
+
+ arm_fir_decimate_instance_f64 S;
+ //arm_fir_interpolate_instance_f64 SI;
+
+ int q;
+ int numTaps;
+ int blocksize;
+ int refsize;
+
+ arm_status status;
+ };
diff --git a/Testing/PatternGeneration/Decimate.py b/Testing/PatternGeneration/Decimate.py
index 7c48f92f4..619abd59b 100755
--- a/Testing/PatternGeneration/Decimate.py
+++ b/Testing/PatternGeneration/Decimate.py
@@ -46,6 +46,11 @@ def generateBenchmarkPatterns():
configq31=Tools.Config(PATTERNDIR,PARAMDIR,"q31")
configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15")
+ configf32.setOverwrite(False)
+ configf16.setOverwrite(False)
+ configq31.setOverwrite(False)
+ configq15.setOverwrite(False)
+
writeBenchmarks(configf32)
@@ -144,7 +149,6 @@ def writeDecimateTests(config,startNb,format):
ref += [q,len(b),len(samples),len(output)]
-
config.writeInput(startNb, allsamples)
config.writeInput(startNb, allcoefs,"Coefs")
config.writeReference(startNb, alloutput)
@@ -224,15 +228,23 @@ def generateTestPatterns():
PATTERNDIR = os.path.join("Patterns","DSP","Filtering","DECIM","DECIM")
PARAMDIR = os.path.join("Parameters","DSP","Filtering","DECIM","DECIM")
+ configf64=Tools.Config(PATTERNDIR,PARAMDIR,"f64")
configf32=Tools.Config(PATTERNDIR,PARAMDIR,"f32")
configf16=Tools.Config(PATTERNDIR,PARAMDIR,"f16")
configq31=Tools.Config(PATTERNDIR,PARAMDIR,"q31")
configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15")
- writeTests(configf32,0)
- writeTests(configf16,16)
- writeTests(configq31,31)
- writeTests(configq15,15)
+ configf64.setOverwrite(False)
+ configf32.setOverwrite(False)
+ configf16.setOverwrite(False)
+ configq31.setOverwrite(False)
+ configq15.setOverwrite(False)
+
+ writeTests(configf64,Tools.F64)
+ #writeTests(configf32,0)
+ #writeTests(configf16,16)
+ #writeTests(configq31,31)
+ #writeTests(configq15,15)
if __name__ == '__main__':
generateBenchmarkPatterns()
diff --git a/Testing/PatternGeneration/FIR.py b/Testing/PatternGeneration/FIR.py
index bfd0d7301..6c1451eb9 100755
--- a/Testing/PatternGeneration/FIR.py
+++ b/Testing/PatternGeneration/FIR.py
@@ -105,6 +105,7 @@ def generatePatterns():
configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15")
configq7=Tools.Config(PATTERNDIR,PARAMDIR,"q7")
+ configf64.setOverwrite(False)
configf32.setOverwrite(False)
configf16.setOverwrite(False)
configq31.setOverwrite(False)
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Coefs2_f64.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Coefs2_f64.txt
new file mode 100644
index 000000000..4f28eaf77
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Coefs2_f64.txt
@@ -0,0 +1,602 @@
+D
+300
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
+// 0.166667
+0x3fc5555555555555
+// 0.083333
+0x3fb5555555555555
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.200000
+0x3fc999999999999a
+// 0.133333
+0x3fc1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.238095
+0x3fce79e79e79e79e
+// 0.190476
+0x3fc8618618618618
+// 0.142857
+0x3fc2492492492492
+// 0.095238
+0x3fb8618618618618
+// 0.047619
+0x3fa8618618618618
+// 0.250000
+0x3fd0000000000000
+// 0.208333
+0x3fcaaaaaaaaaaaab
+// 0.166667
+0x3fc5555555555555
+// 0.125000
+0x3fc0000000000000
+// 0.083333
+0x3fb5555555555555
+// 0.041667
+0x3fa5555555555555
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Coefs3_f64.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Coefs3_f64.txt
new file mode 100644
index 000000000..cf47cf945
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Coefs3_f64.txt
@@ -0,0 +1,2090 @@
+D
+1044
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.266667
+0x3fd1111111111111
+// 0.233333
+0x3fcdddddddddddde
+// 0.200000
+0x3fc999999999999a
+// 0.166667
+0x3fc5555555555555
+// 0.133333
+0x3fc1111111111111
+// 0.100000
+0x3fb999999999999a
+// 0.066667
+0x3fb1111111111111
+// 0.033333
+0x3fa1111111111111
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.266667
+0x3fd1111111111111
+// 0.233333
+0x3fcdddddddddddde
+// 0.200000
+0x3fc999999999999a
+// 0.166667
+0x3fc5555555555555
+// 0.133333
+0x3fc1111111111111
+// 0.100000
+0x3fb999999999999a
+// 0.066667
+0x3fb1111111111111
+// 0.033333
+0x3fa1111111111111
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.166667
+0x3fc5555555555555
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.055556
+0x3fac71c71c71c71c
+// 0.266667
+0x3fd1111111111111
+// 0.233333
+0x3fcdddddddddddde
+// 0.200000
+0x3fc999999999999a
+// 0.166667
+0x3fc5555555555555
+// 0.133333
+0x3fc1111111111111
+// 0.100000
+0x3fb999999999999a
+// 0.066667
+0x3fb1111111111111
+// 0.033333
+0x3fa1111111111111
+// 0.266667
+0x3fd1111111111111
+// 0.233333
+0x3fcdddddddddddde
+// 0.200000
+0x3fc999999999999a
+// 0.166667
+0x3fc5555555555555
+// 0.133333
+0x3fc1111111111111
+// 0.100000
+0x3fb999999999999a
+// 0.066667
+0x3fb1111111111111
+// 0.033333
+0x3fa1111111111111
+// 0.296296
+0x3fd2f684bda12f68
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.259259
+0x3fd097b425ed097b
+// 0.240741
+0x3fced097b425ed09
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.203704
+0x3fca12f684bda12f
+// 0.185185
+0x3fc7b425ed097b42
+// 0.166667
+0x3fc5555555555555
+// 0.148148
+0x3fc2f684bda12f68
+// 0.129630
+0x3fc097b425ed097b
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.092593
+0x3fb7b425ed097b42
+// 0.074074
+0x3fb2f684bda12f68
+// 0.055556
+0x3fac71c71c71c71c
+// 0.037037
+0x3fa2f684bda12f68
+// 0.018519
+0x3f92f684bda12f68
+// 0.266667
+0x3fd1111111111111
+// 0.233333
+0x3fcdddddddddddde
+// 0.200000
+0x3fc999999999999a
+// 0.166667
+0x3fc5555555555555
+// 0.133333
+0x3fc1111111111111
+// 0.100000
+0x3fb999999999999a
+// 0.066667
+0x3fb1111111111111
+// 0.033333
+0x3fa1111111111111
+// 0.296296
+0x3fd2f684bda12f68
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.259259
+0x3fd097b425ed097b
+// 0.240741
+0x3fced097b425ed09
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.203704
+0x3fca12f684bda12f
+// 0.185185
+0x3fc7b425ed097b42
+// 0.166667
+0x3fc5555555555555
+// 0.148148
+0x3fc2f684bda12f68
+// 0.129630
+0x3fc097b425ed097b
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.092593
+0x3fb7b425ed097b42
+// 0.074074
+0x3fb2f684bda12f68
+// 0.055556
+0x3fac71c71c71c71c
+// 0.037037
+0x3fa2f684bda12f68
+// 0.018519
+0x3f92f684bda12f68
+// 0.266667
+0x3fd1111111111111
+// 0.233333
+0x3fcdddddddddddde
+// 0.200000
+0x3fc999999999999a
+// 0.166667
+0x3fc5555555555555
+// 0.133333
+0x3fc1111111111111
+// 0.100000
+0x3fb999999999999a
+// 0.066667
+0x3fb1111111111111
+// 0.033333
+0x3fa1111111111111
+// 0.296296
+0x3fd2f684bda12f68
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.259259
+0x3fd097b425ed097b
+// 0.240741
+0x3fced097b425ed09
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.203704
+0x3fca12f684bda12f
+// 0.185185
+0x3fc7b425ed097b42
+// 0.166667
+0x3fc5555555555555
+// 0.148148
+0x3fc2f684bda12f68
+// 0.129630
+0x3fc097b425ed097b
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.092593
+0x3fb7b425ed097b42
+// 0.074074
+0x3fb2f684bda12f68
+// 0.055556
+0x3fac71c71c71c71c
+// 0.037037
+0x3fa2f684bda12f68
+// 0.018519
+0x3f92f684bda12f68
+// 0.296296
+0x3fd2f684bda12f68
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.259259
+0x3fd097b425ed097b
+// 0.240741
+0x3fced097b425ed09
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.203704
+0x3fca12f684bda12f
+// 0.185185
+0x3fc7b425ed097b42
+// 0.166667
+0x3fc5555555555555
+// 0.148148
+0x3fc2f684bda12f68
+// 0.129630
+0x3fc097b425ed097b
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.092593
+0x3fb7b425ed097b42
+// 0.074074
+0x3fb2f684bda12f68
+// 0.055556
+0x3fac71c71c71c71c
+// 0.037037
+0x3fa2f684bda12f68
+// 0.018519
+0x3f92f684bda12f68
+// 0.313725
+0x3fd4141414141414
+// 0.303922
+0x3fd3737373737373
+// 0.294118
+0x3fd2d2d2d2d2d2d3
+// 0.284314
+0x3fd2323232323232
+// 0.274510
+0x3fd1919191919192
+// 0.264706
+0x3fd0f0f0f0f0f0f1
+// 0.254902
+0x3fd0505050505050
+// 0.245098
+0x3fcf5f5f5f5f5f5f
+// 0.235294
+0x3fce1e1e1e1e1e1e
+// 0.225490
+0x3fccdcdcdcdcdcdd
+// 0.215686
+0x3fcb9b9b9b9b9b9c
+// 0.205882
+0x3fca5a5a5a5a5a5a
+// 0.196078
+0x3fc9191919191919
+// 0.186275
+0x3fc7d7d7d7d7d7d8
+// 0.176471
+0x3fc6969696969697
+// 0.166667
+0x3fc5555555555555
+// 0.156863
+0x3fc4141414141414
+// 0.147059
+0x3fc2d2d2d2d2d2d3
+// 0.137255
+0x3fc1919191919192
+// 0.127451
+0x3fc0505050505050
+// 0.117647
+0x3fbe1e1e1e1e1e1e
+// 0.107843
+0x3fbb9b9b9b9b9b9c
+// 0.098039
+0x3fb9191919191919
+// 0.088235
+0x3fb6969696969697
+// 0.078431
+0x3fb4141414141414
+// 0.068627
+0x3fb1919191919192
+// 0.058824
+0x3fae1e1e1e1e1e1e
+// 0.049020
+0x3fa9191919191919
+// 0.039216
+0x3fa4141414141414
+// 0.029412
+0x3f9e1e1e1e1e1e1e
+// 0.019608
+0x3f94141414141414
+// 0.009804
+0x3f84141414141414
+// 0.296296
+0x3fd2f684bda12f68
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.259259
+0x3fd097b425ed097b
+// 0.240741
+0x3fced097b425ed09
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.203704
+0x3fca12f684bda12f
+// 0.185185
+0x3fc7b425ed097b42
+// 0.166667
+0x3fc5555555555555
+// 0.148148
+0x3fc2f684bda12f68
+// 0.129630
+0x3fc097b425ed097b
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.092593
+0x3fb7b425ed097b42
+// 0.074074
+0x3fb2f684bda12f68
+// 0.055556
+0x3fac71c71c71c71c
+// 0.037037
+0x3fa2f684bda12f68
+// 0.018519
+0x3f92f684bda12f68
+// 0.313725
+0x3fd4141414141414
+// 0.303922
+0x3fd3737373737373
+// 0.294118
+0x3fd2d2d2d2d2d2d3
+// 0.284314
+0x3fd2323232323232
+// 0.274510
+0x3fd1919191919192
+// 0.264706
+0x3fd0f0f0f0f0f0f1
+// 0.254902
+0x3fd0505050505050
+// 0.245098
+0x3fcf5f5f5f5f5f5f
+// 0.235294
+0x3fce1e1e1e1e1e1e
+// 0.225490
+0x3fccdcdcdcdcdcdd
+// 0.215686
+0x3fcb9b9b9b9b9b9c
+// 0.205882
+0x3fca5a5a5a5a5a5a
+// 0.196078
+0x3fc9191919191919
+// 0.186275
+0x3fc7d7d7d7d7d7d8
+// 0.176471
+0x3fc6969696969697
+// 0.166667
+0x3fc5555555555555
+// 0.156863
+0x3fc4141414141414
+// 0.147059
+0x3fc2d2d2d2d2d2d3
+// 0.137255
+0x3fc1919191919192
+// 0.127451
+0x3fc0505050505050
+// 0.117647
+0x3fbe1e1e1e1e1e1e
+// 0.107843
+0x3fbb9b9b9b9b9b9c
+// 0.098039
+0x3fb9191919191919
+// 0.088235
+0x3fb6969696969697
+// 0.078431
+0x3fb4141414141414
+// 0.068627
+0x3fb1919191919192
+// 0.058824
+0x3fae1e1e1e1e1e1e
+// 0.049020
+0x3fa9191919191919
+// 0.039216
+0x3fa4141414141414
+// 0.029412
+0x3f9e1e1e1e1e1e1e
+// 0.019608
+0x3f94141414141414
+// 0.009804
+0x3f84141414141414
+// 0.296296
+0x3fd2f684bda12f68
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.259259
+0x3fd097b425ed097b
+// 0.240741
+0x3fced097b425ed09
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.203704
+0x3fca12f684bda12f
+// 0.185185
+0x3fc7b425ed097b42
+// 0.166667
+0x3fc5555555555555
+// 0.148148
+0x3fc2f684bda12f68
+// 0.129630
+0x3fc097b425ed097b
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.092593
+0x3fb7b425ed097b42
+// 0.074074
+0x3fb2f684bda12f68
+// 0.055556
+0x3fac71c71c71c71c
+// 0.037037
+0x3fa2f684bda12f68
+// 0.018519
+0x3f92f684bda12f68
+// 0.313725
+0x3fd4141414141414
+// 0.303922
+0x3fd3737373737373
+// 0.294118
+0x3fd2d2d2d2d2d2d3
+// 0.284314
+0x3fd2323232323232
+// 0.274510
+0x3fd1919191919192
+// 0.264706
+0x3fd0f0f0f0f0f0f1
+// 0.254902
+0x3fd0505050505050
+// 0.245098
+0x3fcf5f5f5f5f5f5f
+// 0.235294
+0x3fce1e1e1e1e1e1e
+// 0.225490
+0x3fccdcdcdcdcdcdd
+// 0.215686
+0x3fcb9b9b9b9b9b9c
+// 0.205882
+0x3fca5a5a5a5a5a5a
+// 0.196078
+0x3fc9191919191919
+// 0.186275
+0x3fc7d7d7d7d7d7d8
+// 0.176471
+0x3fc6969696969697
+// 0.166667
+0x3fc5555555555555
+// 0.156863
+0x3fc4141414141414
+// 0.147059
+0x3fc2d2d2d2d2d2d3
+// 0.137255
+0x3fc1919191919192
+// 0.127451
+0x3fc0505050505050
+// 0.117647
+0x3fbe1e1e1e1e1e1e
+// 0.107843
+0x3fbb9b9b9b9b9b9c
+// 0.098039
+0x3fb9191919191919
+// 0.088235
+0x3fb6969696969697
+// 0.078431
+0x3fb4141414141414
+// 0.068627
+0x3fb1919191919192
+// 0.058824
+0x3fae1e1e1e1e1e1e
+// 0.049020
+0x3fa9191919191919
+// 0.039216
+0x3fa4141414141414
+// 0.029412
+0x3f9e1e1e1e1e1e1e
+// 0.019608
+0x3f94141414141414
+// 0.009804
+0x3f84141414141414
+// 0.303030
+0x3fd364d9364d9365
+// 0.287879
+0x3fd26c9b26c9b26d
+// 0.272727
+0x3fd1745d1745d174
+// 0.257576
+0x3fd07c1f07c1f07c
+// 0.242424
+0x3fcf07c1f07c1f08
+// 0.227273
+0x3fcd1745d1745d17
+// 0.212121
+0x3fcb26c9b26c9b27
+// 0.196970
+0x3fc9364d9364d936
+// 0.181818
+0x3fc745d1745d1746
+// 0.166667
+0x3fc5555555555555
+// 0.151515
+0x3fc364d9364d9365
+// 0.136364
+0x3fc1745d1745d174
+// 0.121212
+0x3fbf07c1f07c1f08
+// 0.106061
+0x3fbb26c9b26c9b27
+// 0.090909
+0x3fb745d1745d1746
+// 0.075758
+0x3fb364d9364d9365
+// 0.060606
+0x3faf07c1f07c1f08
+// 0.045455
+0x3fa745d1745d1746
+// 0.030303
+0x3f9f07c1f07c1f08
+// 0.015152
+0x3f8f07c1f07c1f08
+// 0.317460
+0x3fd4514514514514
+// 0.309524
+0x3fd3cf3cf3cf3cf4
+// 0.301587
+0x3fd34d34d34d34d3
+// 0.293651
+0x3fd2cb2cb2cb2cb3
+// 0.285714
+0x3fd2492492492492
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.269841
+0x3fd1451451451451
+// 0.261905
+0x3fd0c30c30c30c31
+// 0.253968
+0x3fd0410410410410
+// 0.246032
+0x3fcf7df7df7df7df
+// 0.238095
+0x3fce79e79e79e79e
+// 0.230159
+0x3fcd75d75d75d75d
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.214286
+0x3fcb6db6db6db6db
+// 0.206349
+0x3fca69a69a69a69a
+// 0.198413
+0x3fc9659659659659
+// 0.190476
+0x3fc8618618618618
+// 0.182540
+0x3fc75d75d75d75d7
+// 0.174603
+0x3fc6596596596596
+// 0.166667
+0x3fc5555555555555
+// 0.158730
+0x3fc4514514514514
+// 0.150794
+0x3fc34d34d34d34d3
+// 0.142857
+0x3fc2492492492492
+// 0.134921
+0x3fc1451451451451
+// 0.126984
+0x3fc0410410410410
+// 0.119048
+0x3fbe79e79e79e79e
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.103175
+0x3fba69a69a69a69a
+// 0.095238
+0x3fb8618618618618
+// 0.087302
+0x3fb6596596596596
+// 0.079365
+0x3fb4514514514514
+// 0.071429
+0x3fb2492492492492
+// 0.063492
+0x3fb0410410410410
+// 0.055556
+0x3fac71c71c71c71c
+// 0.047619
+0x3fa8618618618618
+// 0.039683
+0x3fa4514514514514
+// 0.031746
+0x3fa0410410410410
+// 0.023810
+0x3f98618618618618
+// 0.015873
+0x3f90410410410410
+// 0.007937
+0x3f80410410410410
+// 0.303030
+0x3fd364d9364d9365
+// 0.287879
+0x3fd26c9b26c9b26d
+// 0.272727
+0x3fd1745d1745d174
+// 0.257576
+0x3fd07c1f07c1f07c
+// 0.242424
+0x3fcf07c1f07c1f08
+// 0.227273
+0x3fcd1745d1745d17
+// 0.212121
+0x3fcb26c9b26c9b27
+// 0.196970
+0x3fc9364d9364d936
+// 0.181818
+0x3fc745d1745d1746
+// 0.166667
+0x3fc5555555555555
+// 0.151515
+0x3fc364d9364d9365
+// 0.136364
+0x3fc1745d1745d174
+// 0.121212
+0x3fbf07c1f07c1f08
+// 0.106061
+0x3fbb26c9b26c9b27
+// 0.090909
+0x3fb745d1745d1746
+// 0.075758
+0x3fb364d9364d9365
+// 0.060606
+0x3faf07c1f07c1f08
+// 0.045455
+0x3fa745d1745d1746
+// 0.030303
+0x3f9f07c1f07c1f08
+// 0.015152
+0x3f8f07c1f07c1f08
+// 0.317460
+0x3fd4514514514514
+// 0.309524
+0x3fd3cf3cf3cf3cf4
+// 0.301587
+0x3fd34d34d34d34d3
+// 0.293651
+0x3fd2cb2cb2cb2cb3
+// 0.285714
+0x3fd2492492492492
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.269841
+0x3fd1451451451451
+// 0.261905
+0x3fd0c30c30c30c31
+// 0.253968
+0x3fd0410410410410
+// 0.246032
+0x3fcf7df7df7df7df
+// 0.238095
+0x3fce79e79e79e79e
+// 0.230159
+0x3fcd75d75d75d75d
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.214286
+0x3fcb6db6db6db6db
+// 0.206349
+0x3fca69a69a69a69a
+// 0.198413
+0x3fc9659659659659
+// 0.190476
+0x3fc8618618618618
+// 0.182540
+0x3fc75d75d75d75d7
+// 0.174603
+0x3fc6596596596596
+// 0.166667
+0x3fc5555555555555
+// 0.158730
+0x3fc4514514514514
+// 0.150794
+0x3fc34d34d34d34d3
+// 0.142857
+0x3fc2492492492492
+// 0.134921
+0x3fc1451451451451
+// 0.126984
+0x3fc0410410410410
+// 0.119048
+0x3fbe79e79e79e79e
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.103175
+0x3fba69a69a69a69a
+// 0.095238
+0x3fb8618618618618
+// 0.087302
+0x3fb6596596596596
+// 0.079365
+0x3fb4514514514514
+// 0.071429
+0x3fb2492492492492
+// 0.063492
+0x3fb0410410410410
+// 0.055556
+0x3fac71c71c71c71c
+// 0.047619
+0x3fa8618618618618
+// 0.039683
+0x3fa4514514514514
+// 0.031746
+0x3fa0410410410410
+// 0.023810
+0x3f98618618618618
+// 0.015873
+0x3f90410410410410
+// 0.007937
+0x3f80410410410410
+// 0.303030
+0x3fd364d9364d9365
+// 0.287879
+0x3fd26c9b26c9b26d
+// 0.272727
+0x3fd1745d1745d174
+// 0.257576
+0x3fd07c1f07c1f07c
+// 0.242424
+0x3fcf07c1f07c1f08
+// 0.227273
+0x3fcd1745d1745d17
+// 0.212121
+0x3fcb26c9b26c9b27
+// 0.196970
+0x3fc9364d9364d936
+// 0.181818
+0x3fc745d1745d1746
+// 0.166667
+0x3fc5555555555555
+// 0.151515
+0x3fc364d9364d9365
+// 0.136364
+0x3fc1745d1745d174
+// 0.121212
+0x3fbf07c1f07c1f08
+// 0.106061
+0x3fbb26c9b26c9b27
+// 0.090909
+0x3fb745d1745d1746
+// 0.075758
+0x3fb364d9364d9365
+// 0.060606
+0x3faf07c1f07c1f08
+// 0.045455
+0x3fa745d1745d1746
+// 0.030303
+0x3f9f07c1f07c1f08
+// 0.015152
+0x3f8f07c1f07c1f08
+// 0.317460
+0x3fd4514514514514
+// 0.309524
+0x3fd3cf3cf3cf3cf4
+// 0.301587
+0x3fd34d34d34d34d3
+// 0.293651
+0x3fd2cb2cb2cb2cb3
+// 0.285714
+0x3fd2492492492492
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.269841
+0x3fd1451451451451
+// 0.261905
+0x3fd0c30c30c30c31
+// 0.253968
+0x3fd0410410410410
+// 0.246032
+0x3fcf7df7df7df7df
+// 0.238095
+0x3fce79e79e79e79e
+// 0.230159
+0x3fcd75d75d75d75d
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.214286
+0x3fcb6db6db6db6db
+// 0.206349
+0x3fca69a69a69a69a
+// 0.198413
+0x3fc9659659659659
+// 0.190476
+0x3fc8618618618618
+// 0.182540
+0x3fc75d75d75d75d7
+// 0.174603
+0x3fc6596596596596
+// 0.166667
+0x3fc5555555555555
+// 0.158730
+0x3fc4514514514514
+// 0.150794
+0x3fc34d34d34d34d3
+// 0.142857
+0x3fc2492492492492
+// 0.134921
+0x3fc1451451451451
+// 0.126984
+0x3fc0410410410410
+// 0.119048
+0x3fbe79e79e79e79e
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.103175
+0x3fba69a69a69a69a
+// 0.095238
+0x3fb8618618618618
+// 0.087302
+0x3fb6596596596596
+// 0.079365
+0x3fb4514514514514
+// 0.071429
+0x3fb2492492492492
+// 0.063492
+0x3fb0410410410410
+// 0.055556
+0x3fac71c71c71c71c
+// 0.047619
+0x3fa8618618618618
+// 0.039683
+0x3fa4514514514514
+// 0.031746
+0x3fa0410410410410
+// 0.023810
+0x3f98618618618618
+// 0.015873
+0x3f90410410410410
+// 0.007937
+0x3f80410410410410
+// 0.313725
+0x3fd4141414141414
+// 0.303922
+0x3fd3737373737373
+// 0.294118
+0x3fd2d2d2d2d2d2d3
+// 0.284314
+0x3fd2323232323232
+// 0.274510
+0x3fd1919191919192
+// 0.264706
+0x3fd0f0f0f0f0f0f1
+// 0.254902
+0x3fd0505050505050
+// 0.245098
+0x3fcf5f5f5f5f5f5f
+// 0.235294
+0x3fce1e1e1e1e1e1e
+// 0.225490
+0x3fccdcdcdcdcdcdd
+// 0.215686
+0x3fcb9b9b9b9b9b9c
+// 0.205882
+0x3fca5a5a5a5a5a5a
+// 0.196078
+0x3fc9191919191919
+// 0.186275
+0x3fc7d7d7d7d7d7d8
+// 0.176471
+0x3fc6969696969697
+// 0.166667
+0x3fc5555555555555
+// 0.156863
+0x3fc4141414141414
+// 0.147059
+0x3fc2d2d2d2d2d2d3
+// 0.137255
+0x3fc1919191919192
+// 0.127451
+0x3fc0505050505050
+// 0.117647
+0x3fbe1e1e1e1e1e1e
+// 0.107843
+0x3fbb9b9b9b9b9b9c
+// 0.098039
+0x3fb9191919191919
+// 0.088235
+0x3fb6969696969697
+// 0.078431
+0x3fb4141414141414
+// 0.068627
+0x3fb1919191919192
+// 0.058824
+0x3fae1e1e1e1e1e1e
+// 0.049020
+0x3fa9191919191919
+// 0.039216
+0x3fa4141414141414
+// 0.029412
+0x3f9e1e1e1e1e1e1e
+// 0.019608
+0x3f94141414141414
+// 0.009804
+0x3f84141414141414
+// 0.323232
+0x3fd4afd6a052bf5b
+// 0.318182
+0x3fd45d1745d1745d
+// 0.313131
+0x3fd40a57eb502960
+// 0.308081
+0x3fd3b79890cede62
+// 0.303030
+0x3fd364d9364d9365
+// 0.297980
+0x3fd31219dbcc4867
+// 0.292929
+0x3fd2bf5a814afd6a
+// 0.287879
+0x3fd26c9b26c9b26d
+// 0.282828
+0x3fd219dbcc48676f
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.272727
+0x3fd1745d1745d174
+// 0.267677
+0x3fd1219dbcc48677
+// 0.262626
+0x3fd0cede62433b7a
+// 0.257576
+0x3fd07c1f07c1f07c
+// 0.252525
+0x3fd0295fad40a57f
+// 0.247475
+0x3fcfad40a57eb503
+// 0.242424
+0x3fcf07c1f07c1f08
+// 0.237374
+0x3fce62433b79890d
+// 0.232323
+0x3fcdbcc48676f312
+// 0.227273
+0x3fcd1745d1745d17
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.217172
+0x3fcbcc48676f3122
+// 0.212121
+0x3fcb26c9b26c9b27
+// 0.207071
+0x3fca814afd6a052c
+// 0.202020
+0x3fc9dbcc48676f31
+// 0.196970
+0x3fc9364d9364d936
+// 0.191919
+0x3fc890cede62433b
+// 0.186869
+0x3fc7eb50295fad41
+// 0.181818
+0x3fc745d1745d1746
+// 0.176768
+0x3fc6a052bf5a814b
+// 0.171717
+0x3fc5fad40a57eb50
+// 0.166667
+0x3fc5555555555555
+// 0.161616
+0x3fc4afd6a052bf5b
+// 0.156566
+0x3fc40a57eb502960
+// 0.151515
+0x3fc364d9364d9365
+// 0.146465
+0x3fc2bf5a814afd6a
+// 0.141414
+0x3fc219dbcc48676f
+// 0.136364
+0x3fc1745d1745d174
+// 0.131313
+0x3fc0cede62433b7a
+// 0.126263
+0x3fc0295fad40a57f
+// 0.121212
+0x3fbf07c1f07c1f08
+// 0.116162
+0x3fbdbcc48676f312
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.106061
+0x3fbb26c9b26c9b27
+// 0.101010
+0x3fb9dbcc48676f31
+// 0.095960
+0x3fb890cede62433b
+// 0.090909
+0x3fb745d1745d1746
+// 0.085859
+0x3fb5fad40a57eb50
+// 0.080808
+0x3fb4afd6a052bf5b
+// 0.075758
+0x3fb364d9364d9365
+// 0.070707
+0x3fb219dbcc48676f
+// 0.065657
+0x3fb0cede62433b7a
+// 0.060606
+0x3faf07c1f07c1f08
+// 0.055556
+0x3fac71c71c71c71c
+// 0.050505
+0x3fa9dbcc48676f31
+// 0.045455
+0x3fa745d1745d1746
+// 0.040404
+0x3fa4afd6a052bf5b
+// 0.035354
+0x3fa219dbcc48676f
+// 0.030303
+0x3f9f07c1f07c1f08
+// 0.025253
+0x3f99dbcc48676f31
+// 0.020202
+0x3f94afd6a052bf5b
+// 0.015152
+0x3f8f07c1f07c1f08
+// 0.010101
+0x3f84afd6a052bf5b
+// 0.005051
+0x3f74afd6a052bf5b
+// 0.313725
+0x3fd4141414141414
+// 0.303922
+0x3fd3737373737373
+// 0.294118
+0x3fd2d2d2d2d2d2d3
+// 0.284314
+0x3fd2323232323232
+// 0.274510
+0x3fd1919191919192
+// 0.264706
+0x3fd0f0f0f0f0f0f1
+// 0.254902
+0x3fd0505050505050
+// 0.245098
+0x3fcf5f5f5f5f5f5f
+// 0.235294
+0x3fce1e1e1e1e1e1e
+// 0.225490
+0x3fccdcdcdcdcdcdd
+// 0.215686
+0x3fcb9b9b9b9b9b9c
+// 0.205882
+0x3fca5a5a5a5a5a5a
+// 0.196078
+0x3fc9191919191919
+// 0.186275
+0x3fc7d7d7d7d7d7d8
+// 0.176471
+0x3fc6969696969697
+// 0.166667
+0x3fc5555555555555
+// 0.156863
+0x3fc4141414141414
+// 0.147059
+0x3fc2d2d2d2d2d2d3
+// 0.137255
+0x3fc1919191919192
+// 0.127451
+0x3fc0505050505050
+// 0.117647
+0x3fbe1e1e1e1e1e1e
+// 0.107843
+0x3fbb9b9b9b9b9b9c
+// 0.098039
+0x3fb9191919191919
+// 0.088235
+0x3fb6969696969697
+// 0.078431
+0x3fb4141414141414
+// 0.068627
+0x3fb1919191919192
+// 0.058824
+0x3fae1e1e1e1e1e1e
+// 0.049020
+0x3fa9191919191919
+// 0.039216
+0x3fa4141414141414
+// 0.029412
+0x3f9e1e1e1e1e1e1e
+// 0.019608
+0x3f94141414141414
+// 0.009804
+0x3f84141414141414
+// 0.323232
+0x3fd4afd6a052bf5b
+// 0.318182
+0x3fd45d1745d1745d
+// 0.313131
+0x3fd40a57eb502960
+// 0.308081
+0x3fd3b79890cede62
+// 0.303030
+0x3fd364d9364d9365
+// 0.297980
+0x3fd31219dbcc4867
+// 0.292929
+0x3fd2bf5a814afd6a
+// 0.287879
+0x3fd26c9b26c9b26d
+// 0.282828
+0x3fd219dbcc48676f
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.272727
+0x3fd1745d1745d174
+// 0.267677
+0x3fd1219dbcc48677
+// 0.262626
+0x3fd0cede62433b7a
+// 0.257576
+0x3fd07c1f07c1f07c
+// 0.252525
+0x3fd0295fad40a57f
+// 0.247475
+0x3fcfad40a57eb503
+// 0.242424
+0x3fcf07c1f07c1f08
+// 0.237374
+0x3fce62433b79890d
+// 0.232323
+0x3fcdbcc48676f312
+// 0.227273
+0x3fcd1745d1745d17
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.217172
+0x3fcbcc48676f3122
+// 0.212121
+0x3fcb26c9b26c9b27
+// 0.207071
+0x3fca814afd6a052c
+// 0.202020
+0x3fc9dbcc48676f31
+// 0.196970
+0x3fc9364d9364d936
+// 0.191919
+0x3fc890cede62433b
+// 0.186869
+0x3fc7eb50295fad41
+// 0.181818
+0x3fc745d1745d1746
+// 0.176768
+0x3fc6a052bf5a814b
+// 0.171717
+0x3fc5fad40a57eb50
+// 0.166667
+0x3fc5555555555555
+// 0.161616
+0x3fc4afd6a052bf5b
+// 0.156566
+0x3fc40a57eb502960
+// 0.151515
+0x3fc364d9364d9365
+// 0.146465
+0x3fc2bf5a814afd6a
+// 0.141414
+0x3fc219dbcc48676f
+// 0.136364
+0x3fc1745d1745d174
+// 0.131313
+0x3fc0cede62433b7a
+// 0.126263
+0x3fc0295fad40a57f
+// 0.121212
+0x3fbf07c1f07c1f08
+// 0.116162
+0x3fbdbcc48676f312
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.106061
+0x3fbb26c9b26c9b27
+// 0.101010
+0x3fb9dbcc48676f31
+// 0.095960
+0x3fb890cede62433b
+// 0.090909
+0x3fb745d1745d1746
+// 0.085859
+0x3fb5fad40a57eb50
+// 0.080808
+0x3fb4afd6a052bf5b
+// 0.075758
+0x3fb364d9364d9365
+// 0.070707
+0x3fb219dbcc48676f
+// 0.065657
+0x3fb0cede62433b7a
+// 0.060606
+0x3faf07c1f07c1f08
+// 0.055556
+0x3fac71c71c71c71c
+// 0.050505
+0x3fa9dbcc48676f31
+// 0.045455
+0x3fa745d1745d1746
+// 0.040404
+0x3fa4afd6a052bf5b
+// 0.035354
+0x3fa219dbcc48676f
+// 0.030303
+0x3f9f07c1f07c1f08
+// 0.025253
+0x3f99dbcc48676f31
+// 0.020202
+0x3f94afd6a052bf5b
+// 0.015152
+0x3f8f07c1f07c1f08
+// 0.010101
+0x3f84afd6a052bf5b
+// 0.005051
+0x3f74afd6a052bf5b
+// 0.313725
+0x3fd4141414141414
+// 0.303922
+0x3fd3737373737373
+// 0.294118
+0x3fd2d2d2d2d2d2d3
+// 0.284314
+0x3fd2323232323232
+// 0.274510
+0x3fd1919191919192
+// 0.264706
+0x3fd0f0f0f0f0f0f1
+// 0.254902
+0x3fd0505050505050
+// 0.245098
+0x3fcf5f5f5f5f5f5f
+// 0.235294
+0x3fce1e1e1e1e1e1e
+// 0.225490
+0x3fccdcdcdcdcdcdd
+// 0.215686
+0x3fcb9b9b9b9b9b9c
+// 0.205882
+0x3fca5a5a5a5a5a5a
+// 0.196078
+0x3fc9191919191919
+// 0.186275
+0x3fc7d7d7d7d7d7d8
+// 0.176471
+0x3fc6969696969697
+// 0.166667
+0x3fc5555555555555
+// 0.156863
+0x3fc4141414141414
+// 0.147059
+0x3fc2d2d2d2d2d2d3
+// 0.137255
+0x3fc1919191919192
+// 0.127451
+0x3fc0505050505050
+// 0.117647
+0x3fbe1e1e1e1e1e1e
+// 0.107843
+0x3fbb9b9b9b9b9b9c
+// 0.098039
+0x3fb9191919191919
+// 0.088235
+0x3fb6969696969697
+// 0.078431
+0x3fb4141414141414
+// 0.068627
+0x3fb1919191919192
+// 0.058824
+0x3fae1e1e1e1e1e1e
+// 0.049020
+0x3fa9191919191919
+// 0.039216
+0x3fa4141414141414
+// 0.029412
+0x3f9e1e1e1e1e1e1e
+// 0.019608
+0x3f94141414141414
+// 0.009804
+0x3f84141414141414
+// 0.323232
+0x3fd4afd6a052bf5b
+// 0.318182
+0x3fd45d1745d1745d
+// 0.313131
+0x3fd40a57eb502960
+// 0.308081
+0x3fd3b79890cede62
+// 0.303030
+0x3fd364d9364d9365
+// 0.297980
+0x3fd31219dbcc4867
+// 0.292929
+0x3fd2bf5a814afd6a
+// 0.287879
+0x3fd26c9b26c9b26d
+// 0.282828
+0x3fd219dbcc48676f
+// 0.277778
+0x3fd1c71c71c71c72
+// 0.272727
+0x3fd1745d1745d174
+// 0.267677
+0x3fd1219dbcc48677
+// 0.262626
+0x3fd0cede62433b7a
+// 0.257576
+0x3fd07c1f07c1f07c
+// 0.252525
+0x3fd0295fad40a57f
+// 0.247475
+0x3fcfad40a57eb503
+// 0.242424
+0x3fcf07c1f07c1f08
+// 0.237374
+0x3fce62433b79890d
+// 0.232323
+0x3fcdbcc48676f312
+// 0.227273
+0x3fcd1745d1745d17
+// 0.222222
+0x3fcc71c71c71c71c
+// 0.217172
+0x3fcbcc48676f3122
+// 0.212121
+0x3fcb26c9b26c9b27
+// 0.207071
+0x3fca814afd6a052c
+// 0.202020
+0x3fc9dbcc48676f31
+// 0.196970
+0x3fc9364d9364d936
+// 0.191919
+0x3fc890cede62433b
+// 0.186869
+0x3fc7eb50295fad41
+// 0.181818
+0x3fc745d1745d1746
+// 0.176768
+0x3fc6a052bf5a814b
+// 0.171717
+0x3fc5fad40a57eb50
+// 0.166667
+0x3fc5555555555555
+// 0.161616
+0x3fc4afd6a052bf5b
+// 0.156566
+0x3fc40a57eb502960
+// 0.151515
+0x3fc364d9364d9365
+// 0.146465
+0x3fc2bf5a814afd6a
+// 0.141414
+0x3fc219dbcc48676f
+// 0.136364
+0x3fc1745d1745d174
+// 0.131313
+0x3fc0cede62433b7a
+// 0.126263
+0x3fc0295fad40a57f
+// 0.121212
+0x3fbf07c1f07c1f08
+// 0.116162
+0x3fbdbcc48676f312
+// 0.111111
+0x3fbc71c71c71c71c
+// 0.106061
+0x3fbb26c9b26c9b27
+// 0.101010
+0x3fb9dbcc48676f31
+// 0.095960
+0x3fb890cede62433b
+// 0.090909
+0x3fb745d1745d1746
+// 0.085859
+0x3fb5fad40a57eb50
+// 0.080808
+0x3fb4afd6a052bf5b
+// 0.075758
+0x3fb364d9364d9365
+// 0.070707
+0x3fb219dbcc48676f
+// 0.065657
+0x3fb0cede62433b7a
+// 0.060606
+0x3faf07c1f07c1f08
+// 0.055556
+0x3fac71c71c71c71c
+// 0.050505
+0x3fa9dbcc48676f31
+// 0.045455
+0x3fa745d1745d1746
+// 0.040404
+0x3fa4afd6a052bf5b
+// 0.035354
+0x3fa219dbcc48676f
+// 0.030303
+0x3f9f07c1f07c1f08
+// 0.025253
+0x3f99dbcc48676f31
+// 0.020202
+0x3f94afd6a052bf5b
+// 0.015152
+0x3f8f07c1f07c1f08
+// 0.010101
+0x3f84afd6a052bf5b
+// 0.005051
+0x3f74afd6a052bf5b
+// 0.315789
+0x3fd435e50d79435e
+// 0.307018
+0x3fd3a62ce98b3a63
+// 0.298246
+0x3fd31674c59d3167
+// 0.289474
+0x3fd286bca1af286c
+// 0.280702
+0x3fd1f7047dc11f70
+// 0.271930
+0x3fd1674c59d31675
+// 0.263158
+0x3fd0d79435e50d79
+// 0.254386
+0x3fd047dc11f7047e
+// 0.245614
+0x3fcf7047dc11f704
+// 0.236842
+0x3fce50d79435e50d
+// 0.228070
+0x3fcd31674c59d316
+// 0.219298
+0x3fcc11f7047dc11f
+// 0.210526
+0x3fcaf286bca1af28
+// 0.201754
+0x3fc9d31674c59d31
+// 0.192982
+0x3fc8b3a62ce98b3a
+// 0.184211
+0x3fc79435e50d7943
+// 0.175439
+0x3fc674c59d31674c
+// 0.166667
+0x3fc5555555555555
+// 0.157895
+0x3fc435e50d79435e
+// 0.149123
+0x3fc31674c59d3167
+// 0.140351
+0x3fc1f7047dc11f70
+// 0.131579
+0x3fc0d79435e50d79
+// 0.122807
+0x3fbf7047dc11f704
+// 0.114035
+0x3fbd31674c59d316
+// 0.105263
+0x3fbaf286bca1af28
+// 0.096491
+0x3fb8b3a62ce98b3a
+// 0.087719
+0x3fb674c59d31674c
+// 0.078947
+0x3fb435e50d79435e
+// 0.070175
+0x3fb1f7047dc11f70
+// 0.061404
+0x3faf7047dc11f704
+// 0.052632
+0x3faaf286bca1af28
+// 0.043860
+0x3fa674c59d31674c
+// 0.035088
+0x3fa1f7047dc11f70
+// 0.026316
+0x3f9af286bca1af28
+// 0.017544
+0x3f91f7047dc11f70
+// 0.008772
+0x3f81f7047dc11f70
+// 0.324324
+0x3fd4c1bacf914c1c
+// 0.319820
+0x3fd477ed8caf477f
+// 0.315315
+0x3fd42e2049cd42e2
+// 0.310811
+0x3fd3e45306eb3e45
+// 0.306306
+0x3fd39a85c40939a8
+// 0.301802
+0x3fd350b88127350c
+// 0.297297
+0x3fd306eb3e45306f
+// 0.292793
+0x3fd2bd1dfb632bd2
+// 0.288288
+0x3fd27350b8812735
+// 0.283784
+0x3fd22983759f2298
+// 0.279279
+0x3fd1dfb632bd1dfb
+// 0.274775
+0x3fd195e8efdb195f
+// 0.270270
+0x3fd14c1bacf914c2
+// 0.265766
+0x3fd1024e6a171025
+// 0.261261
+0x3fd0b88127350b88
+// 0.256757
+0x3fd06eb3e45306eb
+// 0.252252
+0x3fd024e6a171024e
+// 0.247748
+0x3fcfb632bd1dfb63
+// 0.243243
+0x3fcf22983759f22a
+// 0.238739
+0x3fce8efdb195e8f0
+// 0.234234
+0x3fcdfb632bd1dfb6
+// 0.229730
+0x3fcd67c8a60dd67d
+// 0.225225
+0x3fccd42e2049cd43
+// 0.220721
+0x3fcc40939a85c409
+// 0.216216
+0x3fcbacf914c1bad0
+// 0.211712
+0x3fcb195e8efdb196
+// 0.207207
+0x3fca85c40939a85c
+// 0.202703
+0x3fc9f22983759f23
+// 0.198198
+0x3fc95e8efdb195e9
+// 0.193694
+0x3fc8caf477ed8caf
+// 0.189189
+0x3fc83759f2298376
+// 0.184685
+0x3fc7a3bf6c657a3c
+// 0.180180
+0x3fc71024e6a17102
+// 0.175676
+0x3fc67c8a60dd67c9
+// 0.171171
+0x3fc5e8efdb195e8f
+// 0.166667
+0x3fc5555555555555
+// 0.162162
+0x3fc4c1bacf914c1c
+// 0.157658
+0x3fc42e2049cd42e2
+// 0.153153
+0x3fc39a85c40939a8
+// 0.148649
+0x3fc306eb3e45306f
+// 0.144144
+0x3fc27350b8812735
+// 0.139640
+0x3fc1dfb632bd1dfb
+// 0.135135
+0x3fc14c1bacf914c2
+// 0.130631
+0x3fc0b88127350b88
+// 0.126126
+0x3fc024e6a171024e
+// 0.121622
+0x3fbf22983759f22a
+// 0.117117
+0x3fbdfb632bd1dfb6
+// 0.112613
+0x3fbcd42e2049cd43
+// 0.108108
+0x3fbbacf914c1bad0
+// 0.103604
+0x3fba85c40939a85c
+// 0.099099
+0x3fb95e8efdb195e9
+// 0.094595
+0x3fb83759f2298376
+// 0.090090
+0x3fb71024e6a17102
+// 0.085586
+0x3fb5e8efdb195e8f
+// 0.081081
+0x3fb4c1bacf914c1c
+// 0.076577
+0x3fb39a85c40939a8
+// 0.072072
+0x3fb27350b8812735
+// 0.067568
+0x3fb14c1bacf914c2
+// 0.063063
+0x3fb024e6a171024e
+// 0.058559
+0x3fadfb632bd1dfb6
+// 0.054054
+0x3fabacf914c1bad0
+// 0.049550
+0x3fa95e8efdb195e9
+// 0.045045
+0x3fa71024e6a17102
+// 0.040541
+0x3fa4c1bacf914c1c
+// 0.036036
+0x3fa27350b8812735
+// 0.031532
+0x3fa024e6a171024e
+// 0.027027
+0x3f9bacf914c1bad0
+// 0.022523
+0x3f971024e6a17102
+// 0.018018
+0x3f927350b8812735
+// 0.013514
+0x3f8bacf914c1bad0
+// 0.009009
+0x3f827350b8812735
+// 0.004505
+0x3f727350b8812735
+// 0.315789
+0x3fd435e50d79435e
+// 0.307018
+0x3fd3a62ce98b3a63
+// 0.298246
+0x3fd31674c59d3167
+// 0.289474
+0x3fd286bca1af286c
+// 0.280702
+0x3fd1f7047dc11f70
+// 0.271930
+0x3fd1674c59d31675
+// 0.263158
+0x3fd0d79435e50d79
+// 0.254386
+0x3fd047dc11f7047e
+// 0.245614
+0x3fcf7047dc11f704
+// 0.236842
+0x3fce50d79435e50d
+// 0.228070
+0x3fcd31674c59d316
+// 0.219298
+0x3fcc11f7047dc11f
+// 0.210526
+0x3fcaf286bca1af28
+// 0.201754
+0x3fc9d31674c59d31
+// 0.192982
+0x3fc8b3a62ce98b3a
+// 0.184211
+0x3fc79435e50d7943
+// 0.175439
+0x3fc674c59d31674c
+// 0.166667
+0x3fc5555555555555
+// 0.157895
+0x3fc435e50d79435e
+// 0.149123
+0x3fc31674c59d3167
+// 0.140351
+0x3fc1f7047dc11f70
+// 0.131579
+0x3fc0d79435e50d79
+// 0.122807
+0x3fbf7047dc11f704
+// 0.114035
+0x3fbd31674c59d316
+// 0.105263
+0x3fbaf286bca1af28
+// 0.096491
+0x3fb8b3a62ce98b3a
+// 0.087719
+0x3fb674c59d31674c
+// 0.078947
+0x3fb435e50d79435e
+// 0.070175
+0x3fb1f7047dc11f70
+// 0.061404
+0x3faf7047dc11f704
+// 0.052632
+0x3faaf286bca1af28
+// 0.043860
+0x3fa674c59d31674c
+// 0.035088
+0x3fa1f7047dc11f70
+// 0.026316
+0x3f9af286bca1af28
+// 0.017544
+0x3f91f7047dc11f70
+// 0.008772
+0x3f81f7047dc11f70
+// 0.324324
+0x3fd4c1bacf914c1c
+// 0.319820
+0x3fd477ed8caf477f
+// 0.315315
+0x3fd42e2049cd42e2
+// 0.310811
+0x3fd3e45306eb3e45
+// 0.306306
+0x3fd39a85c40939a8
+// 0.301802
+0x3fd350b88127350c
+// 0.297297
+0x3fd306eb3e45306f
+// 0.292793
+0x3fd2bd1dfb632bd2
+// 0.288288
+0x3fd27350b8812735
+// 0.283784
+0x3fd22983759f2298
+// 0.279279
+0x3fd1dfb632bd1dfb
+// 0.274775
+0x3fd195e8efdb195f
+// 0.270270
+0x3fd14c1bacf914c2
+// 0.265766
+0x3fd1024e6a171025
+// 0.261261
+0x3fd0b88127350b88
+// 0.256757
+0x3fd06eb3e45306eb
+// 0.252252
+0x3fd024e6a171024e
+// 0.247748
+0x3fcfb632bd1dfb63
+// 0.243243
+0x3fcf22983759f22a
+// 0.238739
+0x3fce8efdb195e8f0
+// 0.234234
+0x3fcdfb632bd1dfb6
+// 0.229730
+0x3fcd67c8a60dd67d
+// 0.225225
+0x3fccd42e2049cd43
+// 0.220721
+0x3fcc40939a85c409
+// 0.216216
+0x3fcbacf914c1bad0
+// 0.211712
+0x3fcb195e8efdb196
+// 0.207207
+0x3fca85c40939a85c
+// 0.202703
+0x3fc9f22983759f23
+// 0.198198
+0x3fc95e8efdb195e9
+// 0.193694
+0x3fc8caf477ed8caf
+// 0.189189
+0x3fc83759f2298376
+// 0.184685
+0x3fc7a3bf6c657a3c
+// 0.180180
+0x3fc71024e6a17102
+// 0.175676
+0x3fc67c8a60dd67c9
+// 0.171171
+0x3fc5e8efdb195e8f
+// 0.166667
+0x3fc5555555555555
+// 0.162162
+0x3fc4c1bacf914c1c
+// 0.157658
+0x3fc42e2049cd42e2
+// 0.153153
+0x3fc39a85c40939a8
+// 0.148649
+0x3fc306eb3e45306f
+// 0.144144
+0x3fc27350b8812735
+// 0.139640
+0x3fc1dfb632bd1dfb
+// 0.135135
+0x3fc14c1bacf914c2
+// 0.130631
+0x3fc0b88127350b88
+// 0.126126
+0x3fc024e6a171024e
+// 0.121622
+0x3fbf22983759f22a
+// 0.117117
+0x3fbdfb632bd1dfb6
+// 0.112613
+0x3fbcd42e2049cd43
+// 0.108108
+0x3fbbacf914c1bad0
+// 0.103604
+0x3fba85c40939a85c
+// 0.099099
+0x3fb95e8efdb195e9
+// 0.094595
+0x3fb83759f2298376
+// 0.090090
+0x3fb71024e6a17102
+// 0.085586
+0x3fb5e8efdb195e8f
+// 0.081081
+0x3fb4c1bacf914c1c
+// 0.076577
+0x3fb39a85c40939a8
+// 0.072072
+0x3fb27350b8812735
+// 0.067568
+0x3fb14c1bacf914c2
+// 0.063063
+0x3fb024e6a171024e
+// 0.058559
+0x3fadfb632bd1dfb6
+// 0.054054
+0x3fabacf914c1bad0
+// 0.049550
+0x3fa95e8efdb195e9
+// 0.045045
+0x3fa71024e6a17102
+// 0.040541
+0x3fa4c1bacf914c1c
+// 0.036036
+0x3fa27350b8812735
+// 0.031532
+0x3fa024e6a171024e
+// 0.027027
+0x3f9bacf914c1bad0
+// 0.022523
+0x3f971024e6a17102
+// 0.018018
+0x3f927350b8812735
+// 0.013514
+0x3f8bacf914c1bad0
+// 0.009009
+0x3f827350b8812735
+// 0.004505
+0x3f727350b8812735
+// 0.315789
+0x3fd435e50d79435e
+// 0.307018
+0x3fd3a62ce98b3a63
+// 0.298246
+0x3fd31674c59d3167
+// 0.289474
+0x3fd286bca1af286c
+// 0.280702
+0x3fd1f7047dc11f70
+// 0.271930
+0x3fd1674c59d31675
+// 0.263158
+0x3fd0d79435e50d79
+// 0.254386
+0x3fd047dc11f7047e
+// 0.245614
+0x3fcf7047dc11f704
+// 0.236842
+0x3fce50d79435e50d
+// 0.228070
+0x3fcd31674c59d316
+// 0.219298
+0x3fcc11f7047dc11f
+// 0.210526
+0x3fcaf286bca1af28
+// 0.201754
+0x3fc9d31674c59d31
+// 0.192982
+0x3fc8b3a62ce98b3a
+// 0.184211
+0x3fc79435e50d7943
+// 0.175439
+0x3fc674c59d31674c
+// 0.166667
+0x3fc5555555555555
+// 0.157895
+0x3fc435e50d79435e
+// 0.149123
+0x3fc31674c59d3167
+// 0.140351
+0x3fc1f7047dc11f70
+// 0.131579
+0x3fc0d79435e50d79
+// 0.122807
+0x3fbf7047dc11f704
+// 0.114035
+0x3fbd31674c59d316
+// 0.105263
+0x3fbaf286bca1af28
+// 0.096491
+0x3fb8b3a62ce98b3a
+// 0.087719
+0x3fb674c59d31674c
+// 0.078947
+0x3fb435e50d79435e
+// 0.070175
+0x3fb1f7047dc11f70
+// 0.061404
+0x3faf7047dc11f704
+// 0.052632
+0x3faaf286bca1af28
+// 0.043860
+0x3fa674c59d31674c
+// 0.035088
+0x3fa1f7047dc11f70
+// 0.026316
+0x3f9af286bca1af28
+// 0.017544
+0x3f91f7047dc11f70
+// 0.008772
+0x3f81f7047dc11f70
+// 0.324324
+0x3fd4c1bacf914c1c
+// 0.319820
+0x3fd477ed8caf477f
+// 0.315315
+0x3fd42e2049cd42e2
+// 0.310811
+0x3fd3e45306eb3e45
+// 0.306306
+0x3fd39a85c40939a8
+// 0.301802
+0x3fd350b88127350c
+// 0.297297
+0x3fd306eb3e45306f
+// 0.292793
+0x3fd2bd1dfb632bd2
+// 0.288288
+0x3fd27350b8812735
+// 0.283784
+0x3fd22983759f2298
+// 0.279279
+0x3fd1dfb632bd1dfb
+// 0.274775
+0x3fd195e8efdb195f
+// 0.270270
+0x3fd14c1bacf914c2
+// 0.265766
+0x3fd1024e6a171025
+// 0.261261
+0x3fd0b88127350b88
+// 0.256757
+0x3fd06eb3e45306eb
+// 0.252252
+0x3fd024e6a171024e
+// 0.247748
+0x3fcfb632bd1dfb63
+// 0.243243
+0x3fcf22983759f22a
+// 0.238739
+0x3fce8efdb195e8f0
+// 0.234234
+0x3fcdfb632bd1dfb6
+// 0.229730
+0x3fcd67c8a60dd67d
+// 0.225225
+0x3fccd42e2049cd43
+// 0.220721
+0x3fcc40939a85c409
+// 0.216216
+0x3fcbacf914c1bad0
+// 0.211712
+0x3fcb195e8efdb196
+// 0.207207
+0x3fca85c40939a85c
+// 0.202703
+0x3fc9f22983759f23
+// 0.198198
+0x3fc95e8efdb195e9
+// 0.193694
+0x3fc8caf477ed8caf
+// 0.189189
+0x3fc83759f2298376
+// 0.184685
+0x3fc7a3bf6c657a3c
+// 0.180180
+0x3fc71024e6a17102
+// 0.175676
+0x3fc67c8a60dd67c9
+// 0.171171
+0x3fc5e8efdb195e8f
+// 0.166667
+0x3fc5555555555555
+// 0.162162
+0x3fc4c1bacf914c1c
+// 0.157658
+0x3fc42e2049cd42e2
+// 0.153153
+0x3fc39a85c40939a8
+// 0.148649
+0x3fc306eb3e45306f
+// 0.144144
+0x3fc27350b8812735
+// 0.139640
+0x3fc1dfb632bd1dfb
+// 0.135135
+0x3fc14c1bacf914c2
+// 0.130631
+0x3fc0b88127350b88
+// 0.126126
+0x3fc024e6a171024e
+// 0.121622
+0x3fbf22983759f22a
+// 0.117117
+0x3fbdfb632bd1dfb6
+// 0.112613
+0x3fbcd42e2049cd43
+// 0.108108
+0x3fbbacf914c1bad0
+// 0.103604
+0x3fba85c40939a85c
+// 0.099099
+0x3fb95e8efdb195e9
+// 0.094595
+0x3fb83759f2298376
+// 0.090090
+0x3fb71024e6a17102
+// 0.085586
+0x3fb5e8efdb195e8f
+// 0.081081
+0x3fb4c1bacf914c1c
+// 0.076577
+0x3fb39a85c40939a8
+// 0.072072
+0x3fb27350b8812735
+// 0.067568
+0x3fb14c1bacf914c2
+// 0.063063
+0x3fb024e6a171024e
+// 0.058559
+0x3fadfb632bd1dfb6
+// 0.054054
+0x3fabacf914c1bad0
+// 0.049550
+0x3fa95e8efdb195e9
+// 0.045045
+0x3fa71024e6a17102
+// 0.040541
+0x3fa4c1bacf914c1c
+// 0.036036
+0x3fa27350b8812735
+// 0.031532
+0x3fa024e6a171024e
+// 0.027027
+0x3f9bacf914c1bad0
+// 0.022523
+0x3f971024e6a17102
+// 0.018018
+0x3f927350b8812735
+// 0.013514
+0x3f8bacf914c1bad0
+// 0.009009
+0x3f827350b8812735
+// 0.004505
+0x3f727350b8812735
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Configs2_u32.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Configs2_u32.txt
new file mode 100644
index 000000000..014aee59e
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Configs2_u32.txt
@@ -0,0 +1,578 @@
+W
+288
+// 1
+0x00000001
+// 2
+0x00000002
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 5
+0x00000005
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 3
+0x00000003
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 5
+0x00000005
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 6
+0x00000006
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 2
+0x00000002
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 4
+0x00000004
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 5
+0x00000005
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 3
+0x00000003
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 5
+0x00000005
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 6
+0x00000006
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 2
+0x00000002
+// 5
+0x00000005
+// 5
+0x00000005
+// 1
+0x00000001
+// 4
+0x00000004
+// 5
+0x00000005
+// 5
+0x00000005
+// 1
+0x00000001
+// 5
+0x00000005
+// 5
+0x00000005
+// 5
+0x00000005
+// 1
+0x00000001
+// 3
+0x00000003
+// 5
+0x00000005
+// 5
+0x00000005
+// 1
+0x00000001
+// 5
+0x00000005
+// 5
+0x00000005
+// 5
+0x00000005
+// 1
+0x00000001
+// 6
+0x00000006
+// 5
+0x00000005
+// 5
+0x00000005
+// 2
+0x00000002
+// 2
+0x00000002
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 4
+0x00000004
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 5
+0x00000005
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 3
+0x00000003
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 5
+0x00000005
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 6
+0x00000006
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 2
+0x00000002
+// 8
+0x00000008
+// 4
+0x00000004
+// 2
+0x00000002
+// 4
+0x00000004
+// 8
+0x00000008
+// 4
+0x00000004
+// 2
+0x00000002
+// 5
+0x00000005
+// 8
+0x00000008
+// 4
+0x00000004
+// 2
+0x00000002
+// 3
+0x00000003
+// 8
+0x00000008
+// 4
+0x00000004
+// 2
+0x00000002
+// 5
+0x00000005
+// 8
+0x00000008
+// 4
+0x00000004
+// 2
+0x00000002
+// 6
+0x00000006
+// 8
+0x00000008
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 10
+0x0000000A
+// 5
+0x00000005
+// 2
+0x00000002
+// 4
+0x00000004
+// 10
+0x0000000A
+// 5
+0x00000005
+// 2
+0x00000002
+// 5
+0x00000005
+// 10
+0x0000000A
+// 5
+0x00000005
+// 2
+0x00000002
+// 3
+0x00000003
+// 10
+0x0000000A
+// 5
+0x00000005
+// 2
+0x00000002
+// 5
+0x00000005
+// 10
+0x0000000A
+// 5
+0x00000005
+// 2
+0x00000002
+// 6
+0x00000006
+// 10
+0x0000000A
+// 5
+0x00000005
+// 4
+0x00000004
+// 2
+0x00000002
+// 8
+0x00000008
+// 2
+0x00000002
+// 4
+0x00000004
+// 4
+0x00000004
+// 8
+0x00000008
+// 2
+0x00000002
+// 4
+0x00000004
+// 5
+0x00000005
+// 8
+0x00000008
+// 2
+0x00000002
+// 4
+0x00000004
+// 3
+0x00000003
+// 8
+0x00000008
+// 2
+0x00000002
+// 4
+0x00000004
+// 5
+0x00000005
+// 8
+0x00000008
+// 2
+0x00000002
+// 4
+0x00000004
+// 6
+0x00000006
+// 8
+0x00000008
+// 2
+0x00000002
+// 4
+0x00000004
+// 2
+0x00000002
+// 16
+0x00000010
+// 4
+0x00000004
+// 4
+0x00000004
+// 4
+0x00000004
+// 16
+0x00000010
+// 4
+0x00000004
+// 4
+0x00000004
+// 5
+0x00000005
+// 16
+0x00000010
+// 4
+0x00000004
+// 4
+0x00000004
+// 3
+0x00000003
+// 16
+0x00000010
+// 4
+0x00000004
+// 4
+0x00000004
+// 5
+0x00000005
+// 16
+0x00000010
+// 4
+0x00000004
+// 4
+0x00000004
+// 6
+0x00000006
+// 16
+0x00000010
+// 4
+0x00000004
+// 4
+0x00000004
+// 2
+0x00000002
+// 20
+0x00000014
+// 5
+0x00000005
+// 4
+0x00000004
+// 4
+0x00000004
+// 20
+0x00000014
+// 5
+0x00000005
+// 4
+0x00000004
+// 5
+0x00000005
+// 20
+0x00000014
+// 5
+0x00000005
+// 4
+0x00000004
+// 3
+0x00000003
+// 20
+0x00000014
+// 5
+0x00000005
+// 4
+0x00000004
+// 5
+0x00000005
+// 20
+0x00000014
+// 5
+0x00000005
+// 4
+0x00000004
+// 6
+0x00000006
+// 20
+0x00000014
+// 5
+0x00000005
+// 8
+0x00000008
+// 2
+0x00000002
+// 16
+0x00000010
+// 2
+0x00000002
+// 8
+0x00000008
+// 4
+0x00000004
+// 16
+0x00000010
+// 2
+0x00000002
+// 8
+0x00000008
+// 5
+0x00000005
+// 16
+0x00000010
+// 2
+0x00000002
+// 8
+0x00000008
+// 3
+0x00000003
+// 16
+0x00000010
+// 2
+0x00000002
+// 8
+0x00000008
+// 5
+0x00000005
+// 16
+0x00000010
+// 2
+0x00000002
+// 8
+0x00000008
+// 6
+0x00000006
+// 16
+0x00000010
+// 2
+0x00000002
+// 8
+0x00000008
+// 2
+0x00000002
+// 32
+0x00000020
+// 4
+0x00000004
+// 8
+0x00000008
+// 4
+0x00000004
+// 32
+0x00000020
+// 4
+0x00000004
+// 8
+0x00000008
+// 5
+0x00000005
+// 32
+0x00000020
+// 4
+0x00000004
+// 8
+0x00000008
+// 3
+0x00000003
+// 32
+0x00000020
+// 4
+0x00000004
+// 8
+0x00000008
+// 5
+0x00000005
+// 32
+0x00000020
+// 4
+0x00000004
+// 8
+0x00000008
+// 6
+0x00000006
+// 32
+0x00000020
+// 4
+0x00000004
+// 8
+0x00000008
+// 2
+0x00000002
+// 40
+0x00000028
+// 5
+0x00000005
+// 8
+0x00000008
+// 4
+0x00000004
+// 40
+0x00000028
+// 5
+0x00000005
+// 8
+0x00000008
+// 5
+0x00000005
+// 40
+0x00000028
+// 5
+0x00000005
+// 8
+0x00000008
+// 3
+0x00000003
+// 40
+0x00000028
+// 5
+0x00000005
+// 8
+0x00000008
+// 5
+0x00000005
+// 40
+0x00000028
+// 5
+0x00000005
+// 8
+0x00000008
+// 6
+0x00000006
+// 40
+0x00000028
+// 5
+0x00000005
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Configs3_u32.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Configs3_u32.txt
new file mode 100644
index 000000000..11b1d93bc
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Configs3_u32.txt
@@ -0,0 +1,290 @@
+W
+144
+// 1
+0x00000001
+// 4
+0x00000004
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 8
+0x00000008
+// 2
+0x00000002
+// 2
+0x00000002
+// 1
+0x00000001
+// 4
+0x00000004
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 8
+0x00000008
+// 4
+0x00000004
+// 4
+0x00000004
+// 1
+0x00000001
+// 4
+0x00000004
+// 5
+0x00000005
+// 5
+0x00000005
+// 1
+0x00000001
+// 8
+0x00000008
+// 5
+0x00000005
+// 5
+0x00000005
+// 2
+0x00000002
+// 8
+0x00000008
+// 2
+0x00000002
+// 4
+0x00000004
+// 2
+0x00000002
+// 16
+0x00000010
+// 2
+0x00000002
+// 4
+0x00000004
+// 2
+0x00000002
+// 8
+0x00000008
+// 4
+0x00000004
+// 8
+0x00000008
+// 2
+0x00000002
+// 16
+0x00000010
+// 4
+0x00000004
+// 8
+0x00000008
+// 2
+0x00000002
+// 8
+0x00000008
+// 5
+0x00000005
+// 10
+0x0000000A
+// 2
+0x00000002
+// 16
+0x00000010
+// 5
+0x00000005
+// 10
+0x0000000A
+// 4
+0x00000004
+// 16
+0x00000010
+// 2
+0x00000002
+// 8
+0x00000008
+// 4
+0x00000004
+// 32
+0x00000020
+// 2
+0x00000002
+// 8
+0x00000008
+// 4
+0x00000004
+// 16
+0x00000010
+// 4
+0x00000004
+// 16
+0x00000010
+// 4
+0x00000004
+// 32
+0x00000020
+// 4
+0x00000004
+// 16
+0x00000010
+// 4
+0x00000004
+// 16
+0x00000010
+// 5
+0x00000005
+// 20
+0x00000014
+// 4
+0x00000004
+// 32
+0x00000020
+// 5
+0x00000005
+// 20
+0x00000014
+// 5
+0x00000005
+// 20
+0x00000014
+// 2
+0x00000002
+// 10
+0x0000000A
+// 5
+0x00000005
+// 40
+0x00000028
+// 2
+0x00000002
+// 10
+0x0000000A
+// 5
+0x00000005
+// 20
+0x00000014
+// 4
+0x00000004
+// 20
+0x00000014
+// 5
+0x00000005
+// 40
+0x00000028
+// 4
+0x00000004
+// 20
+0x00000014
+// 5
+0x00000005
+// 20
+0x00000014
+// 5
+0x00000005
+// 25
+0x00000019
+// 5
+0x00000005
+// 40
+0x00000028
+// 5
+0x00000005
+// 25
+0x00000019
+// 8
+0x00000008
+// 32
+0x00000020
+// 2
+0x00000002
+// 16
+0x00000010
+// 8
+0x00000008
+// 64
+0x00000040
+// 2
+0x00000002
+// 16
+0x00000010
+// 8
+0x00000008
+// 32
+0x00000020
+// 4
+0x00000004
+// 32
+0x00000020
+// 8
+0x00000008
+// 64
+0x00000040
+// 4
+0x00000004
+// 32
+0x00000020
+// 8
+0x00000008
+// 32
+0x00000020
+// 5
+0x00000005
+// 40
+0x00000028
+// 8
+0x00000008
+// 64
+0x00000040
+// 5
+0x00000005
+// 40
+0x00000028
+// 9
+0x00000009
+// 36
+0x00000024
+// 2
+0x00000002
+// 18
+0x00000012
+// 9
+0x00000009
+// 72
+0x00000048
+// 2
+0x00000002
+// 18
+0x00000012
+// 9
+0x00000009
+// 36
+0x00000024
+// 4
+0x00000004
+// 36
+0x00000024
+// 9
+0x00000009
+// 72
+0x00000048
+// 4
+0x00000004
+// 36
+0x00000024
+// 9
+0x00000009
+// 36
+0x00000024
+// 5
+0x00000005
+// 45
+0x0000002D
+// 9
+0x00000009
+// 72
+0x00000048
+// 5
+0x00000005
+// 45
+0x0000002D
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Input2_f64.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Input2_f64.txt
new file mode 100644
index 000000000..19cbebe06
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Input2_f64.txt
@@ -0,0 +1,1982 @@
+D
+990
+// -1.000000
+0xbff0000000000000
+// 0.091615
+0x3fb77417f92ed353
+// 0.245660
+0x3fcf71ca30a854d6
+// -1.000000
+0xbff0000000000000
+// 1.000000
+0x3ff0000000000000
+// 0.206561
+0x3fca7095b786f6ab
+// -1.000000
+0xbff0000000000000
+// -0.151852
+0xbfc36fe44ca905db
+// 1.000000
+0x3ff0000000000000
+// 0.285768
+0x3fd24a03dd6107fb
+// -0.292136
+0xbfd2b25b1083cad7
+// -1.000000
+0xbff0000000000000
+// 1.000000
+0x3ff0000000000000
+// 0.797556
+0x3fe9859362f4428a
+// 0.205195
+0x3fca43d7a08eb72c
+// 0.677530
+0x3fe5ae537556d731
+// -1.000000
+0xbff0000000000000
+// 0.230739
+0x3fcd88dce9745e57
+// -0.661063
+0xbfe5276e6bfac911
+// -0.024552
+0xbf9924348385ace3
+// -0.733891
+0xbfe77c084a6bccd7
+// -0.689524
+0xbfe6109426aee323
+// -1.000000
+0xbff0000000000000
+// 0.209539
+0x3fcad2305b0e40b9
+// 0.142182
+0x3fc2330785a1d530
+// 1.000000
+0x3ff0000000000000
+// 0.796362
+0x3fe97bcc9124297e
+// 0.268334
+0x3fd12c634595b159
+// -0.485840
+0xbfdf17fef1cabc5d
+// 1.000000
+0x3ff0000000000000
+// 0.458522
+0x3fdd586c491d4540
+// 0.559771
+0x3fe1e9a548bfccff
+// 0.313071
+0x3fd4095c6b14fec0
+// -1.000000
+0xbff0000000000000
+// 0.050408
+0x3fa9cf11c9674ea6
+// -0.204406
+0xbfca29f654a45ebf
+// 1.000000
+0x3ff0000000000000
+// -0.516248
+0xbfe0851b7902e53b
+// 0.562349
+0x3fe1fec26790d991
+// 0.449671
+0x3fdcc768c732b0ec
+// -0.002391
+0xbf6396a647a8445a
+// 0.046775
+0x3fa7f2e399865594
+// -0.457840
+0xbfdd4d40d5fc2d55
+// 1.000000
+0x3ff0000000000000
+// 0.708327
+0x3fe6aa9ce97c2295
+// -0.722115
+0xbfe71b9121e3d0fe
+// 0.496506
+0x3fdfc6c0b5609b44
+// -0.045193
+0xbfa723842bdd8345
+// -0.002488
+0xbf6462ba1c3b38d8
+// 1.000000
+0x3ff0000000000000
+// 0.196746
+0x3fc92efc49b61104
+// -0.522389
+0xbfe0b769927890eb
+// 0.675515
+0x3fe59dd2028f5942
+// -0.891207
+0xbfec84c4918209d7
+// -1.000000
+0xbff0000000000000
+// 0.226499
+0x3fccfde7d04994cf
+// 0.386006
+0x3fd8b45077365a55
+// -1.000000
+0xbff0000000000000
+// -0.190357
+0xbfc85da01e9e2b6b
+// -0.244561
+0xbfcf4dc635a1f0c4
+// 0.181884
+0x3fc747fb028d3511
+// -1.000000
+0xbff0000000000000
+// 0.750110
+0x3fe800e666069d7e
+// -0.365362
+0xbfd762157aafc61a
+// -0.485552
+0xbfdf1347860c1f18
+// -0.351788
+0xbfd683b1adb47375
+// -1.000000
+0xbff0000000000000
+// 0.864484
+0x3feba9db4c037511
+// -0.165850
+0xbfc53a93deecb620
+// 0.048976
+0x3fa913598d9e1625
+// -0.440325
+0xbfdc2e491f083110
+// -1.000000
+0xbff0000000000000
+// -0.560661
+0xbfe1f0f05ed31d92
+// -0.559457
+0xbfe1e7115a66d34e
+// -0.027409
+0xbf9c1101e7ab910c
+// 0.933974
+0x3fede31c8a7a3968
+// -1.000000
+0xbff0000000000000
+// 0.757627
+0x3fe83e7ae861f15b
+// -0.383806
+0xbfd89045a9788b58
+// 1.000000
+0x3ff0000000000000
+// -0.199620
+0xbfc98d26db98b153
+// 0.432510
+0x3fdbae3f22479e5c
+// 1.000000
+0x3ff0000000000000
+// -0.110989
+0xbfbc69c4485b52dd
+// -0.564885
+0xbfe213891cab9fe6
+// 0.713573
+0x3fe6d596c34032c4
+// 1.000000
+0x3ff0000000000000
+// 0.345269
+0x3fd618e283e0548a
+// 0.196657
+0x3fc92c11fd5c2594
+// -0.273276
+0xbfd17d5a0c889755
+// 1.000000
+0x3ff0000000000000
+// -0.698946
+0xbfe65dc2f481b53d
+// -0.038561
+0xbfa3be3df783ae38
+// -0.614585
+0xbfe3aaae04000f3f
+// -0.589488
+0xbfe2dd16c91e3246
+// 0.703971
+0x3fe686ee8a86cf81
+// 0.137613
+0x3fc19d4cf01aa95a
+// 0.143016
+0x3fc24e590bb9972a
+// -0.236660
+0xbfce4ae1bcd0ae9a
+// -0.061512
+0xbfaf7e8c5734f183
+// 0.402287
+0x3fd9bf133d7caa49
+// -1.000000
+0xbff0000000000000
+// -0.223699
+0xbfcca22b61d8bf43
+// -0.386871
+0xbfd8c27f4de1cc46
+// -0.182254
+0xbfc754155f934e27
+// -0.066672
+0xbfb111656bf2f883
+// 0.486397
+0x3fdf21205b6ef2e3
+// -0.572013
+0xbfe24dedb671abfc
+// 0.066551
+0x3fb109810352e36d
+// 0.436841
+0x3fdbf533e83d2d7a
+// -0.091612
+0xbfb773e103310cba
+// 0.262427
+0x3fd0cb9974b8177b
+// 1.000000
+0x3ff0000000000000
+// -0.343683
+0xbfd5fee6be5bcc37
+// -0.152056
+0xbfc37695b6607243
+// 0.099887
+0x3fb9922f02681801
+// -0.537700
+0xbfe134d59ebc8985
+// 0.390450
+0x3fd8fd226026b0ff
+// -1.000000
+0xbff0000000000000
+// -0.510459
+0xbfe055af18ed3241
+// -0.020406
+0xbf94e535f5b2bd85
+// 0.335698
+0x3fd57c1587133e2a
+// 1.000000
+0x3ff0000000000000
+// 0.004182
+0x3f712174c4d8a481
+// -0.328764
+0xbfd50a77cac9b62a
+// -0.055097
+0xbfac35aa56bef719
+// -0.557066
+0xbfe1d37c1e02c49c
+// 0.223310
+0x3fcc956f6de04021
+// -0.766529
+0xbfe8876826524114
+// 0.500092
+0x3fe000c0a45c216c
+// -0.869255
+0xbfebd0efff8cbc18
+// 0.096194
+0x3fb8a0283a73349b
+// 0.106258
+0x3fbb33b98659454f
+// -1.000000
+0xbff0000000000000
+// -0.824806
+0xbfea64cfc1554164
+// 0.687077
+0x3fe5fc89293e27e5
+// 0.105469
+0x3fbafffc6d62c308
+// -0.552557
+0xbfe1ae8cdb953097
+// -1.000000
+0xbff0000000000000
+// -0.167096
+0xbfc563642456c72a
+// 0.464525
+0x3fddbac7022b6c62
+// 0.126030
+0x3fc021bd42bd4383
+// 0.147809
+0x3fc2eb67349cd8ae
+// 0.024853
+0x3f99731bed894e91
+// 0.627019
+0x3fe41089372b47cb
+// -0.478768
+0xbfdea42164e2dd89
+// 0.069722
+0x3fb1d9480d789340
+// 0.379428
+0x3fd8488bfd4ac4ff
+// 0.710627
+0x3fe6bd741616dd31
+// -0.145490
+0xbfc29f66c10f277e
+// -0.257159
+0xbfd0754a226eeafb
+// -1.000000
+0xbff0000000000000
+// -0.155277
+0xbfc3e021dc1f5d08
+// -0.020016
+0xbf947f198468a254
+// -0.255582
+0xbfd05b762e48ecb7
+// 0.174923
+0x3fc663e348f42ebc
+// -0.633466
+0xbfe4455a2046ee71
+// -0.049217
+0xbfa932f2eb497e32
+// -0.055505
+0xbfac6b233867d054
+// 0.407806
+0x3fda197e9a3372e5
+// 0.295007
+0x3fd2e1637f789e22
+// 0.260183
+0x3fd0a6d71c7defaf
+// -0.163319
+0xbfc4e7a551ce7afa
+// -0.303613
+0xbfd36e64ed50e3de
+// -0.032828
+0xbfa0cee55b17bf3a
+// 1.000000
+0x3ff0000000000000
+// 0.533394
+0x3fe11190fd515a1d
+// 0.666388
+0x3fe5530c4e8a336b
+// 1.000000
+0x3ff0000000000000
+// -0.076529
+0xbfb39761e0e8432e
+// -0.643328
+0xbfe4962429a1ced5
+// -0.409071
+0xbfda2e37612df922
+// 0.331553
+0x3fd53828a22964ef
+// -0.195949
+0xbfc914db4e5edcdc
+// 0.399987
+0x3fd999644fb5f0f0
+// 0.949426
+0x3fee61b320aaae60
+// 0.316585
+0x3fd442ec3b23fcd8
+// 0.256407
+0x3fd068faddc96662
+// -0.091866
+0xbfb7848b7dbf362f
+// -0.288250
+0xbfd272b057941010
+// 0.197123
+0x3fc93b567b7e6207
+// -0.113064
+0xbfbcf1ca80011c8e
+// 0.731793
+0x3fe76ad9aba165e6
+// -0.716610
+0xbfe6ee78509264b6
+// 0.896068
+0x3fecac9646f0199d
+// 0.268393
+0x3fd12d5a298db756
+// -0.498653
+0xbfdfe9ef2c073b27
+// -1.000000
+0xbff0000000000000
+// -0.544844
+0xbfe16f5bb08a752b
+// -0.399919
+0xbfd9984708412ea7
+// 0.664099
+0x3fe5404d347d3706
+// -0.453792
+0xbfdd0aec176c158a
+// -0.067719
+0xbfb15604f0eeea19
+// -0.666709
+0xbfe555ad4cbb33ea
+// -0.395603
+0xbfd9518e5b5cbbd3
+// 0.130488
+0x3fc0b3d357f1ccbe
+// -1.000000
+0xbff0000000000000
+// 0.037136
+0x3fa3036c9fbed7dd
+// -1.000000
+0xbff0000000000000
+// 0.611317
+0x3fe38fe8eb418826
+// -0.995700
+0xbfefdcc6d6a7219b
+// -0.021111
+0xbf959e0fc107bb4e
+// -0.041948
+0xbfa57a2d0b40e809
+// 0.469212
+0x3fde0792bdd2f627
+// -0.500401
+0xbfe00349e87560ef
+// 0.685117
+0x3fe5ec7b6b65ffaa
+// 0.502672
+0x3fe015e48e675885
+// 0.000621
+0x3f445928259cd140
+// -0.154189
+0xbfc3bc7b00ea7d62
+// 0.035161
+0x3fa200a7cdd81ef6
+// 1.000000
+0x3ff0000000000000
+// 0.343105
+0x3fd5f56fbc6fd6f9
+// -0.091369
+0xbfb763fc57322a65
+// 0.707946
+0x3fe6a77f4e1508d0
+// -0.079897
+0xbfb474244daa87aa
+// -0.284703
+0xbfd23892916c94bf
+// 0.167237
+0x3fc5680512194ba9
+// 0.207347
+0x3fca8a5b051141e7
+// -0.078868
+0xbfb430b741e41db8
+// -1.000000
+0xbff0000000000000
+// 0.673680
+0x3fe58ec9afa8cc1a
+// 0.013918
+0x3f8c810bcfbac72c
+// 1.000000
+0x3ff0000000000000
+// -0.398582
+0xbfd9825fc58d4644
+// 0.188633
+0x3fc82524557639b6
+// 0.970956
+0x3fef121315be1932
+// -0.467839
+0xbfddf1135d379023
+// 0.283967
+0x3fd22c84d6c30ff9
+// 0.821854
+0x3fea4ca163b784f1
+// -0.968795
+0xbfef005f5c37615f
+// -0.270969
+0xbfd1578d4087b829
+// 0.723800
+0x3fe7295e1abd7c33
+// 1.000000
+0x3ff0000000000000
+// 0.614751
+0x3fe3ac0b1a2222bb
+// -0.172002
+0xbfc6042d6424d941
+// 0.211874
+0x3fcb1eafddb93b44
+// -0.489438
+0xbfdf52f420248699
+// -0.179804
+0xbfc703d331a6c41c
+// 1.000000
+0x3ff0000000000000
+// -0.477384
+0xbfde8d7777026f16
+// 0.102948
+0x3fba5acf2112eee1
+// -0.472280
+0xbfde39d548c5ef46
+// -0.885968
+0xbfec59d8a96cc5a9
+// -0.077445
+0xbfb3d3703714714d
+// -0.076577
+0xbfb39a88bc3a0540
+// -0.467082
+0xbfdde4ab797798a9
+// 0.526072
+0x3fe0d5942f0c6fbf
+// 0.844520
+0x3feb064ed6df10dd
+// 0.189881
+0x3fc84e016e7fb938
+// -1.000000
+0xbff0000000000000
+// 0.251064
+0x3fd0116f6631faef
+// 0.050984
+0x3faa1aa02ab83a93
+// 0.160803
+0x3fc49531c50000aa
+// -0.092075
+0xbfb7923434083238
+// 0.182948
+0x3fc76ad65833336d
+// -0.659502
+0xbfe51aa46be1ac1c
+// 0.665647
+0x3fe54cfbd81977c9
+// -0.560123
+0xbfe1ec863eed03a1
+// 0.139420
+0x3fc1d88705dcfbc9
+// 0.539217
+0x3fe14144613b78ae
+// -0.348469
+0xbfd64d52d50766da
+// -0.446434
+0xbfdc926003f3a7e8
+// -0.716454
+0xbfe6ed3029a70b3d
+// -0.575153
+0xbfe267a79fd9810f
+// 0.161935
+0x3fc4ba47ed0315f9
+// -1.000000
+0xbff0000000000000
+// 0.470081
+0x3fde15d0b531d868
+// 0.024367
+0x3f98f3b3a4db70b2
+// 0.408346
+0x3fda22583b1cb8ba
+// 0.543112
+0x3fe1612ccfce9adf
+// 0.118766
+0x3fbe6771f4626989
+// 0.187014
+0x3fc7f01726e18bea
+// -0.033011
+0xbfa0e6d79dd95eb4
+// 0.538255
+0x3fe13961cc516d6a
+// 0.263194
+0x3fd0d82d32d1cfd7
+// -0.148123
+0xbfc2f5b4ebcc7e53
+// -0.267351
+0xbfd11c4697345c3e
+// 0.392882
+0x3fd924fb0621f38c
+// -0.417725
+0xbfdabc020e2af5f6
+// 0.007936
+0x3f8040dd0320f7e3
+// 0.463362
+0x3fdda7b8afd8d4c9
+// -0.002398
+0xbf63a4c0b18be826
+// -0.559040
+0xbfe1e3a75420fa30
+// 0.391166
+0x3fd908de25a319f2
+// 0.081777
+0x3fb4ef54d7bdbb5c
+// 0.672924
+0x3fe58898df391051
+// 0.651134
+0x3fe4d616a286a818
+// -0.463301
+0xbfdda6ba3a4bead3
+// -1.000000
+0xbff0000000000000
+// 0.195036
+0x3fc8f6eef7958f2f
+// 0.288816
+0x3fd27bf5b159b56f
+// 0.246919
+0x3fcf9b070e19cf3d
+// -0.812359
+0xbfe9fed8f604b20c
+// -0.435008
+0xbfdbd72c444c396c
+// 0.402821
+0x3fd9c7d04f6c5030
+// -0.498760
+0xbfdfebafb81d655c
+// 0.078604
+0x3fb41f5f0e87d395
+// -0.785474
+0xbfe9229b3fd2aa0f
+// -0.367721
+0xbfd788bb93b80fac
+// 0.102552
+0x3fba40d7fe88aacf
+// 0.711139
+0x3fe6c1a6f79ef5e4
+// -0.274207
+0xbfd18c9adc0250bf
+// 0.487797
+0x3fdf380fd16ed5a4
+// -0.292611
+0xbfd2ba21d219675c
+// 0.440849
+0x3fdc36dfff21b527
+// 0.289299
+0x3fd283dffa435d9b
+// -0.367025
+0xbfd77d5821378ad3
+// -0.661252
+0xbfe528fa851f3efa
+// 0.236856
+0x3fce5148ee5ece84
+// 1.000000
+0x3ff0000000000000
+// -0.480588
+0xbfdec1f4301285d6
+// -1.000000
+0xbff0000000000000
+// -0.844426
+0xbfeb05899694ea7a
+// -0.146435
+0xbfc2be60c082c840
+// 0.132310
+0x3fc0ef8c7e7a701c
+// 0.294918
+0x3fd2dfef9f523e90
+// -0.082954
+0xbfb53c7539a62d16
+// 0.369406
+0x3fd7a45ad5fb2456
+// -0.923444
+0xbfed8cd9ba90a8c5
+// 0.372518
+0x3fd7d75673d4cfab
+// -0.106231
+0xbfbb31f97dd8a73b
+// -0.258185
+0xbfd08618fa591cd4
+// -0.211324
+0xbfcb0ca9a34195ff
+// 0.201788
+0x3fc9d43228e5cf8e
+// 0.435607
+0x3fdbe0fde18c4ee1
+// -0.245762
+0xbfcf752201a296d8
+// 0.116360
+0x3fbdc9c20a918440
+// -1.000000
+0xbff0000000000000
+// 0.392354
+0x3fd91c52f1893a29
+// -0.023781
+0xbf985a2363195552
+// -0.094010
+0xbfb811042e0ccdfa
+// -0.174938
+0xbfc6646093b19307
+// 0.018320
+0x3f92c26028f44ed3
+// 0.200747
+0x3fc9b21200525b4e
+// 0.125715
+0x3fc017700cabd71c
+// 0.537190
+0x3fe130aa1545c5d4
+// -0.550690
+0xbfe19f41ad7af6fb
+// 0.225326
+0x3fccd77e7082cfb9
+// -0.074735
+0xbfb321d487c80422
+// 0.408122
+0x3fda1eadcbdfb5b2
+// 0.572849
+0x3fe254c6dcdd91a9
+// -0.444138
+0xbfdc6cc03a62566e
+// -0.739353
+0xbfe7a8c80af3fcc4
+// -0.391209
+0xbfd9099259a388da
+// 0.190457
+0x3fc860e555bf6e90
+// -0.570253
+0xbfe23f837226da79
+// 1.000000
+0x3ff0000000000000
+// -0.126821
+0xbfc03ba9d073454b
+// -0.821289
+0xbfea47ff23816495
+// -0.427494
+0xbfdb5c0f6ea0e1e8
+// 0.203994
+0x3fca1c783d993938
+// -0.460815
+0xbfdd7dff8f89176e
+// -0.552465
+0xbfe1adca0b5b8d62
+// -0.211439
+0xbfcb106cf174c7d0
+// 0.338784
+0x3fd5aea16117f959
+// 0.145740
+0x3fc2a79f97d44bdc
+// -0.600972
+0xbfe33b2a9968cdf9
+// -0.356835
+0xbfd6d661a7a55a55
+// 0.436373
+0x3fdbed8aa65f97ff
+// 0.370854
+0x3fd7bc12e9f8e099
+// 0.166113
+0x3fc54331ce31718b
+// 0.437783
+0x3fdc04a3747252cd
+// -0.276614
+0xbfd1b40c91616489
+// -0.683286
+0xbfe5dd79e8258fb0
+// -0.919340
+0xbfed6b3c8d96dff4
+// 0.015462
+0x3f8faa4927746fb1
+// -0.259656
+0xbfd09e3428286fad
+// 0.888295
+0x3fec6ce8af223cfd
+// 0.338789
+0x3fd5aeb821bb85db
+// -0.862379
+0xbfeb989bc3d57d5c
+// 0.113848
+0x3fbd25296803faa0
+// 0.852130
+0x3feb44a64f873de8
+// -0.797175
+0xbfe98275c5a39b08
+// -0.260584
+0xbfd0ad67db0abfb2
+// 1.000000
+0x3ff0000000000000
+// -0.115862
+0xbfbda91a9e7da18a
+// -0.095548
+0xbfb875d344845512
+// 0.238975
+0x3fce96bf839e3c9e
+// 0.022118
+0x3f96a62ebb4af809
+// 0.255771
+0x3fd05e8cc5fd7db8
+// -0.634060
+0xbfe44a390db0cfcc
+// -0.582790
+0xbfe2a63697bf14e9
+// -1.000000
+0xbff0000000000000
+// -0.011373
+0xbf874ac9e714c259
+// 0.423367
+0x3fdb18716c8a475d
+// -0.471629
+0xbfde2f2b17afb5ed
+// -0.525729
+0xbfe0d2c632e56096
+// 0.225441
+0x3fccdb3d62ead3a3
+// 0.490384
+0x3fdf6272fa521df8
+// -0.223637
+0xbfcca022a524180d
+// 0.169739
+0x3fc5ba04b42a5030
+// -0.213657
+0xbfcb5920e54b433d
+// 0.485936
+0x3fdf1994fdeff464
+// 0.131816
+0x3fc0df54d2d7e69d
+// -0.733052
+0xbfe775289795c102
+// 0.840636
+0x3feae67d5b9e2762
+// 0.192031
+0x3fc89476e8227c72
+// 0.271504
+0x3fd16050d4600ddb
+// -0.769222
+0xbfe89d77355ba794
+// 0.545175
+0x3fe17213995a83c1
+// -0.540316
+0xbfe14a4551bf2d3a
+// -0.379001
+0xbfd8418bc425a3ad
+// 0.923134
+0x3fed8a5146afa105
+// 1.000000
+0x3ff0000000000000
+// -0.114882
+0xbfbd68e443dd36aa
+// 0.581679
+0x3fe29d1cf6df2cd7
+// -0.243045
+0xbfcf1c1593908f7c
+// 0.245173
+0x3fcf61d05944bfa0
+// -0.856568
+0xbfeb69006ff65257
+// -0.759106
+0xbfe84a98d1214ed8
+// -0.291484
+0xbfd2a7ae25652f08
+// -0.123811
+0xbfbfb214e34e5cc7
+// -0.498638
+0xbfdfe9b16d0b2ea2
+// -0.479106
+0xbfdea9aa89ec2bac
+// 0.004301
+0x3f719d6e5c1c4f47
+// 0.111116
+0x3fbc721fbc1b5e9c
+// 0.725914
+0x3fe73aaff9cc26b1
+// -0.331954
+0xbfd53ebc985bfc0d
+// -0.018356
+0xbf92cbffa89f4b9f
+// -0.048792
+0xbfa8fb51ac38fc60
+// 0.339211
+0x3fd5b5a0185fae5c
+// -0.695117
+0xbfe63e663564e9f4
+// -0.408888
+0xbfda2b37a3517095
+// -0.173594
+0xbfc638573f8ccee0
+// -0.629084
+0xbfe42174d2eeaf66
+// 0.373343
+0x3fd7e4d94ed6e0c4
+// -0.887956
+0xbfec6a22fcba8697
+// 1.000000
+0x3ff0000000000000
+// 0.402315
+0x3fd9bf892b5ac28e
+// 0.794898
+0x3fe96fcd533b8ad3
+// -0.398954
+0xbfd988785234a198
+// 0.097254
+0x3fb8e5a4c335390b
+// 0.028733
+0x3f9d6c40650a1fb1
+// -0.451109
+0xbfdcdef73a147f46
+// -0.143500
+0xbfc25e39603887a0
+// 0.229755
+0x3fcd689958c8a8cb
+// -0.148576
+0xbfc30489993affec
+// 0.066974
+0x3fb12533a8d20b55
+// -0.347333
+0xbfd63ab4d8f44c49
+// -0.280609
+0xbfd1f580b78ab59a
+// -0.174632
+0xbfc65a54babce630
+// -0.158746
+0xbfc451c7af18c84d
+// -0.394482
+0xbfd93f3131084adf
+// 0.610742
+0x3fe38b32d48fb986
+// 0.941908
+0x3fee241baea071f5
+// 0.094418
+0x3fb82bcf0159207f
+// -0.337783
+0xbfd59e3d48e09e41
+// 0.571527
+0x3fe249f2fd469aa5
+// 0.726367
+0x3fe73e66375f3db2
+// 0.088599
+0x3fb6ae65c5f35139
+// 0.323405
+0x3fd4b2ace8595e10
+// -0.654396
+0xbfe4f0cf6bcd1555
+// -0.085562
+0xbfb5e75f608448ba
+// 0.427580
+0x3fdb5d79264135b5
+// -0.091363
+0xbfb76391f5310fca
+// 0.114785
+0x3fbd628635108c69
+// 0.330627
+0x3fd528fdd0da952d
+// 0.713511
+0x3fe6d514202abeff
+// -1.000000
+0xbff0000000000000
+// 0.157745
+0x3fc430feacb489d6
+// 0.001864
+0x3f5e8ac1c4e3c1a3
+// -0.108163
+0xbfbbb08effdd39c8
+// -0.466291
+0xbfddd7b51f9680bc
+// -0.907780
+0xbfed0c8980cfc567
+// 1.000000
+0x3ff0000000000000
+// 0.010160
+0x3f84cf03267a37c6
+// 0.530045
+0x3fe0f620d2dec559
+// 0.810767
+0x3fe9f1cd7b8e1c4c
+// -0.470533
+0xbfde1d3809c5186c
+// -0.051534
+0xbfaa62a9a6020a09
+// 0.576790
+0x3fe2751064c21f7c
+// 0.517248
+0x3fe08d4c2cb484fe
+// -0.017902
+0xbf9254de07ee8d45
+// 0.258962
+0x3fd092d58119f894
+// -0.736019
+0xbfe78d78b4d08d48
+// -0.627195
+0xbfe411fa65a88f3a
+// -0.107489
+0xbfbb846b699fa06f
+// 0.748791
+0x3fe7f61794d484cc
+// -0.788436
+0xbfe93adda076fd19
+// -1.000000
+0xbff0000000000000
+// -0.357508
+0xbfd6e16773ff0bb3
+// -0.517531
+0xbfe08f9d8f3b6e98
+// -0.260985
+0xbfd0b3fa0f7d61c8
+// -0.364685
+0xbfd756fe64f7a5c4
+// 0.804567
+0x3fe9bf029aba0b3b
+// 0.821152
+0x3fea46dffd6bb3f3
+// -0.170647
+0xbfc5d7c5232afb70
+// 0.872447
+0x3febeb160c984ce7
+// -0.024445
+0xbf99081b04cf6325
+// 0.171954
+0x3fc6029ac23a6997
+// 0.141187
+0x3fc2126a59c394d4
+// -0.180916
+0xbfc72842ddcf46a4
+// 0.501050
+0x3fe00899274d4c71
+// -0.037788
+0xbfa358f7b8c4f934
+// -0.927487
+0xbfedadf920003f82
+// 0.693774
+0x3fe6336660e42cf6
+// 1.000000
+0x3ff0000000000000
+// -0.289126
+0xbfd281099bcc0284
+// -0.653697
+0xbfe4eb165f3a7fdf
+// -0.310871
+0xbfd3e54fbb1d0d4b
+// -0.144795
+0xbfc288a0ea531417
+// -0.882088
+0xbfec3a108706b5c3
+// 0.167683
+0x3fc5769f7aa5099d
+// 0.126115
+0x3fc0248971fb9952
+// 0.286216
+0x3fd2515d5a601e37
+// -0.086327
+0xbfb6198630a9511c
+// 0.132927
+0x3fc103c1bdcc9624
+// -0.146876
+0xbfc2ccd5b8dd73df
+// -0.652652
+0xbfe4e285fe9e1b20
+// -0.896410
+0xbfecaf62fd73b790
+// -0.955604
+0xbfee944f55f1c2b0
+// 0.154305
+0x3fc3c04493322948
+// 0.427113
+0x3fdb55d1e21b584f
+// 0.190876
+0x3fc86e9cb6a33a40
+// 0.083501
+0x3fb56055137fe1a5
+// 0.454284
+0x3fdd12fbd8f3b672
+// -1.000000
+0xbff0000000000000
+// 0.932265
+0x3fedd51dd7d5a38c
+// 0.630542
+0x3fe42d66cc557afa
+// -0.442829
+0xbfdc574f7cc637ea
+// -0.384558
+0xbfd89c98fa57cf88
+// -0.541392
+0xbfe1531646313ae7
+// -0.808473
+0xbfe9df029098a738
+// 0.661056
+0x3fe5275f1bf2bf2e
+// -0.051742
+0xbfaa7dfd74745620
+// 0.192915
+0x3fc8b16f3bd2eee8
+// -1.000000
+0xbff0000000000000
+// 0.446781
+0x3fdc980e1500d536
+// -0.155545
+0xbfc3e8e3bd25dee0
+// 0.008131
+0x3f80a70a12f4a5c4
+// -0.069731
+0xbfb1d9e0de1fcd7b
+// -0.248374
+0xbfcfcabb0f1c0a08
+// -0.115684
+0xbfbd9d79a26e38aa
+// 0.312500
+0x3fd3ffffc0bc4a54
+// -0.067555
+0xbfb14b5129d02964
+// -0.164896
+0xbfc51b53d8aab438
+// -0.334679
+0xbfd56b61d09e913b
+// -0.574300
+0xbfe260aa08900605
+// 0.222458
+0x3fcc79843a038e7c
+// 0.722956
+0x3fe722741db2bb20
+// 0.308687
+0x3fd3c1888929bd6b
+// 0.063273
+0x3fb032a85b40a6da
+// -0.759954
+0xbfe8518adbcc9347
+// -0.766530
+0xbfe887695da17730
+// 0.049675
+0x3fa96efba08a0159
+// -1.000000
+0xbff0000000000000
+// -0.819460
+0xbfea390506a5c7e5
+// 0.473815
+0x3fde52fc325c6ff5
+// -0.412210
+0xbfda61a67b79400a
+// 0.792268
+0x3fe95a4217e5ad6e
+// -0.880150
+0xbfec2a2f7c3b325c
+// -0.120399
+0xbfbed2794db50b4f
+// -0.051121
+0xbfaa2c865a481296
+// 0.044547
+0x3fa6ced75782d097
+// 0.466601
+0x3fdddcc8a4c51bf8
+// -0.088134
+0xbfb68fec698ef609
+// 0.310377
+0x3fd3dd383165650e
+// 0.545705
+0x3fe17669c3933aee
+// 0.283686
+0x3fd227e8350b12e6
+// 0.159170
+0x3fc45fae174fec33
+// -0.116833
+0xbfbde8bda32351a1
+// -0.079423
+0xbfb455143989e3db
+// -0.448003
+0xbfdcac142adf8afd
+// 0.238149
+0x3fce7bac017b1798
+// -0.232347
+0xbfcdbd8c9db3c39d
+// 0.114314
+0x3fbd43ac4d8acde2
+// 0.410705
+0x3fda48ff6875b30b
+// -0.112798
+0xbfbce052235a71a1
+// 0.410973
+0x3fda4d60b343d3ed
+// -0.293071
+0xbfd2c1ac32c49485
+// -0.195418
+0xbfc90377609c4b1c
+// 0.482471
+0x3fdee0cd59c1306f
+// 0.533247
+0x3fe1105cae9cfd50
+// -0.309394
+0xbfd3cd1b7fb824c4
+// 0.655184
+0x3fe4f7439f85ca5b
+// 0.781131
+0x3fe8ff069a916d5a
+// 1.000000
+0x3ff0000000000000
+// -0.599914
+0xbfe3327dd7dbe490
+// 0.222390
+0x3fcc77461895d5de
+// 0.818918
+0x3fea34930dd94baf
+// 0.252063
+0x3fd021cc4fce57c3
+// -0.043519
+0xbfa64821f8b6cd7a
+// 0.095324
+0x3fb8671f42ed97b1
+// 0.110032
+0x3fbc2b0f4cf08143
+// 0.143397
+0x3fc25ad2c5ce07d7
+// -0.267527
+0xbfd11f2a6af4713e
+// 0.884487
+0x3fec4db760e22dc1
+// 0.515077
+0x3fe07b8307bcd594
+// -0.348916
+0xbfd654a34e08fbfc
+// 0.479605
+0x3fdeb1d803b21b6e
+// 0.336212
+0x3fd5847d3f1019d7
+// -0.692964
+0xbfe62cc3d20a796a
+// -0.264871
+0xbfd0f3a6550763d4
+// -0.552580
+0xbfe1aebba3800bc9
+// -0.325957
+0xbfd4dc7ba41da8c6
+// -0.161948
+0xbfc4bab50236cb3f
+// -0.093951
+0xbfb80d2c7ca9e839
+// -0.509227
+0xbfe04b96fcb8af3a
+// -0.550965
+0xbfe1a18201d929ba
+// 0.190202
+0x3fc85889ead28592
+// 0.017074
+0x3f917bc2f624c0d2
+// 0.494850
+0x3fdfaba07eb6b0aa
+// 0.760073
+0x3fe85283b409a982
+// -0.527649
+0xbfe0e27f54d6c4bc
+// 0.523618
+0x3fe0c17aacfa6334
+// -0.131591
+0xbfc0d7fa91b852e5
+// -0.201113
+0xbfc9be15f06da29e
+// -0.288534
+0xbfd277566a9287ad
+// 0.014596
+0x3f8de4553fa57117
+// -0.130156
+0xbfc0a8f67032e966
+// 0.357003
+0x3fd6d9225f092b06
+// 0.315049
+0x3fd429c53b9818e1
+// -0.129221
+0xbfc08a50447268e8
+// 0.107275
+0x3fbb765cd0801b60
+// 0.444477
+0x3fdc724e705eb5c1
+// -0.044720
+0xbfa6e59a796f5e7a
+// -0.525413
+0xbfe0d02e25acfc0d
+// 0.211874
+0x3fcb1eaed71355ca
+// 1.000000
+0x3ff0000000000000
+// 0.291011
+0x3fd29feb38ce08d2
+// 0.322277
+0x3fd4a031289bb70b
+// -0.021226
+0xbf95bc467b74f124
+// -0.217919
+0xbfcbe4c196d7b2f6
+// 0.059776
+0x3fae9afd040389f5
+// -0.012712
+0xbf8a08f3a790e3ad
+// -0.003101
+0xbf69673120a8daf7
+// 0.252035
+0x3fd02158bf305fe1
+// 0.437123
+0x3fdbf9d467118986
+// -0.541800
+0xbfe1566c02605550
+// 0.446577
+0x3fdc94b7617d5b76
+// -0.477642
+0xbfde91b1528deaa5
+// 0.282953
+0x3fd21be8e0645202
+// -0.512200
+0xbfe063f0dc367c0d
+// 0.221225
+0x3fcc511ba80042c9
+// 0.220809
+0x3fcc437a85ceb680
+// 0.737045
+0x3fe795e04862f41c
+// 0.204313
+0x3fca26eb24367941
+// -0.445933
+0xbfdc8a290c36ed1b
+// -0.239256
+0xbfce9feef43e95f1
+// 1.000000
+0x3ff0000000000000
+// -0.182535
+0xbfc75d4c5a3493ae
+// 0.550253
+0x3fe19babf27d9681
+// 0.539198
+0x3fe1411d0767d18f
+// -0.525152
+0xbfe0ce0c4195bb35
+// 0.545980
+0x3fe178aaaa4a9cd5
+// 0.480466
+0x3fdebff5fd0ea697
+// -0.112781
+0xbfbcdf36811d6244
+// 0.502304
+0x3fe012df5608c9a7
+// 0.398942
+0x3fd9884499899e9a
+// 0.293017
+0x3fd2c0c9947f2573
+// 0.931198
+0x3fedcc5fbf5eb484
+// -0.617380
+0xbfe3c1949cb94cdd
+// -0.181223
+0xbfc73254483de8fb
+// -0.156463
+0xbfc406fdb7203367
+// -0.046398
+0xbfa7c17edb0a7cd7
+// -0.588022
+0xbfe2d113a5abcfad
+// 0.164733
+0x3fc515f719b2d1d2
+// 0.185639
+0x3fc7c3035c950739
+// 0.367876
+0x3fd78b47ef004cf0
+// 0.213969
+0x3fcb635660d2d3c1
+// -0.175601
+0xbfc67a15dd3a75ca
+// -0.127773
+0xbfc05ae0cf4f7977
+// -0.028229
+0xbf9ce81617e37713
+// -0.114572
+0xbfbd549924ae442f
+// -0.428243
+0xbfdb68546d4a9502
+// -0.577237
+0xbfe278b9b3e99700
+// -0.206120
+0xbfca6224fa0929b0
+// -0.538384
+0xbfe13a70adbac091
+// -0.046251
+0xbfa7ae456b30f27f
+// 1.000000
+0x3ff0000000000000
+// -0.761464
+0xbfe85dea676a7ae4
+// -0.722666
+0xbfe72013f4120363
+// 0.576208
+0x3fe2704be3bfba1b
+// -0.316990
+0xbfd4498fc992b266
+// 0.594149
+0x3fe303454edc70ae
+// 0.094075
+0x3fb8154b2a571d1f
+// -0.367947
+0xbfd78c710c66319d
+// 0.145097
+0x3fc29288f919debd
+// -0.195821
+0xbfc910ad6909453d
+// 0.098501
+0x3fb9375dc4d8e957
+// 0.855722
+0x3feb6213a616c223
+// -0.093779
+0xbfb801dea369f4a6
+// -0.102497
+0xbfba3d40d845b257
+// -0.036785
+0xbfa2d56e4b2f0d4b
+// -0.730161
+0xbfe75d7a599dedea
+// -0.373512
+0xbfd7e79ce3fee71e
+// -0.228693
+0xbfcd45cd73159e71
+// -0.314883
+0xbfd4270be92c3a49
+// 0.108370
+0x3fbbbe2654e9807a
+// 0.542237
+0x3fe15a00c7434a72
+// 0.473460
+0x3fde4d2cd7f5b196
+// 0.035457
+0x3fa22765295b91f8
+// 0.268214
+0x3fd12a68fa78c74c
+// -0.138743
+0xbfc1c253b1254110
+// 0.579806
+0x3fe28dc4b8efa35b
+// 0.260837
+0x3fd0b18bb9b301b5
+// -0.257133
+0xbfd074dce36d0994
+// 0.308245
+0x3fd3ba4a1fa1881e
+// -0.337382
+0xbfd597ab4e342db0
+// 1.000000
+0x3ff0000000000000
+// -0.465267
+0xbfddc6ee8b406d87
+// -0.801524
+0xbfe9a6163c2599d0
+// 0.451986
+0x3fdced549bbe420a
+// -0.532719
+0xbfe10c09ab736820
+// -0.106716
+0xbfbb51bf503092e8
+// 0.422857
+0x3fdb1014f913241e
+// -0.000995
+0xbf504cb000afef75
+// 0.442791
+0x3fdc56af30128d6e
+// -0.195890
+0xbfc912edea43b131
+// -0.139162
+0xbfc1d010340ffd9c
+// 0.007732
+0x3f7fabaa93650c31
+// 0.065160
+0x3fb0ae4f5e4e2b5e
+// 0.439849
+0x3fdc267acd913281
+// -0.010844
+0xbf86356de2818646
+// 0.145690
+0x3fc2a5fa7f3ed4aa
+// 0.051478
+0x3faa5b48c1ff9c32
+// 0.438066
+0x3fdc0945f42b94c3
+// -0.205356
+0xbfca4919dd1620f2
+// 0.913830
+0x3fed3e187bcacbed
+// -0.626360
+0xbfe40b244a358741
+// 0.757484
+0x3fe83d4fcfaca0f0
+// -1.000000
+0xbff0000000000000
+// 0.027841
+0x3f9c8272b615160e
+// 0.391947
+0x3fd915a7574be361
+// -0.518618
+0xbfe098850c5085ce
+// -0.734580
+0xbfe781addf13f4b4
+// 0.454875
+0x3fdd1cac994a6f3f
+// -0.042480
+0xbfa5bffc816aeabd
+// -0.468449
+0xbfddfb0f6c1e26ed
+// 0.387455
+0x3fd8cc0e19511185
+// -0.254929
+0xbfd050c0d5db3865
+// -0.920654
+0xbfed75fea28690e7
+// -0.613616
+0xbfe3a2bd547b7bd7
+// -0.338468
+0xbfd5a9779a6b4bc0
+// -0.337721
+0xbfd59d3744ff3275
+// -0.198844
+0xbfc973b545d5e1d3
+// 0.110266
+0x3fbc3a63658ddb30
+// -0.336525
+0xbfd589a11ee144c2
+// -0.318811
+0xbfd46766e4237d50
+// 0.093625
+0x3fb7f7cb01749b94
+// 0.296999
+0x3fd30207b77b828e
+// -0.285973
+0xbfd24d616b8df42a
+// -0.529594
+0xbfe0f26f9b486ebc
+// 0.507025
+0x3fe0398d50c3e325
+// -0.263381
+0xbfd0db3b3f224bdc
+// 0.458218
+0x3fdd5372b4bb182e
+// -0.391650
+0xbfd910cb3a938f80
+// 0.269161
+0x3fd139f101e4efff
+// 0.732573
+0x3fe7713c0d23950e
+// -0.182226
+0xbfc7532bb9c644d9
+// 0.626616
+0x3fe40d3c47087f38
+// 0.002343
+0x3f633123ca0628a8
+// -0.033331
+0xbfa110b470c766e2
+// -0.351493
+0xbfd67edafbe1f2df
+// -0.449986
+0xbfdccc925955faf4
+// 0.049606
+0x3fa965f35dbb826f
+// 0.531792
+0x3fe104714ce06867
+// -0.913635
+0xbfed3c7e8a125fd6
+// -0.541996
+0xbfe1580849e266c6
+// 0.432124
+0x3fdba7e95bd1a343
+// 0.373693
+0x3fd7ea97e5ca0b33
+// -0.168757
+0xbfc599d625200af7
+// 0.511629
+0x3fe05f43554a8e17
+// 0.351791
+0x3fd683bedda65c17
+// 0.014705
+0x3f8e1de2d96bf5af
+// -0.526036
+0xbfe0d54a1c073c9b
+// -0.183083
+0xbfc76f4412f223db
+// 0.131029
+0x3fc0c591df411416
+// -0.106399
+0xbfbb3cf15f36b8a0
+// -0.279959
+0xbfd1ead96c487a69
+// -0.400020
+0xbfd999eca0138906
+// 0.413338
+0x3fda7422a1d0fffb
+// 0.095647
+0x3fb87c588b7067ff
+// -0.363676
+0xbfd746784ba18053
+// -0.168233
+0xbfc588a9104b4b53
+// -0.296942
+0xbfd301189b5a52d4
+// -1.000000
+0xbff0000000000000
+// 0.281271
+0x3fd200583d27b2c2
+// 0.165582
+0x3fc531ca86d55b54
+// 0.275867
+0x3fd1a7cc4e5d94e9
+// 0.093959
+0x3fb80daeef6deeb0
+// -0.130071
+0xbfc0a62dcf17c481
+// -0.270429
+0xbfd14eb4e75cd6fb
+// -0.046438
+0xbfa7c6c96f09e421
+// 0.457142
+0x3fdd41d13a717504
+// 0.403665
+0x3fd9d5a59dcafe86
+// 0.154479
+0x3fc3c5f62aa7469a
+// -0.217238
+0xbfcbce779f3aa310
+// -0.510680
+0xbfe0577d85bd2d7d
+// 0.326496
+0x3fd4e54efa2b29ff
+// 0.409486
+0x3fda3503ebfba2ca
+// 0.090472
+0x3fb7292e4b61aebb
+// 0.213110
+0x3fcb472efe39c38e
+// 0.005725
+0x3f7772e15c667c93
+// -0.176399
+0xbfc6943b8d45cfa5
+// 0.736131
+0x3fe78e632ccdd9af
+// -0.309120
+0xbfd3c89f4c59d5ff
+// 0.483393
+0x3fdeefeacac2c905
+// 0.277561
+0x3fd1c38e503aa9a6
+// -0.339138
+0xbfd5b46eaccb0e21
+// 0.311076
+0x3fd3e8ac0909de28
+// -0.105188
+0xbfbaed97d836ff6d
+// 0.492599
+0x3fdf86bf11008671
+// -1.000000
+0xbff0000000000000
+// 0.048709
+0x3fa8f065f4dcb119
+// 0.286220
+0x3fd2516e73b58589
+// 0.248734
+0x3fcfd6837b90552f
+// 0.619020
+0x3fe3cf03aaf1d3b1
+// 0.422923
+0x3fdb112a3350eef3
+// 0.074999
+0x3fb333228367e6ac
+// 0.264032
+0x3fd0e5e76b33f7ee
+// -0.341978
+0xbfd5e2f91d393425
+// -0.022999
+0xbf978cecb5323295
+// 0.540449
+0x3fe14b5b2c99630b
+// -0.328999
+0xbfd50e50a8c83893
+// -0.078747
+0xbfb428c228f041a5
+// -0.584100
+0xbfe2b0f197cc298d
+// -0.101633
+0xbfba04a312450f71
+// -0.241241
+0xbfcee0fc0388ccc2
+// -0.009005
+0xbf82712e4c6d6342
+// -0.352481
+0xbfd68f0ca787b957
+// -0.248577
+0xbfcfd15d44a6305a
+// -0.045389
+0xbfa73d3088fa97b5
+// 0.528537
+0x3fe0e9c7593a6dd8
+// 0.008164
+0x3f80b8190d90180c
+// -0.148975
+0xbfc311a015ac2b56
+// 0.307444
+0x3fd3ad282415e40e
+// 0.024479
+0x3f9910edd60555e2
+// -0.211361
+0xbfcb0de1d5fbd266
+// -0.275826
+0xbfd1a7210846c632
+// 0.087883
+0x3fb67f7ea3695b1b
+// 0.283657
+0x3fd2276eb2937bf3
+// 0.233969
+0x3fcdf2b43e703917
+// -0.476489
+0xbfde7ecc76f9f946
+// 0.576199
+0x3fe27038f5a1c75d
+// 0.642670
+0x3fe490c156411473
+// -0.000587
+0xbf4339128e3d86a4
+// -0.443450
+0xbfdc617c2084b0ea
+// -0.800071
+0xbfe99a2f5dfa8d45
+// -0.088025
+0xbfb688d14e351b01
+// -0.068542
+0xbfb18bfdf07b9d10
+// 0.274891
+0x3fd197d0f2b6f727
+// -0.428560
+0xbfdb6d880f1a96b9
+// -0.507357
+0xbfe03c43c85a3784
+// -0.918647
+0xbfed658e6273b8b6
+// 0.442503
+0x3fdc51f873513bee
+// -0.787896
+0xbfe936720f27b1db
+// 0.267118
+0x3fd118779ac68f4f
+// -0.015460
+0xbf8fa9be41cb4fab
+// -0.146091
+0xbfc2b3180cf464ab
+// -0.919614
+0xbfed6d7a33120884
+// -0.113865
+0xbfbd263c933829a2
+// -0.488130
+0xbfdf3d87948f31a4
+// 1.000000
+0x3ff0000000000000
+// -0.355992
+0xbfd6c892e88caea9
+// 0.054072
+0x3fabaf597747f615
+// 0.386666
+0x3fd8bf21bb80f5cd
+// 0.290528
+0x3fd298038ac106c2
+// 0.298740
+0x3fd31e8f8debdad0
+// 0.504433
+0x3fe02450a07644ed
+// 0.474996
+0x3fde665392cfb3f9
+// 0.081926
+0x3fb4f9150f8071b5
+// -0.508804
+0xbfe048204315ae4d
+// 0.148304
+0x3fc2fba3adf149b1
+// -0.191295
+0xbfc87c594235708a
+// -0.189531
+0xbfc8428da3bfa5cb
+// -0.793063
+0xbfe960c60ac3c366
+// 0.363728
+0x3fd7475025cc5923
+// 0.654243
+0x3fe4ef8e0ea6d942
+// -0.948756
+0xbfee5c34b0e9d43f
+// -0.221117
+0xbfcc4d93b3855684
+// 0.478603
+0x3fdea16f886c9321
+// -0.507426
+0xbfe03cd66a3a074b
+// -0.076999
+0xbfb3b63b365967dc
+// -0.431147
+0xbfdb97ea03d6d23b
+// 0.052130
+0x3faab0b96c5ade1b
+// 0.355359
+0x3fd6be34f827174a
+// 0.287031
+0x3fd25eb8a753ed2e
+// -0.257295
+0xbfd0778555af96f9
+// -0.232958
+0xbfcdd191c330661f
+// 0.307740
+0x3fd3b201cc70acf1
+// 0.059918
+0x3faead88922361fb
+// -0.002907
+0xbf67d121829e775e
+// -0.066496
+0xbfb105e93c912016
+// -0.205052
+0xbfca3f24d0b23cf0
+// -0.421794
+0xbfdafeac44ff71d0
+// -0.224386
+0xbfccb8aaf51cbba5
+// -0.060333
+0xbfaee3edac4f0171
+// -0.696051
+0xbfe6460dc2610b0b
+// -0.080052
+0xbfb47e4f62c3395a
+// 0.047279
+0x3fa834fbfd87c9df
+// -0.321467
+0xbfd492ea0d2e61f6
+// -0.204168
+0xbfca222e61dfce14
+// 0.104109
+0x3fbaa6e2c6b4ab3b
+// -0.744817
+0xbfe7d58a2f9dc085
+// -0.149118
+0xbfc3164e1225337e
+// -0.612220
+0xbfe3974f4b55b210
+// 0.162642
+0x3fc4d171b78f5666
+// 0.392132
+0x3fd918b22ed085a7
+// -0.044949
+0xbfa7038571f6718c
+// 0.443438
+0x3fdc614910240bdd
+// 0.206522
+0x3fca6f4c618d1223
+// 0.518088
+0x3fe0942d0d01124b
+// -1.000000
+0xbff0000000000000
+// -0.397613
+0xbfd9727bb9916483
+// 0.550526
+0x3fe19de8aff169c6
+// 0.819631
+0x3fea3a6bb1670c0a
+// 0.083424
+0x3fb55b42665935f9
+// -0.040108
+0xbfa4890c9674bf83
+// 0.073374
+0x3fb2c89d0b332a61
+// -1.000000
+0xbff0000000000000
+// -0.249379
+0xbfcfeba6f94b50e3
+// -0.258547
+0xbfd08c07efdaa21b
+// 0.265543
+0x3fd0fea8e89036ef
+// -0.311533
+0xbfd3f029f5a69999
+// -0.206479
+0xbfca6de765ff365b
+// -0.052581
+0xbfaaebdf6c8954be
+// 0.315369
+0x3fd42f00211018a5
+// 0.112076
+0x3fbcb10378423867
+// 0.043494
+0x3fa644d60b9084dc
+// 0.470977
+0x3fde247e3a937a6e
+// -0.520271
+0xbfe0a60f85ae38a8
+// -0.169426
+0xbfc5afc08faff10c
+// -0.439802
+0xbfdc25b78dfa572a
+// -0.158980
+0xbfc4597450989f9e
+// 0.090969
+0x3fb749c666a5deab
+// -0.534908
+0xbfe11df6b9365b87
+// 0.190717
+0x3fc86966307fba34
+// 0.541284
+0x3fe15231d41e1c0a
+// -0.029936
+0xbf9ea76f8cf345f5
+// 0.303802
+0x3fd3717d41527358
+// -0.150352
+0xbfc33ebdf94bb52b
+// -0.270694
+0xbfd1530af4872553
+// -0.045461
+0xbfa746b50c26819c
+// 0.260872
+0x3fd0b21edd89df02
+// -0.099820
+0xbfb98dcd991175ec
+// 0.321841
+0x3fd4990943cd6734
+// 0.395067
+0x3fd948c5860ef125
+// -0.339716
+0xbfd5bde88c2ad21e
+// -0.178580
+0xbfc6dbb320af6402
+// 0.081681
+0x3fb4e90b0a125821
+// -0.200000
+0xbfc99998b2dc7084
+// 0.366032
+0x3fd76d10429754e7
+// 0.467906
+0x3fddf22c9f87ece6
+// 0.269057
+0x3fd13839da58f66e
+// 0.201812
+0x3fc9d4f5cc727a85
+// -0.398782
+0xbfd985a54ebacf11
+// 0.114838
+0x3fbd66098deb87ba
+// -0.120688
+0xbfbee56de4ae2227
+// 0.374236
+0x3fd7f37aa0e73393
+// -0.665721
+0xbfe54d956d7dbf20
+// 0.598590
+0x3fe327a5cbe40f68
+// 0.596757
+0x3fe318a2a1389fad
+// 0.737335
+0x3fe79840292e1543
+// -1.000000
+0xbff0000000000000
+// -0.327634
+0xbfd4f7f465c62d07
+// 0.114360
+0x3fbd46b24d7599a8
+// 0.882026
+0x3fec398e838282df
+// 0.017230
+0x3f91a4de21a53c83
+// -0.338381
+0xbfd5a8084affe301
+// -0.234878
+0xbfce107c3fc5074e
+// -0.382764
+0xbfd87f3550ba6803
+// 0.272875
+0x3fd176c994417b31
+// -0.106431
+0xbfbb3f0c593711d7
+// -0.034301
+0xbfa18fe20111c82e
+// -0.166378
+0xbfc54be09187d2b6
+// 0.056649
+0x3fad010b9ead7cc1
+// -0.354819
+0xbfd6b55c284bc499
+// 0.512705
+0x3fe06813d95a4f09
+// -0.442309
+0xbfdc4ecb09ed9f42
+// 0.595521
+0x3fe30e8277b8e76d
+// -0.560773
+0xbfe1f1db0c95a9b1
+// -0.506507
+0xbfe0354d4d2560f3
+// 0.367404
+0x3fd7838be10d43f7
+// -0.041915
+0xbfa575d20ee70c83
+// 0.220352
+0x3fcc347b47aa2045
+// 0.088737
+0x3fb6b7750146d58a
+// 0.246762
+0x3fcf95e2826bca4d
+// 0.594539
+0x3fe306768178744a
+// 0.524509
+0x3fe0c8c72c68a2d6
+// 0.013324
+0x3f8b49762faeb650
+// 0.586073
+0x3fe2c11c99f792a8
+// -0.405591
+0xbfd9f535b82bc66a
+// 0.259347
+0x3fd099251ff33bc9
+// -0.106312
+0xbfbb373b4db0e591
+// -0.465873
+0xbfddd0dd846c4851
+// 0.053833
+0x3fab8ff337fe49f1
+// 0.477713
+0x3fde92da274c2fa6
+// 0.068126
+0x3fb170ba810a3563
+// 0.029229
+0x3f9dee4d73736302
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Input3_f64.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Input3_f64.txt
new file mode 100644
index 000000000..1aa013fc8
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Input3_f64.txt
@@ -0,0 +1,266 @@
+D
+132
+// 1.000000
+0x3ff0000000000000
+// -0.520412
+0xbfe0a737e782e25e
+// 1.000000
+0x3ff0000000000000
+// 0.188984
+0x3fc830a2318cde64
+// 0.608879
+0x3fe37bf082496b22
+// -1.000000
+0xbff0000000000000
+// -0.016745
+0xbf9125979d155692
+// -0.810495
+0xbfe9ef9258e0a93e
+// -0.087322
+0xbfb65abb240db184
+// -0.304024
+0xbfd3752219b788b5
+// -0.046401
+0xbfa7c1d3230bdb31
+// -1.000000
+0xbff0000000000000
+// 0.398126
+0x3fd97ae3d83c3d4d
+// 0.658593
+0x3fe51331035b27cc
+// -0.133533
+0xbfc1179f21308856
+// 0.126775
+0x3fc03a2bfd62abe6
+// -1.000000
+0xbff0000000000000
+// 1.000000
+0x3ff0000000000000
+// -0.280437
+0xbfd1f2afeea2b741
+// 0.575815
+0x3fe26d134fda1d37
+// -0.525492
+0xbfe0d0d557e4d6ae
+// -0.832069
+0xbfeaa050125887c8
+// 1.000000
+0x3ff0000000000000
+// -0.233220
+0xbfcdda26225497ec
+// 1.000000
+0x3ff0000000000000
+// -0.936015
+0xbfedf3d5c274bd33
+// 0.248383
+0x3fcfcb01650e2c58
+// 0.238380
+0x3fce8338ff3409eb
+// -0.769100
+0xbfe89c76c46d5b52
+// -1.000000
+0xbff0000000000000
+// -0.151459
+0xbfc36302fc07f65a
+// 0.652740
+0x3fe4e33ecd92c167
+// 1.000000
+0x3ff0000000000000
+// -0.247852
+0xbfcfb99c6303a9f9
+// -0.934491
+0xbfede759c276ad89
+// -0.492010
+0xbfdf7d167b584333
+// 0.161495
+0x3fc4abde2474dae8
+// 0.226072
+0x3fccefed057e918f
+// 1.000000
+0x3ff0000000000000
+// 0.050132
+0x3fa9aaf6d26d840b
+// -0.061846
+0xbfafaa43d1e7fb0f
+// 0.082452
+0x3fb51b940f2df3a1
+// -1.000000
+0xbff0000000000000
+// 0.212021
+0x3fcb23802458e431
+// 1.000000
+0x3ff0000000000000
+// 0.312720
+0x3fd40398f07b47f3
+// 0.242753
+0x3fcf128afc27e3e4
+// -1.000000
+0xbff0000000000000
+// -0.312123
+0xbfd3f9d2694b9025
+// 1.000000
+0x3ff0000000000000
+// -0.096143
+0xbfb89cd8440c1ec6
+// 0.239664
+0x3fcead4eb1ad6afc
+// 0.948806
+0x3fee5c9ef55d9d4f
+// 1.000000
+0x3ff0000000000000
+// 0.639718
+0x3fe47890f3600470
+// -0.944294
+0xbfee37a8d5f4974e
+// -0.522532
+0xbfe0b894dd8d5621
+// -0.616196
+0xbfe3b7e17359643b
+// -0.806162
+0xbfe9cc13e856e911
+// 1.000000
+0x3ff0000000000000
+// -0.394164
+0xbfd939fc9cccbb44
+// 0.631402
+0x3fe43471dc6ea7e0
+// 0.118589
+0x3fbe5bdacd0b89cd
+// 1.000000
+0x3ff0000000000000
+// 0.395985
+0x3fd957d2cbf4ad8f
+// 0.204826
+0x3fca37ba0bc93519
+// 0.758218
+0x3fe84351c2899d6e
+// -1.000000
+0xbff0000000000000
+// -1.000000
+0xbff0000000000000
+// 0.260056
+0x3fd0a4c10e517d50
+// 0.155803
+0x3fc3f1594dece130
+// -0.163446
+0xbfc4ebd07b7e9873
+// -1.000000
+0xbff0000000000000
+// -0.233058
+0xbfcdd4d45a23cb32
+// 0.096252
+0x3fb8a3fcbac9fd8d
+// -1.000000
+0xbff0000000000000
+// -0.653197
+0xbfe4e6fcd97f2dce
+// -0.175753
+0xbfc67f110aaf28f5
+// 1.000000
+0x3ff0000000000000
+// -0.552246
+0xbfe1abfefd379f33
+// -0.370946
+0xbfd7bd960fd0ce36
+// -0.062857
+0xbfb0176ad01bd36a
+// -0.123468
+0xbfbf9b93b8e14b2f
+// -0.074470
+0xbfb31073ca785fe8
+// -0.053263
+0xbfab454ee770e40b
+// -0.685909
+0xbfe5f2f782340cba
+// -0.023738
+0xbf984ebf045bd4d2
+// -1.000000
+0xbff0000000000000
+// 0.876046
+0x3fec089273c68b3d
+// -1.000000
+0xbff0000000000000
+// -1.000000
+0xbff0000000000000
+// -0.130308
+0xbfc0aded9b07d680
+// 0.732186
+0x3fe76e1246f2942c
+// -0.494913
+0xbfdfaca685111a17
+// 1.000000
+0x3ff0000000000000
+// -0.823834
+0xbfea5cd99214f10d
+// -0.310828
+0xbfd3e499301a1e1b
+// -0.498392
+0xbfdfe5a6d93f1ae9
+// -1.000000
+0xbff0000000000000
+// 0.923354
+0x3fed8c1dd9d2604d
+// -1.000000
+0xbff0000000000000
+// -0.233467
+0xbfcde23bfe951f6b
+// -0.190656
+0xbfc86768646faf39
+// -0.214762
+0xbfcb7d524a92154f
+// -0.299101
+0xbfd32478d522c243
+// 0.039793
+0x3fa45fc087f92cb7
+// 0.488838
+0x3fdf491f2fa06b8a
+// -0.659808
+0xbfe51d25598a94ac
+// -1.000000
+0xbff0000000000000
+// -0.086666
+0xbfb62fb5ea89e6e6
+// -1.000000
+0xbff0000000000000
+// 0.207991
+0x3fca9f70fa058311
+// -0.010786
+0xbf8617025fe8d39e
+// -1.000000
+0xbff0000000000000
+// 0.407109
+0x3fda0e13c6180503
+// -0.877082
+0xbfec110dd0fc2081
+// 1.000000
+0x3ff0000000000000
+// -0.233138
+0xbfcdd7766f9d2114
+// 0.736267
+0x3fe78f7fb1b425de
+// 0.027202
+0x3f9bdacabfbebbdc
+// -1.000000
+0xbff0000000000000
+// 0.022788
+0x3f9755c52935a9a1
+// -0.185843
+0xbfc7c9b6871503fa
+// 0.291056
+0x3fd2a0aad792acf9
+// -0.576073
+0xbfe26f30d0d8759f
+// 1.000000
+0x3ff0000000000000
+// -0.212251
+0xbfcb2b08bea1f343
+// -0.034383
+0xbfa19a9f300795c6
+// -0.125182
+0xbfc005f7a0e117c2
+// 0.392711
+0x3fd9222d25beab9d
+// -0.084091
+0xbfb5870315582fb3
+// 1.000000
+0x3ff0000000000000
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Reference2_f64.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Reference2_f64.txt
new file mode 100644
index 000000000..cd4b8f131
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Reference2_f64.txt
@@ -0,0 +1,530 @@
+D
+264
+// -0.083333
+0xbfb5555555555555
+// -0.159032
+0xbfc45b29aaf361dc
+// 0.013648
+0x3f8bf35e6423d9a1
+// -0.028260
+0xbf9cf02fd4bfb497
+// 0.047619
+0x3fa8618618618618
+// 0.105074
+0x3fbae626a3c3b5f8
+// -0.066667
+0xbfb1111111111111
+// -0.143457
+0xbfc25ccaf40b44a8
+// 0.047619
+0x3fa8618618618618
+// 0.108846
+0x3fbbdd5611c956da
+// -0.012172
+0xbf88edcec0afb91e
+// -0.066011
+0xbfb0e61e5ad698f2
+// 0.083333
+0x3fb5555555555555
+// 0.233130
+0x3fcdd73120fc162e
+// 0.150026
+0x3fc334098f59664a
+// 0.090660
+0x3fb7357f83becc84
+// -0.055556
+0xbfac71c71c71c71c
+// -0.098292
+0xbfb929ae90ba2e68
+// -0.177755
+0xbfc6c0aaa8b905c1
+// -0.258581
+0xbfd08c9816c67f32
+// -0.034947
+0xbfa1e4989a39c0a4
+// -0.102729
+0xbfba4c6f8463feca
+// -0.218130
+0xbfcbebaae3edf026
+// -0.323552
+0xbfd4b513f4792bdd
+// 0.009479
+0x3f8369a19f9b8e11
+// 0.085624
+0x3fb5eb7978f7f495
+// 0.214861
+0x3fcb808d639068e7
+// 0.324071
+0x3fd4bd9280ad3906
+// -0.023135
+0xbf97b0c23e515290
+// 0.001349
+0x3f56187b42067100
+// 0.047667
+0x3fa867c8ef2373de
+// 0.120641
+0x3fbee250a3ea83a0
+// 0.013045
+0x3f8ab725e41bfe55
+// -0.015577
+0xbf8fe7098d1d58aa
+// -0.042099
+0xbfa58e02d7315df8
+// -0.077138
+0xbfb3bf4b81f0bac9
+// 0.083333
+0x3fb5555555555555
+// 0.123646
+0x3fbfa74304a8bc83
+// -0.039179
+0xbfa40f460df14130
+// 0.131197
+0x3fc0cb1310e903dd
+// 0.074746
+0x3fb3228c15f205c5
+// 0.002599
+0x3f6549adddccbdd9
+// -0.020238
+0xbf94b95c63341547
+// 0.012480
+0x3f898f3f6d8397e0
+// 0.084550
+0x3fb5a5175bf34ffd
+// 0.103510
+0x3fba7f9f907e4438
+// 0.023643
+0x3f9835e828ab20f6
+// 0.045134
+0x3fa71bd5acacc560
+// 0.066507
+0x3fb106978c5eda63
+// 0.135498
+0x3fc15803a74c0a90
+// 0.213859
+0x3fcb5fbb5b282ed8
+// -0.034826
+0xbfa1d4b4e0809a94
+// -0.024618
+0xbf993557c0d09ad4
+// -0.073823
+0xbfb2e60f9ba08de9
+// -0.050391
+0xbfa9cce12e39a206
+// -0.296475
+0xbfd2f97191207ef9
+// 0.018381
+0x3f92d28673359a28
+// -0.010857
+0xbf863bfe94afafc0
+// -0.049159
+0xbfa92b6103af3f82
+// -0.099107
+0xbfb95f18a3ebc1fe
+// -0.140394
+0xbfc1f87162e0d736
+// -0.041667
+0xbfa5555555555555
+// -0.052079
+0xbfaaaa111150ec56
+// -0.077714
+0xbfb3e514a5c38d5b
+// -0.123581
+0xbfbfa30203e0a9b8
+// -0.184106
+0xbfc790c67f789756
+// -0.083333
+0xbfb5555555555555
+// 0.130260
+0x3fc0ac5b356e9433
+// -0.024463
+0xbf990cb2c6402b9c
+// -0.215646
+0xbfcb9a4dca15335e
+// -0.001305
+0xbf55624a9821318f
+// 0.037415
+0x3fa3281911b41642
+// -0.025587
+0xbf9a337d8191a5b3
+// 0.043264
+0x3fa626b960f44717
+// 0.047619
+0x3fa8618618618618
+// 0.105388
+0x3fbafaace1ff1086
+// 0.041667
+0x3fa5555555555555
+// 0.161966
+0x3fc4bb512b33e4fd
+// 0.083333
+0x3fb5555555555555
+// -0.119704
+0xbfbea4f130526e3e
+// -0.151555
+0xbfc3662645b4c596
+// 0.128796
+0x3fc07c65705c1873
+// -0.013148
+0xbf8aed3a6ef26250
+// -0.023929
+0xbf9880c94a416aa9
+// -0.070160
+0xbfb1f607963ca21e
+// -0.312616
+0xbfd401e7afe821b2
+// 0.023162
+0x3f97b7b72117947c
+// 0.018177
+0x3f929cfbca2cdca1
+// 0.053603
+0x3fab71d0ea95f427
+// 0.158578
+0x3fc44c48abd3054b
+// -0.010137
+0xbf84c2c1d39a137b
+// -0.052940
+0xbfab1ae8b20b925d
+// -0.122147
+0xbfbf44ff3119062b
+// -0.269422
+0xbfd13e3440344386
+// 0.047619
+0x3fa8618618618618
+// 0.127600
+0x3fc05532a72d6f24
+// 0.160151
+0x3fc47fd694c8adc9
+// -0.183586
+0xbfc77fc211281619
+// -0.036219
+0xbfa28b4aaa5dd2ba
+// -0.096213
+0xbfb8a16f9514bf7d
+// -0.269481
+0xbfd13f2b2bf4d222
+// -0.161931
+0xbfc4ba2736017c35
+// -0.083333
+0xbfb5555555555555
+// 0.010861
+0x3f863e5cfa370dea
+// 0.033322
+0x3fa10fa0935d1fe6
+// 0.056394
+0x3facdfa3f2afd0ef
+// -0.073984
+0xbfb2f0a59777dcc0
+// 0.039479
+0x3fa436a013a28bb9
+// 0.087986
+0x3fb6863a9590b109
+// -0.194928
+0xbfc8f36a50d4bfd3
+// -0.264525
+0xbfd0edf9908047cf
+// -0.062802
+0xbfb013c5c0ca5bc0
+// -0.002643
+0xbf65a6f6435b4964
+// 0.044957
+0x3fa704a5e721bf28
+// 0.123608
+0x3fbfa4c509e9ca37
+// 0.065988
+0x3fb0e49b5204a40e
+// 0.019231
+0x3f93b169e087a5cb
+// 0.066667
+0x3fb1111111111111
+// 0.146908
+0x3fc2cddec3c55df8
+// -0.161105
+0xbfc49f1536aa51e9
+// 0.066850
+0x3fb11d11d76b894d
+// 0.227693
+0x3fcd250d8e8678b0
+// -0.004375
+0xbf71eb14f217c7c2
+// -0.031189
+0xbf9ff016e767e155
+// -0.024538
+0xbf992079d79e0ece
+// 0.104361
+0x3fbab76b3e1d4e87
+// 0.167565
+0x3fc572c3e7a91ba9
+// -0.022702
+0xbf973f24eb6346e4
+// -0.073761
+0xbfb2e2044c767261
+// -0.137787
+0xbfc1a304ef36d37b
+// -0.117765
+0xbfbe25da4b8d55ce
+// -0.318917
+0xbfd469235e6761d5
+// -0.083333
+0xbfb5555555555555
+// -0.007014
+0xbf7cbad332db178f
+// 0.027926
+0x3f9c98b2c445f2b3
+// 0.033902
+0x3fa15b9e1d80ad06
+// -0.003805
+0xbf6f2ae1fc7191c6
+// -0.033370
+0xbfa115d051eb2ae6
+// 0.066667
+0x3fb1111111111111
+// 0.135998
+0x3fc1686432648e4c
+// -0.012903
+0xbf8a6d0800cecf7b
+// 0.266565
+0x3fd10f64c68f04e8
+// 0.041667
+0x3fa5555555555555
+// 0.065366
+0x3fb0bbd0440fd780
+// 0.043839
+0x3fa6721ae965ea54
+// -0.145745
+0xbfc2a7c2c44d00d8
+// -0.000100
+0xbf1a3e928dff3200
+// -0.081735
+0xbfb4ec9c7d973035
+// -0.039803
+0xbfa4610e5de9d119
+// -0.185818
+0xbfc7c8e399909e1f
+// 0.140417
+0x3fc1f92b428aac06
+// 0.110485
+0x3fbc48bcda5e7784
+// -0.019892
+0xbf945e7b7882417e
+// -0.058601
+0xbfae010262432c5e
+// 0.048180
+0x3fa8ab0c12ab9e6e
+// -0.043745
+0xbfa665c3c5b60847
+// 0.026855
+0x3f9b7fcd218499cd
+// -0.113524
+0xbfbd0fe6bde58f42
+// 0.138187
+0x3fc1b01a1ed19877
+// 0.102275
+0x3fba2eacc030154a
+// -0.022885
+0xbf976f33f3dd59c7
+// -0.433180
+0xbfdbb9380bdcefd1
+// 0.067035
+0x3fb129324a1c13c8
+// -0.198740
+0xbfc9704d153dcbb9
+// 0.004848
+0x3f73dbd6b1b6582a
+// -0.099280
+0xbfb96a645903770f
+// -0.030430
+0xbf9f290fba846143
+// 0.112736
+0x3fbcdc45016afa84
+// -0.061613
+0xbfaf8bb563effbb0
+// -0.011709
+0xbf87facf6c491a60
+// -0.054250
+0xbfabc69729a36f78
+// -0.007008
+0xbf7cb43dac99a27c
+// -0.023108
+0xbf97a9a0e1397b90
+// -0.015367
+0xbf8f78f9e60279d7
+// -0.317772
+0xbfd4566090777e8c
+// 0.164369
+0x3fc50a0820fe2af8
+// 0.083101
+0x3fb54623964a6696
+// -0.013890
+0xbf8c726120fc5e9c
+// -0.047619
+0xbfa8618618618618
+// -0.249732
+0xbfcff73a9fa8f235
+// -0.025394
+0xbf9a00cb1ad5def4
+// 0.046784
+0x3fa7f404cb2a7b57
+// 0.002246
+0x3f6265f7207b3e40
+// 0.061542
+0x3faf8278d3ee899f
+// 0.038378
+0x3fa3a643217f3498
+// -0.291960
+0xbfd2af78cd722808
+// -0.163322
+0xbfc4e7ba1589caef
+// 0.099698
+0x3fb985d71dbd9859
+// -0.019471
+0xbf93f02a640d4996
+// -0.227016
+0xbfcd0edd6d6f425a
+// 0.093238
+0x3fb7de78e10c4c16
+// -0.122156
+0xbfbf459c2c68a0a3
+// -0.021790
+0xbf96503574db4307
+// -0.016437
+0xbf90d4cb7605873f
+// 0.131139
+0x3fc0c9296a92e9a1
+// 0.160142
+0x3fc47f8817487df5
+// 0.001589
+0x3f5a0ad67640eef6
+// 0.166113
+0x3fc5432eb79c6f34
+// -0.038858
+0xbfa3e5236a6455d2
+// 0.039477
+0x3fa4364eeaad284e
+// -0.043802
+0xbfa66d36c786364f
+// 0.134812
+0x3fc14185b72d38b5
+// -0.044166
+0xbfa69cee924954f5
+// -0.311564
+0xbfd3f0aac7c3264d
+// -0.063707
+0xbfb04f193ee756c4
+// -0.033662
+0xbfa13c1f7bbaecbb
+// -0.047619
+0xbfa8618618618618
+// -0.053893
+0xbfab97e751c85d5f
+// -0.031665
+0xbfa0365c9288622f
+// -0.363929
+0xbfd74a9b25837a98
+// 0.023640
+0x3f9835359c0ec3dd
+// 0.053278
+0x3fab47390a2766a8
+// 0.003033
+0x3f68d8ad512321f0
+// 0.000690
+0x3f469fe3179dc250
+// 0.018678
+0x3f93206f548016f8
+// -0.138837
+0xbfc1c5685f2ae5e4
+// -0.055780
+0xbfac8f2aba1f8a29
+// 0.085087
+0x3fb5c83e872f0222
+// -0.010377
+0xbf8540937f1e3f35
+// 0.085656
+0x3fb5ed92ce2b342c
+// 0.168288
+0x3fc58a74ecb3e707
+// 0.146737
+0x3fc2c845f5ce4856
+// -0.003093
+0xbf6956edb671963b
+// -0.054039
+0xbfabaaf086be9a74
+// 0.073319
+0x3fb2c50493758412
+// -0.067298
+0xbfb13a6f2ad4a031
+// -0.010890
+0xbf864d9057aef29f
+// 0.172195
+0x3fc60a7a3ca1643b
+// -0.011132
+0xbf86cc6e764695ae
+// 0.043235
+0x3fa622d7f685a5a5
+// 0.038076
+0x3fa37ebafd31dd48
+// -0.285964
+0xbfd24d3daa48c415
+// -0.228668
+0xbfcd44ff97dc136c
+// -0.143719
+0xbfc26560c1a53978
+// 0.052218
+0x3faabc505eb5fef5
+// -0.197439
+0xbfc945ac74ad0cd0
+// -0.102930
+0xbfba5998d3320173
+// -0.074632
+0xbfb31b170a783770
+// -0.044214
+0xbfa6a341cef867a8
+// 0.022749
+0x3f974b91b5517441
+// 0.181195
+0x3fc731670b7580cb
+// -0.168483
+0xbfc590dbe6ff5636
+// -0.038056
+0xbfa37c1777ab1118
+// -0.090889
+0xbfb744835a341463
+// 0.004185
+0x3f71242fb974d7b3
+// 0.179188
+0x3fc6efa0bb92e994
+// -0.325289
+0xbfd4d186dc6a60a8
+// -0.232091
+0xbfcdb528c8653714
+// 0.218641
+0x3fcbfc6ff420220f
+// -0.014741
+0xbf8e309d8c49f5e2
+// 0.092190
+0x3fb799bea2839c12
+// -0.112209
+0xbfbcb9b498f57f29
+// -0.076607
+0xbfb39c82482f2ad0
+// 0.150763
+0x3fc34c336c43a5a4
+// -0.047619
+0xbfa8618618618618
+// -0.085643
+0xbfb5ecba863d5dec
+// -0.163631
+0xbfc4f1dab2f6d9c1
+// 0.013118
+0x3f8add6019ceb24e
+// -0.104849
+0xbfbad75eb2149dbc
+// -0.027738
+0xbf9c6771e752542a
+// 0.009910
+0x3f844ba801bbd208
+// -0.072373
+0xbfb28702b3bbd15b
+// -0.114415
+0xbfbd4a536046c505
+// 0.306576
+0x3fd39ef167e4543d
diff --git a/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Reference3_f64.txt b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Reference3_f64.txt
new file mode 100644
index 000000000..32ec6514b
--- /dev/null
+++ b/Testing/Patterns/DSP/Filtering/DECIM/DECIMF64/Reference3_f64.txt
@@ -0,0 +1,1278 @@
+D
+638
+// 0.055556
+0x3fac71c71c71c71c
+// 0.082199
+0x3fb50b03991b299d
+// 0.033333
+0x3fa1111111111111
+// 0.072966
+0x3fb2ade8adf85318
+// 0.033827
+0x3fa151b9575db490
+// 0.012098
+0x3f88c6ae49268810
+// -0.010561
+0xbf85a1444e6504a2
+// -0.078248
+0xbfb40812927740f0
+// -0.002911
+0xbf67d83f1563f08d
+// -0.015956
+0xbf9056aa7dbadea6
+// -0.030547
+0xbf9f47c19296d65f
+// -0.078472
+0xbfb416beb2653c0e
+// 0.022118
+0x3f96a61fdca752ef
+// 0.080825
+0x3fb4b0ecd35fbb28
+// 0.132113
+0x3fc0e911c7b9e5a9
+// 0.190444
+0x3fc86076b3d7a1f5
+// 0.082629
+0x3fb5272bdde0b148
+// 0.033333
+0x3fa1111111111111
+// 0.057319
+0x3fad58e226c38ade
+// 0.100498
+0x3fb9ba3ca2752c42
+// 0.126161
+0x3fc02609c8c7e8a6
+// 0.124088
+0x3fbfc43b8cd71eee
+// 0.033333
+0x3fa1111111111111
+// 0.066667
+0x3fb1111111111111
+// 0.092226
+0x3fb79c1f974fb19b
+// 0.117785
+0x3fbe272e1d8e5225
+// 0.018519
+0x3f92f684bda12f68
+// 0.037037
+0x3fa2f684bda12f68
+// 0.038222
+0x3fa391d3a0751d46
+// 0.039407
+0x3fa42d2283490b24
+// 0.008279
+0x3f80f4cd8b3ac251
+// 0.016559
+0x3f90f4cd8b3ac251
+// 0.032784
+0x3fa0c9193961f0ee
+// 0.049010
+0x3fa917cbad2680b2
+// 0.039598
+0x3fa4463ec9394628
+// 0.030187
+0x3f9ee963ca981740
+// -0.012557
+0xbf89b7b03ec8ffec
+// -0.055302
+0xbfac508a04b08b96
+// -0.002805
+0xbf66fa1680096fd3
+// -0.005610
+0xbf76fa1680096fd3
+// 0.003673
+0x3f6e17a3dcae61d8
+// 0.012956
+0x3f8a88dd2e5be8d5
+// 0.040758
+0x3fa4de36b833a601
+// 0.068559
+0x3fb18d1b126828e6
+// 0.091771
+0x3fb77e4de17d7880
+// 0.114983
+0x3fbd6f80b092c81b
+// -0.031150
+0xbf9fe5b513b1ca2c
+// -0.062299
+0xbfafe5b513b1ca2c
+// -0.109849
+0xbfbc1f179af33e74
+// -0.157399
+0xbfc425aa5606cbea
+// -0.199566
+0xbfc98b6399189bf7
+// -0.241733
+0xbfcef11cdc2a6c05
+// -0.276364
+0xbfd1aff3e9204648
+// -0.310995
+0xbfd3e759642b568c
+// -0.031946
+0xbfa05b37100217ad
+// -0.002094
+0xbf612774d70a3aa0
+// 0.000928
+0x3f4e6bcf3248e858
+// 0.001857
+0x3f5e6bcf3248e858
+// 0.001640
+0x3f5ade00620055f7
+// 0.001423
+0x3f57503191b7c396
+// 0.002733
+0x3f6663503a4e1602
+// 0.004043
+0x3f708f43d5e0251e
+// -0.013166
+0xbf8af699b3f5bf34
+// -0.030374
+0xbf9f1a6aa96dc87b
+// -0.043656
+0xbfa65a230a56cc84
+// -0.056939
+0xbfad2710bff6b4cb
+// 0.018519
+0x3f92f684bda12f68
+// 0.037037
+0x3fa2f684bda12f68
+// 0.055556
+0x3fac71c71c71c71c
+// 0.074074
+0x3fb2f684bda12f68
+// 0.098384
+0x3fb92fac83975aa9
+// 0.122693
+0x3fbf68d4498d85eb
+// 0.147003
+0x3fc2d0fe07c1d896
+// 0.171313
+0x3fc5ed91eabcee37
+// 0.002380
+0x3f637f15f38c7ae9
+// 0.004760
+0x3f737f15f38c7ae9
+// 0.007140
+0x3f7d3ea0ed52b85e
+// 0.009520
+0x3f837f15f38c7ae9
+// 0.002096
+0x3f612b1d716e1640
+// -0.005328
+0xbf75d30e75aadf94
+// -0.012752
+0xbf8a1dd5d2066522
+// -0.020176
+0xbf94a912349bad3f
+// -0.005780
+0xbf77acd373501322
+// -0.011560
+0xbf87acd373501322
+// -0.017340
+0xbf91c19e967c0e5a
+// -0.023120
+0xbf97acd373501322
+// -0.010382
+0xbf8543072505d106
+// 0.002357
+0x3f634e62725210e0
+// 0.015095
+0x3f8eea385e2ed978
+// 0.027834
+0x3f9c806c0fe4975c
+// 0.038792
+0x3fa3dc80a07e5b1d
+// 0.049750
+0x3fa978cb390a6a8a
+// 0.060708
+0x3faf1515d19679fa
+// 0.071666
+0x3fb258b0351144b3
+// 0.087062
+0x3fb649b27e70af31
+// 0.102458
+0x3fba3ab4c7d019b0
+// 0.117855
+0x3fbe2bb7112f842e
+// 0.133251
+0x3fc10e5cad477756
+// 0.009302
+0x3f830cf049a42678
+// 0.018604
+0x3f930cf049a42678
+// 0.027906
+0x3f9c93686e7639b4
+// 0.037208
+0x3fa30cf049a42678
+// 0.056314
+0x3facd5316112351b
+// 0.075420
+0x3fb34eb93c4021df
+// 0.094526
+0x3fb832d9c7f72930
+// 0.113632
+0x3fbd16fa53ae3082
+// 0.139010
+0x3fc1cb109c610a85
+// 0.164387
+0x3fc50aa40eeafcc8
+// 0.189765
+0x3fc84a378174ef0d
+// 0.215143
+0x3fcb89caf3fee150
+// 0.231262
+0x3fcd9a027238f5cc
+// 0.247382
+0x3fcfaa39f0730a4a
+// 0.263502
+0x3fd0dd38b7568f64
+// 0.279622
+0x3fd1e554767399a2
+// -0.009677
+0xbf83d1482306531d
+// -0.019353
+0xbf93d1482306531d
+// -0.029030
+0xbf9db9ec34897cac
+// -0.038706
+0xbfa3d1482306531d
+// -0.059794
+0xbfae9d45447a188e
+// -0.080881
+0xbfb4b4a132f6eeff
+// -0.101969
+0xbfba1a9fc3b0d1b8
+// -0.123056
+0xbfbf809e546ab46f
+// -0.159073
+0xbfc45c7f545fd81a
+// -0.195089
+0xbfc8f8af7e8a55fc
+// -0.231106
+0xbfcd94dfa8b4d3de
+// -0.267122
+0xbfd11887e96fa8e0
+// -0.284620
+0xbfd23737b2aad4da
+// -0.302118
+0xbfd355e77be600d5
+// -0.319616
+0xbfd4749745212cd0
+// -0.337114
+0xbfd593470e5c58ca
+// -0.197411
+0xbfc944c05225d36d
+// -0.212531
+0xbfcb343aaa994862
+// -0.227652
+0xbfcd23b5030cbd57
+// -0.242773
+0xbfcf132f5b80324c
+// 0.006190
+0x3f795ae93cc718f1
+// 0.012380
+0x3f895ae93cc718f1
+// 0.018571
+0x3f93042eed9552b5
+// 0.024761
+0x3f995ae93cc718f1
+// 0.032114
+0x3fa071356fa7542c
+// 0.039467
+0x3fa434f640eb1be0
+// 0.046819
+0x3fa7f8b7122ee394
+// 0.054172
+0x3fabbc77e372ab47
+// 0.071329
+0x3fb2429edcddbc00
+// 0.088486
+0x3fb6a701c802225c
+// 0.105643
+0x3fbb0b64b32688ba
+// 0.122799
+0x3fbf6fc79e4aef15
+// 0.143838
+0x3fc2694b9907c233
+// 0.164877
+0x3fc51ab362ea0cde
+// 0.185916
+0x3fc7cc1b2ccc5788
+// 0.206955
+0x3fca7d82f6aea230
+// 0.230002
+0x3fcd70b7decc9f91
+// 0.253049
+0x3fd031f663754e79
+// 0.276097
+0x3fd1ab90d7844d29
+// 0.299144
+0x3fd3252b4b934bda
+// 0.011488
+0x3f878718fab3fd82
+// 0.022976
+0x3f978718fab3fd82
+// 0.034464
+0x3fa1a552bc06fe22
+// 0.045953
+0x3fa78718fab3fd82
+// 0.057441
+0x3fad68df3960fce3
+// 0.053777
+0x3fab88b4fbeef482
+// 0.050114
+0x3fa9a88abe7cec20
+// 0.046451
+0x3fa7c860810ae3be
+// 0.042787
+0x3fa5e8364398db5c
+// 0.039124
+0x3fa4080c0626d2fc
+// -0.007937
+0xbf80410410410410
+// -0.015873
+0xbf90410410410410
+// -0.023810
+0xbf98618618618618
+// -0.031746
+0xbfa0410410410410
+// -0.039683
+0xbfa4514514514514
+// -0.045555
+0xbfa752ffeed6412f
+// -0.051428
+0xbfaa54bac95b3d4b
+// -0.057300
+0xbfad5675a3e03966
+// -0.063173
+0xbfb02c183f329ac1
+// -0.069045
+0xbfb1acf5ac7518ce
+// 0.002361
+0x3f6356a42c889c4e
+// 0.004721
+0x3f7356a42c889c4e
+// 0.007082
+0x3f7d01f642ccea75
+// 0.009443
+0x3f8356a42c889c4e
+// 0.011803
+0x3f882c4d37aac361
+// 0.011687
+0x3f87ef952c9eb5fc
+// 0.011572
+0x3f87b2dd2192a896
+// 0.011456
+0x3f87762516869b31
+// 0.011340
+0x3f87396d0b7a8dca
+// 0.011224
+0x3f86fcb5006e8065
+// -0.004043
+0xbf708f89f6335814
+// -0.019310
+0xbf93c61f7b50ec3b
+// -0.034578
+0xbfa1b42e3c8a8139
+// -0.049845
+0xbfa9854cbb6c8c54
+// -0.065112
+0xbfb0ab359d274bb8
+// -0.083911
+0xbfb57b30252509da
+// -0.102709
+0xbfba4b2aad22c7fe
+// -0.121508
+0xbfbf1b2535208620
+// -0.140306
+0xbfc1f58fde8f2221
+// -0.159105
+0xbfc45d8d228e0132
+// 0.000764
+0x3f49081d2f881e05
+// 0.001528
+0x3f59081d2f881e05
+// 0.002292
+0x3f62c615e3a61684
+// 0.003056
+0x3f69081d2f881e05
+// 0.003820
+0x3f6f4a247b6a2586
+// -0.003353
+0xbf6b77e479b7e338
+// -0.010526
+0xbf858e7b5bb67afe
+// -0.017698
+0xbf921f7ecc7f7e97
+// -0.024871
+0xbf9977bfeb23bfaf
+// -0.032043
+0xbfa0680084e40063
+// -0.044400
+0xbfa6bb9ea5abdd9b
+// -0.056757
+0xbfad0f3cc673bad4
+// -0.069114
+0xbfb1b16d739dcc06
+// -0.081470
+0xbfb4db3c8401baa2
+// -0.093827
+0xbfb8050b9465a93f
+// -0.107579
+0xbfbb8a4490a3bd13
+// -0.121330
+0xbfbf0f7d8ce1d0e7
+// -0.135082
+0xbfc14a5b448ff25e
+// -0.148833
+0xbfc30cf7c2aefc49
+// -0.162585
+0xbfc4cf9440ce0634
+// 0.015152
+0x3f8f07c1f07c1f08
+// 0.030303
+0x3f9f07c1f07c1f08
+// 0.045455
+0x3fa745d1745d1746
+// 0.060606
+0x3faf07c1f07c1f08
+// 0.075758
+0x3fb364d9364d9365
+// 0.082542
+0x3fb521747c756111
+// 0.089326
+0x3fb6de0fc29d2ebe
+// 0.096110
+0x3fb89aab08c4fc6a
+// 0.102894
+0x3fba57464eecca15
+// 0.109678
+0x3fbc13e1951497c2
+// 0.110842
+0x3fbc60262f9c58ef
+// 0.112006
+0x3fbcac6aca241a1c
+// 0.113170
+0x3fbcf8af64abdb48
+// 0.114333
+0x3fbd44f3ff339c76
+// 0.115497
+0x3fbd913899bb5da3
+// 0.115709
+0x3fbd9f12dbc693da
+// 0.115920
+0x3fbdaced1dd1ca10
+// 0.116131
+0x3fbdbac75fdd0047
+// 0.116343
+0x3fbdc8a1a1e83680
+// 0.116554
+0x3fbdd67be3f36cb6
+// -0.203287
+0xbfca05503a0a2569
+// -0.220098
+0xbfcc2c2bf972da63
+// -0.236909
+0xbfce5307b8db8f5e
+// -0.253720
+0xbfd03cf1bc22222c
+// -0.270531
+0xbfd1505f9bd67ca9
+// -0.000591
+0xbf435deb7859c704
+// -0.001182
+0xbf535deb7859c704
+// -0.001773
+0xbf5d0ce13486aa86
+// -0.002364
+0xbf635deb7859c704
+// -0.002955
+0xbf683566567038c5
+// -0.003969
+0xbf7041b29093a4c2
+// -0.004983
+0xbf7468b1f5ef2d20
+// -0.005996
+0xbf788fb15b4ab580
+// -0.007010
+0xbf7cb6b0c0a63dde
+// -0.008024
+0xbf806ed81300e31f
+// -0.014481
+0xbf8da86bd70e2bbc
+// -0.020939
+0xbf9570ffcd8dba2e
+// -0.027396
+0xbf9c0dc9af945e7d
+// -0.033854
+0xbfa15549c8cd8166
+// -0.040311
+0xbfa4a3aeb9d0d38d
+// -0.046957
+0xbfa80ac52fece485
+// -0.053603
+0xbfab71dba608f57c
+// -0.060249
+0xbfaed8f21c250674
+// -0.066895
+0xbfb1200449208bb6
+// -0.073541
+0xbfb2d38f842e9432
+// -0.088123
+0xbfb68f3b4144bd2f
+// -0.102705
+0xbfba4ae6fe5ae62d
+// -0.117288
+0xbfbe0692bb710f2b
+// -0.131870
+0xbfc0e11f3c439c14
+// -0.146453
+0xbfc2bef51aceb093
+// 0.008589
+0x3f8196f27ad6edf4
+// 0.017177
+0x3f9196f27ad6edf4
+// 0.025766
+0x3f9a626bb84264ee
+// 0.034355
+0x3fa196f27ad6edf4
+// 0.042943
+0x3fa5fcaf198ca971
+// 0.051532
+0x3faa626bb84264ee
+// 0.060121
+0x3faec82856f8206c
+// 0.068710
+0x3fb196f27ad6edf4
+// 0.067494
+0x3fb1474e47af4930
+// 0.066279
+0x3fb0f7aa1487a46c
+// 0.065064
+0x3fb0a805e15fffa8
+// 0.063849
+0x3fb05861ae385ae4
+// 0.062633
+0x3fb008bd7b10b620
+// 0.061418
+0x3faf72328fd222ba
+// 0.060203
+0x3faed2ea2982d930
+// 0.058988
+0x3fae33a1c3338fa8
+// -0.005051
+0xbf74afd6a052bf5b
+// -0.010101
+0xbf84afd6a052bf5b
+// -0.015152
+0xbf8f07c1f07c1f08
+// -0.020202
+0xbf94afd6a052bf5b
+// -0.025253
+0xbf99dbcc48676f31
+// -0.030303
+0xbf9f07c1f07c1f08
+// -0.035354
+0xbfa219dbcc48676f
+// -0.040404
+0xbfa4afd6a052bf5b
+// -0.046113
+0xbfa79c1450b52b1f
+// -0.051821
+0xbfaa8852011796e3
+// -0.057530
+0xbfad748fb17a02a8
+// -0.063239
+0xbfb03066b0ee3736
+// -0.068947
+0xbfb1a685891f6d19
+// -0.074656
+0xbfb31ca46150a2fb
+// -0.080364
+0xbfb492c33981d8dd
+// -0.086073
+0xbfb608e211b30ec0
+// 0.007178
+0x3f7d66fdd685bef6
+// 0.014357
+0x3f8d66fdd685bef6
+// 0.021535
+0x3f960d3e60e44f38
+// 0.028713
+0x3f9d66fdd685bef6
+// 0.035891
+0x3fa2605ea613975a
+// 0.043070
+0x3fa60d3e60e44f38
+// 0.050248
+0x3fa9ba1e1bb50718
+// 0.057426
+0x3fad66fdd685bef6
+// 0.059753
+0x3fae97e495f5c016
+// 0.062079
+0x3fafc8cb5565c133
+// 0.064405
+0x3fb07cd90a6ae128
+// 0.066731
+0x3fb1154c6a22e1b7
+// 0.069057
+0x3fb1adbfc9dae246
+// 0.071384
+0x3fb246332992e2d6
+// 0.073710
+0x3fb2dea6894ae365
+// 0.076036
+0x3fb37719e902e3f4
+// 0.088166
+0x3fb6920fcb3d6704
+// 0.100296
+0x3fb9ad05ad77ea19
+// 0.112426
+0x3fbcc7fb8fb26d28
+// 0.124557
+0x3fbfe2f171ecf03b
+// 0.136687
+0x3fc17ef3aa13b9a6
+// 0.148817
+0x3fc30c6e9b30fb2e
+// 0.160947
+0x3fc499e98c4e3cb8
+// 0.173077
+0x3fc627647d6b7e40
+// 0.177130
+0x3fc6ac3645ab10b0
+// 0.181184
+0x3fc731080deaa31e
+// 0.185237
+0x3fc7b5d9d62a358f
+// 0.189290
+0x3fc83aab9e69c7fe
+// 0.193344
+0x3fc8bf7d66a95a6c
+// 0.197397
+0x3fc9444f2ee8ecdc
+// 0.201450
+0x3fc9c920f7287f4a
+// 0.205504
+0x3fca4df2bf6811bb
+// -0.001570
+0xbf59b85ea0748404
+// -0.003140
+0xbf69b85ea0748404
+// -0.004710
+0xbf734a46f8576303
+// -0.006279
+0xbf79b85ea0748404
+// -0.007849
+0xbf80133b2448d282
+// -0.009419
+0xbf834a46f8576303
+// -0.010989
+0xbf868152cc65f383
+// -0.012559
+0xbf89b85ea0748404
+// -0.016646
+0xbf910b8efe3c4bca
+// -0.020733
+0xbf953aeeac3e5590
+// -0.024820
+0xbf996a4e5a405f58
+// -0.028907
+0xbf9d99ae08426920
+// -0.032994
+0xbfa0e486db223974
+// -0.037080
+0xbfa2fc36b2233e57
+// -0.041167
+0xbfa513e68924433b
+// -0.045254
+0xbfa72b966025481f
+// -0.054392
+0xbfabd9410b30a4ed
+// -0.063529
+0xbfb04375db1e00de
+// -0.072667
+0xbfb29a4b30a3af46
+// -0.081804
+0xbfb4f12086295dae
+// -0.090942
+0xbfb747f5dbaf0c15
+// -0.100079
+0xbfb99ecb3134ba7c
+// -0.109217
+0xbfbbf5a086ba68e4
+// -0.118354
+0xbfbe4c75dc40174c
+// -0.122828
+0xbfbf71ac403e90ae
+// -0.127302
+0xbfc04b71521e8507
+// -0.131776
+0xbfc0de0c841dc1b8
+// -0.136250
+0xbfc170a7b61cfe6a
+// -0.140725
+0xbfc20342e81c3b1b
+// -0.145199
+0xbfc295de1a1b77cb
+// -0.149673
+0xbfc328794c1ab47c
+// -0.154147
+0xbfc3bb147e19f12d
+// -0.009804
+0xbf84141414141414
+// -0.019608
+0xbf94141414141414
+// -0.029412
+0xbf9e1e1e1e1e1e1e
+// -0.039216
+0xbfa4141414141414
+// -0.049020
+0xbfa9191919191919
+// -0.058824
+0xbfae1e1e1e1e1e1e
+// -0.068627
+0xbfb1919191919192
+// -0.078431
+0xbfb4141414141414
+// -0.090524
+0xbfb72c97c3bca644
+// -0.102617
+0xbfba451b73653872
+// -0.114710
+0xbfbd5d9f230dcaa2
+// -0.126803
+0xbfc03b11695b2e68
+// -0.138895
+0xbfc1c753412f7780
+// -0.150988
+0xbfc353951903c098
+// -0.163081
+0xbfc4dfd6f0d809b0
+// -0.175174
+0xbfc66c18c8ac52c7
+// -0.189136
+0xbfc8359a654072eb
+// -0.203098
+0xbfc9ff1c01d49311
+// -0.217060
+0xbfcbc89d9e68b335
+// -0.231022
+0xbfcd921f3afcd35a
+// -0.244984
+0xbfcf5ba0d790f37f
+// -0.258946
+0xbfd092913a1289d2
+// -0.272908
+0xbfd17752085c99e4
+// -0.286870
+0xbfd25c12d6a6a9f6
+// -0.302937
+0xbfd36352caf3f3dd
+// -0.319005
+0xbfd46a92bf413dc5
+// -0.335072
+0xbfd571d2b38e87ab
+// -0.351140
+0xbfd67912a7dbd193
+// -0.367207
+0xbfd780529c291b78
+// -0.383275
+0xbfd8879290766560
+// -0.399342
+0xbfd98ed284c3af45
+// -0.415410
+0xbfda96127910f92e
+// -0.110880
+0xbfbc62a3c7decda8
+// -0.120076
+0xbfbebd4dfbca06ec
+// -0.129272
+0xbfc08bfc17daa017
+// -0.138468
+0xbfc1b95131d03cba
+// -0.147664
+0xbfc2e6a64bc5d95b
+// -0.156860
+0xbfc413fb65bb75fd
+// -0.166056
+0xbfc541507fb1129f
+// -0.175252
+0xbfc66ea599a6af41
+// 0.000201
+0x3f2a5799409cab98
+// 0.000402
+0x3f3a5799409cab98
+// 0.000603
+0x3f43c1b2f07580b2
+// 0.000804
+0x3f4a5799409cab98
+// 0.001005
+0x3f5076bfc861eb3e
+// 0.001206
+0x3f53c1b2f07580b2
+// 0.001407
+0x3f570ca618891624
+// 0.001608
+0x3f5a5799409cab98
+// 0.004278
+0x3f718571b533f4f6
+// 0.006948
+0x3f7c74fd1a40bf06
+// 0.009617
+0x3f83b2443fa6c48a
+// 0.012287
+0x3f892a09f22d2994
+// 0.014957
+0x3f8ea1cfa4b38e9b
+// 0.017627
+0x3f920ccaab9cf9d1
+// 0.020297
+0x3f94c8ad84e02c55
+// 0.022967
+0x3f9784905e235eda
+// 0.022304
+0x3f96d6e4212bf80b
+// 0.021642
+0x3f962937e434913d
+// 0.020979
+0x3f957b8ba73d2a6e
+// 0.020317
+0x3f94cddf6a45c3a0
+// 0.019654
+0x3f9420332d4e5cd2
+// 0.018992
+0x3f937286f056f603
+// 0.018329
+0x3f92c4dab35f8f38
+// 0.017667
+0x3f92172e76682869
+// 0.011954
+0x3f887b1922b82384
+// 0.006241
+0x3f798faab13fec7a
+// 0.000528
+0x3f414918e87c8f40
+// -0.005186
+0xbf753d647720c8b4
+// -0.010899
+0xbf8651f605a891a2
+// -0.016612
+0xbf91029ce7e05f74
+// -0.022325
+0xbf96dc3eccec761a
+// -0.028038
+0xbf9cb5e0b1f88cc0
+// -0.034188
+0xbfa181203930f6f0
+// -0.040339
+0xbfa4a7501965a780
+// -0.046490
+0xbfa7cd7ff99a580f
+// -0.052640
+0xbfaaf3afd9cf089f
+// -0.058791
+0xbfae19dfba03b931
+// -0.064942
+0xbfb0a007cd1c34df
+// -0.071093
+0xbfb2331fbd368d28
+// -0.077243
+0xbfb3c637ad50e570
+// -0.008772
+0xbf81f7047dc11f70
+// -0.017544
+0xbf91f7047dc11f70
+// -0.026316
+0xbf9af286bca1af28
+// -0.035088
+0xbfa1f7047dc11f70
+// -0.043860
+0xbfa674c59d31674c
+// -0.052632
+0xbfaaf286bca1af28
+// -0.061404
+0xbfaf7047dc11f704
+// -0.070175
+0xbfb1f7047dc11f70
+// -0.078947
+0xbfb435e50d79435e
+// -0.085895
+0xbfb5fd33e9a61428
+// -0.092842
+0xbfb7c482c5d2e4f2
+// -0.099790
+0xbfb98bd1a1ffb5bb
+// -0.106737
+0xbfbb53207e2c8685
+// -0.113685
+0xbfbd1a6f5a59574f
+// -0.120632
+0xbfbee1be36862819
+// -0.127580
+0xbfc0548689597c71
+// -0.134527
+0xbfc1382df76fe4d6
+// -0.141474
+0xbfc21bd565864d3b
+// -0.000049
+0xbf0979177ebe1202
+// -0.000097
+0xbf1979177ebe1202
+// -0.000146
+0xbf231ad19f0e8d82
+// -0.000194
+0xbf2979177ebe1202
+// -0.000243
+0xbf2fd75d5e6d9682
+// -0.000292
+0xbf331ad19f0e8d82
+// -0.000340
+0xbf3649f48ee64fc1
+// -0.000389
+0xbf3979177ebe1202
+// -0.000437
+0xbf3ca83a6e95d443
+// -0.004990
+0xbf7470c68e68009d
+// -0.009543
+0xbf838b84baf351fb
+// -0.014097
+0xbf8cdea62eb2a3a8
+// -0.018650
+0xbf9318e3d138faaa
+// -0.023203
+0xbf97c2748b18a380
+// -0.027756
+0xbf9c6c0544f84c57
+// -0.032309
+0xbfa08acaff6bfa96
+// -0.036862
+0xbfa2df935c5bcf02
+// -0.041415
+0xbfa5345bb94ba36d
+// 0.003571
+0x3f6d4135a4090122
+// 0.007142
+0x3f7d4135a4090122
+// 0.010713
+0x3f85f0e83b06c0da
+// 0.014285
+0x3f8d4135a4090122
+// 0.017856
+0x3f9248c18685a0b5
+// 0.021427
+0x3f95f0e83b06c0da
+// 0.024998
+0x3f99990eef87e0fe
+// 0.028569
+0x3f9d4135a4090122
+// 0.032140
+0x3fa074ae2c4510a3
+// 0.028018
+0x3f9cb0a797fede77
+// 0.023895
+0x3f9877f2d7739baa
+// 0.019773
+0x3f943f3e16e858dc
+// 0.015650
+0x3f900689565d160d
+// 0.011527
+0x3f879ba92ba3a67c
+// 0.007405
+0x3f7e547f551a41c0
+// 0.003282
+0x3f6ae358a5da6d10
+// -0.000840
+0xbf4b893579fea5c0
+// -0.004963
+0xbf7453f9b16cdff0
+// -0.000314
+0xbf348c3b817ac500
+// 0.004336
+0x3f71c272413d8760
+// 0.008985
+0x3f8266d41d495d88
+// 0.013635
+0x3f8bec6f19f3f758
+// 0.018284
+0x3f92b9050b4f4898
+// 0.022933
+0x3f977bd289a49580
+// 0.027583
+0x3f9c3ea007f9e268
+// 0.032232
+0x3fa080b6c32797a8
+// 0.036881
+0x3fa2e21d82523e1e
+// 0.039486
+0x3fa437771e220bd7
+// 0.042090
+0x3fa58cd0b9f1d98d
+// 0.044694
+0x3fa6e22a55c1a744
+// 0.047299
+0x3fa83783f19174ff
+// 0.049903
+0x3fa98cdd8d6142b2
+// 0.052507
+0x3faae2372931106c
+// 0.055111
+0x3fac3790c500de23
+// 0.057716
+0x3fad8cea60d0abda
+// 0.060320
+0x3faee243fca07990
+// 0.003317
+0x3f6b2b3deae6cd1c
+// 0.006633
+0x3f7b2b3deae6cd1c
+// 0.009950
+0x3f84606e702d19d5
+// 0.013266
+0x3f8b2b3deae6cd1c
+// 0.016583
+0x3f90fb06b2d04031
+// 0.019899
+0x3f94606e702d19d5
+// 0.023216
+0x3f97c5d62d89f378
+// 0.026532
+0x3f9b2b3deae6cd1c
+// 0.029849
+0x3f9e90a5a843a6c0
+// 0.033288
+0x3fa10b16256851e9
+// 0.036727
+0x3fa2cdd976aed074
+// 0.040166
+0x3fa4909cc7f54efe
+// 0.043605
+0x3fa65360193bcd88
+// 0.047044
+0x3fa816236a824c12
+// 0.050483
+0x3fa9d8e6bbc8ca9d
+// 0.053922
+0x3fab9baa0d0f4927
+// 0.057361
+0x3fad5e6d5e55c7b0
+// 0.060800
+0x3faf2130af9c463c
+// 0.059735
+0x3fae9589e9d29fdd
+// 0.058669
+0x3fae09e32408f981
+// 0.057604
+0x3fad7e3c5e3f5326
+// 0.056538
+0x3facf2959875acca
+// 0.055473
+0x3fac66eed2ac066d
+// 0.054407
+0x3fabdb480ce26010
+// 0.053342
+0x3fab4fa14718b9b4
+// 0.052276
+0x3faac3fa814f1357
+// 0.051211
+0x3faa3853bb856cfc
+// 0.050248
+0x3fa9ba214bbc7929
+// 0.049285
+0x3fa93beedbf38558
+// 0.048323
+0x3fa8bdbc6c2a9186
+// 0.047360
+0x3fa83f89fc619db5
+// 0.046397
+0x3fa7c1578c98a9e7
+// 0.045434
+0x3fa743251ccfb614
+// 0.044471
+0x3fa6c4f2ad06c241
+// 0.043509
+0x3fa646c03d3dce73
+// 0.042546
+0x3fa5c88dcd74daa2
+// -0.001630
+0xbf5ab5928eb04c53
+// -0.003260
+0xbf6ab5928eb04c53
+// -0.004891
+0xbf74082deb04393e
+// -0.006521
+0xbf7ab5928eb04c53
+// -0.008151
+0xbf80b17b992e2fb4
+// -0.009781
+0xbf84082deb04393e
+// -0.011411
+0xbf875ee03cda42c8
+// -0.013042
+0xbf8ab5928eb04c53
+// -0.014672
+0xbf8e0c44e08655dd
+// -0.013749
+0xbf8c28646f1cbe92
+// -0.012826
+0xbf8a4483fdb32747
+// -0.011903
+0xbf8860a38c498ffc
+// -0.010980
+0xbf867cc31adff8b0
+// -0.010057
+0xbf8498e2a9766164
+// -0.009134
+0xbf82b502380cca1b
+// -0.008211
+0xbf80d121c6a332d0
+// -0.007288
+0xbf7dda82aa733708
+// -0.006366
+0xbf7a12c1c7a00870
+// -0.010496
+0xbf857edf387d23ba
+// -0.014626
+0xbf8df45d8d2a4340
+// -0.018757
+0xbf9334edf0ebb160
+// -0.022887
+0xbf976fad1b424122
+// -0.027017
+0xbf9baa6c4598d0e3
+// -0.031148
+0xbf9fe52b6fef60a4
+// -0.035278
+0xbfa20ff54d22f833
+// -0.039408
+0xbfa42d54e24e4013
+// -0.043539
+0xbfa64ab4777987f4
+// -0.038897
+0xbfa3ea52ed3487f9
+// -0.034256
+0xbfa189f162ef87fe
+// -0.029614
+0xbf9e531fb1551006
+// -0.024972
+0xbf99925c9ccb1012
+// -0.020331
+0xbf94d19988411018
+// -0.015689
+0xbf9010d673b71020
+// -0.011048
+0xbf86a026be5a2058
+// -0.006406
+0xbf7a3d412a8c40c0
+// -0.001764
+0xbf5ce8d361910380
+// 0.061333
+0x3faf67031a25a5e4
+// 0.065743
+0x3fb0d483f768bf06
+// 0.070153
+0x3fb1f58661beab19
+// 0.074563
+0x3fb31688cc14972c
+// 0.078973
+0x3fb4378b366a833d
+// 0.083382
+0x3fb5588da0c06f50
+// 0.087792
+0x3fb679900b165b63
+// 0.092202
+0x3fb79a92756c4776
+// 0.096612
+0x3fb8bb94dfc2338a
+// -0.000155
+0xbf244cd33e4def98
+// -0.000310
+0xbf344cd33e4def98
+// -0.000465
+0xbf3e733cdd74e765
+// -0.000620
+0xbf444cd33e4def98
+// -0.000774
+0xbf4960080de16b7e
+// -0.000929
+0xbf4e733cdd74e765
+// -0.001084
+0xbf51c338d68431a5
+// -0.001239
+0xbf544cd33e4def98
+// -0.001394
+0xbf56d66da617ad8c
+// -0.002113
+0xbf614e909acc1fc4
+// -0.002831
+0xbf6731ea628c68c3
+// -0.003550
+0xbf6d15442a4cb1c2
+// -0.004269
+0xbf717c4ef9067d60
+// -0.004988
+0xbf746dfbdce6a1e0
+// -0.005706
+0xbf775fa8c0c6c660
+// -0.006425
+0xbf7a5155a4a6eade
+// -0.007144
+0xbf7d430288870f5e
+// -0.007863
+0xbf801a57b63399ef
+// -0.006813
+0xbf7be776815c7c38
+// -0.005762
+0xbf779a3d9651c494
+// -0.004712
+0xbf734d04ab470cf0
+// -0.003662
+0xbf6dff978078aa94
+// -0.002612
+0xbf656525aa633b4c
+// -0.001561
+0xbf599567a89b9808
+// -0.000511
+0xbf40c107f8e172f0
+// 0.000539
+0x3f41a8bf5f744a40
+// 0.001589
+0x3f5a09435be503b0
+// 0.002261
+0x3f6284b234d8a2c1
+// 0.002932
+0x3f6804c2bbbec3aa
+// 0.003603
+0x3f6d84d342a4e493
+// 0.004275
+0x3f718271e4c582c2
+// 0.004946
+0x3f74427a28389333
+// 0.005618
+0x3f7702826baba3af
+// 0.006289
+0x3f79c28aaf1eb420
+// 0.006960
+0x3f7c8292f291c498
+// 0.007632
+0x3f7f429b3604d508
+// 0.012808
+0x3f8a3afa18fc865e
+// 0.017984
+0x3f926a534b7b5118
+// 0.023160
+0x3f97b7298a785f04
+// 0.028336
+0x3f9d03ffc9756ced
+// 0.033511
+0x3fa1286b04393d6b
+// 0.038687
+0x3fa3ced623b7c461
+// 0.043863
+0x3fa6754143364b56
+// 0.049039
+0x3fa91bac62b4d24c
+// 0.054215
+0x3fabc21782335941
diff --git a/Testing/Source/Tests/DECIMF64.cpp b/Testing/Source/Tests/DECIMF64.cpp
new file mode 100644
index 000000000..685875d7d
--- /dev/null
+++ b/Testing/Source/Tests/DECIMF64.cpp
@@ -0,0 +1,172 @@
+#include "DECIMF64.h"
+#include
+#include "Error.h"
+
+#define SNR_THRESHOLD 120
+
+/*
+
+Reference patterns are generated with
+a double precision computation.
+
+*/
+#define REL_ERROR (8.0e-4)
+
+
+ void DECIMF64::test_fir_decimate_f64()
+ {
+ int nbTests;
+ int nb;
+ uint32_t *pConfig = config.ptr();
+
+ const float64_t * pSrc = input.ptr();
+ float64_t * pDst = output.ptr();
+ float64_t * pCoefs = coefs.ptr();
+
+ nbTests=config.nbSamples() / 4;
+
+ for(nb=0;nb < nbTests; nb++)
+ {
+
+ this->q = pConfig[0];
+ this->numTaps = pConfig[1];
+ this->blocksize = pConfig[2];
+ this->refsize = pConfig[3];
+
+
+ pConfig += 4;
+
+ this->status=arm_fir_decimate_init_f64(&(this->S),
+ this->numTaps,
+ this->q,
+ pCoefs,
+ state.ptr(),
+ this->blocksize);
+
+
+
+ ASSERT_TRUE(this->status == ARM_MATH_SUCCESS);
+
+ arm_fir_decimate_f64(
+ &(this->S),
+ pSrc,
+ pDst,
+ this->blocksize);
+
+ pSrc += this->blocksize;
+ pDst += this->refsize;
+
+ pCoefs += this->numTaps;
+ }
+
+
+ ASSERT_EMPTY_TAIL(output);
+
+ ASSERT_SNR(output,ref,(float64_t)SNR_THRESHOLD);
+
+ ASSERT_REL_ERROR(output,ref,REL_ERROR);
+
+ }
+
+#if 0
+ void DECIMF64::test_fir_interpolate_f64()
+ {
+ int nbTests;
+ int nb;
+ uint64_t *pConfig = config.ptr();
+
+ const float64_t * pSrc = input.ptr();
+ float64_t * pDst = output.ptr();
+ float64_t * pCoefs = coefs.ptr();
+
+ nbTests=config.nbSamples() / 4;
+
+ for(nb=0;nb < nbTests; nb++)
+ {
+
+ this->q = pConfig[0];
+ this->numTaps = pConfig[1];
+ this->blocksize = pConfig[2];
+ this->refsize = pConfig[3];
+
+
+
+ pConfig += 4;
+
+ this->status=arm_fir_interpolate_init_f64(&(this->SI),
+ this->q,
+ this->numTaps,
+ pCoefs,
+ state.ptr(),
+ this->blocksize);
+
+
+
+ ASSERT_TRUE(this->status == ARM_MATH_SUCCESS);
+
+ arm_fir_interpolate_f64(
+ &(this->SI),
+ pSrc,
+ pDst,
+ this->blocksize);
+
+ pSrc += this->blocksize;
+ pDst += this->refsize;
+
+ pCoefs += this->numTaps;
+ }
+
+
+ ASSERT_EMPTY_TAIL(output);
+
+ ASSERT_SNR(output,ref,(float64_t)SNR_THRESHOLD);
+
+ ASSERT_REL_ERROR(output,ref,REL_ERROR);
+
+ }
+
+#endif
+ void DECIMF64::setUp(Testing::testID_t id,std::vector& params,Client::PatternMgr *mgr)
+ {
+
+ (void)params;
+
+ switch(id)
+ {
+ case DECIMF64::TEST_FIR_DECIMATE_F64_1:
+ config.reload(DECIMF64::CONFIGSDECIMF64_ID,mgr);
+
+ input.reload(DECIMF64::INPUT1_F64_ID,mgr);
+ coefs.reload(DECIMF64::COEFS1_F64_ID,mgr);
+
+ ref.reload(DECIMF64::REF1_DECIM_F64_ID,mgr);
+ state.create(16 + 768 - 1,DECIMF64::STATE_F64_ID,mgr);
+
+ break;
+
+#if 0
+ case DECIMF64::TEST_FIR_INTERPOLATE_F64_2:
+ config.reload(DECIMF64::CONFIGSINTERPF64_ID,mgr);
+
+ input.reload(DECIMF64::INPUT2_F64_ID,mgr);
+ coefs.reload(DECIMF64::COEFS2_F64_ID,mgr);
+
+ ref.reload(DECIMF64::REF2_INTERP_F64_ID,mgr);
+ state.create(16 + 768 - 1,DECIMF64::STATE_F64_ID,mgr);
+
+ break;
+#endif
+
+ }
+
+
+
+
+ output.create(ref.nbSamples(),DECIMF64::OUT_F64_ID,mgr);
+ }
+
+ void DECIMF64::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
+ {
+ (void)id;
+ output.dump(mgr);
+ }
diff --git a/Testing/desc.txt b/Testing/desc.txt
index 2986012da..4d9239712 100644
--- a/Testing/desc.txt
+++ b/Testing/desc.txt
@@ -2172,6 +2172,29 @@ group Root {
class = DECIM
folder = DECIM
+ suite DECIM F64 {
+ class = DECIMF64
+ folder = DECIMF64
+
+ Pattern INPUT1_F64_ID : Input2_f64.txt
+ Pattern INPUT2_F64_ID : Input3_f64.txt
+ Pattern COEFS1_F64_ID : Coefs2_f64.txt
+ Pattern COEFS2_F64_ID : Coefs3_f64.txt
+
+ Pattern CONFIGSDECIMF64_ID : Configs2_u32.txt
+ Pattern CONFIGSINTERPF64_ID : Configs3_u32.txt
+
+ Pattern REF1_DECIM_F64_ID : Reference2_f64.txt
+ Pattern REF2_INTERP_F64_ID : Reference3_f64.txt
+
+ Output OUT_F64_ID : Output
+ Output STATE_F64_ID : State
+
+ Functions {
+ test_fir_decimate_f64:test_fir_decimate_f64
+ }
+ }
+
suite DECIM F32 {
class = DECIMF32
folder = DECIMF32