diff --git a/.gitignore b/.gitignore index 03832b5..d93e346 100644 --- a/.gitignore +++ b/.gitignore @@ -19,5 +19,6 @@ DetectionSample settings.ini logo.rc *.aps +.cache *.json diff --git a/CLI/CMakeLists.txt b/CLI/CMakeLists.txt index e93d30d..97e90e3 100644 --- a/CLI/CMakeLists.txt +++ b/CLI/CMakeLists.txt @@ -32,6 +32,10 @@ if(Build_CLI) endif() endif() + if (Enable_HIP) + target_link_libraries(${PROJECT_NAME} PRIVATE hip::host) + endif() + include(${TOP_DIR}/cmake/ThirdPartyForCLI.cmake) install( diff --git a/CLI/src/main.cpp b/CLI/src/main.cpp index bc1f34a..e622de7 100644 --- a/CLI/src/main.cpp +++ b/CLI/src/main.cpp @@ -21,7 +21,7 @@ namespace filesystem = std::filesystem; enum class GPGPU { - OpenCL, CUDA, NCNN + OpenCL, CUDA, NCNN, HIP }; static bool checkFFmpeg() @@ -132,7 +132,7 @@ static void showVersionInfo() static void showGPUList() { -#if !defined(ENABLE_OPENCL) && !defined(ENABLE_CUDA) && !defined(ENABLE_NCNN) +#if !defined(ENABLE_OPENCL) && !defined(ENABLE_CUDA) && !defined(ENABLE_HIP) && !defined(ENABLE_NCNN) std::cerr << "Error: No GPU acceleration mode supported\n"; #endif @@ -154,6 +154,15 @@ static void showGPUList() std::cout << CUDAGPUList(); #endif +#ifdef ENABLE_HIP + std::cout << "\nHIP:\n"; + Anime4KCPP::Hip::GPUList HIPGPUList = Anime4KCPP::Hip::listGPUs(); + if (HIPGPUList.devices == 0) + std::cerr << "Error: No HIP GPU found\n"; + else + std::cout << HIPGPUList(); +#endif + #ifdef ENABLE_NCNN std::cout << "\nncnn:\n"; Anime4KCPP::NCNN::GPUList NCNNGPUList = Anime4KCPP::NCNN::listGPUs(); @@ -184,6 +193,12 @@ static void benchmark(const int pID, const int dID) double CudaScoreFHD = Anime4KCPP::benchmark(dID); #endif +#ifdef ENABLE_HIP + double HipScoreDVD = Anime4KCPP::benchmark(dID); + double HipScoreHD = Anime4KCPP::benchmark(dID); + double HipScoreFHD = Anime4KCPP::benchmark(dID); +#endif + #ifdef ENABLE_NCNN double NCNNCPUScoreDVD = Anime4KCPP::benchmark(-1, Anime4KCPP::CNNType::ACNetHDNL0, 4); double NCNNCPUScoreHD = Anime4KCPP::benchmark(-1, Anime4KCPP::CNNType::ACNetHDNL0, 4); @@ -216,6 +231,14 @@ static void benchmark(const int pID, const int dID) << " FHD(1080P->2160P): " << CudaScoreFHD << " FPS\n" << std::endl; #endif +#ifdef ENABLE_HIP + std::cout + << "HIP score: (dID = " << dID << ")\n" + << " DVD(480P->960P): " << HipScoreDVD << " FPS\n" + << " HD(720P->1440P): " << HipScoreHD << " FPS\n" + << " FHD(1080P->2160P): " << HipScoreFHD << " FPS\n" << std::endl; +#endif + #ifdef ENABLE_NCNN std::cout << "NCNN CPU score:\n" @@ -443,6 +466,8 @@ int main(int argc, char* argv[]) GPGPUModel = GPGPU::OpenCL; #elif defined(ENABLE_CUDA) GPGPUModel = GPGPU::CUDA; +#elif defined(ENABLE_HIP) + GPGPUModel = GPGPU::HIP; #elif defined(ENABLE_NCNN) GPGPUModel = GPGPU::NCNN; #else @@ -454,11 +479,13 @@ int main(int argc, char* argv[]) } else if (GPGPUModelString == "cuda") GPGPUModel = GPGPU::CUDA; + else if (GPGPUModelString == "hip") + GPGPUModel = GPGPU::HIP; else if (GPGPUModelString == "ncnn") GPGPUModel = GPGPU::NCNN; else { - logErrorAndExit(R"(Unknown GPGPU model, it must be "ncnn", "cuda" or "opencl")"); + logErrorAndExit(R"(Unknown GPGPU model, it must be "ncnn", "cuda", "hip" or "opencl")"); } if (ncnn) @@ -574,6 +601,13 @@ int main(int argc, char* argv[]) logErrorAndExit("CUDA is not supported"); #else initializer.pushManager(dID); +#endif + break; + case GPGPU::HIP: +#ifndef ENABLE_HIP + logErrorAndExit("HIP is not supported"); +#else + initializer.pushManager(dID); #endif break; case GPGPU::NCNN: @@ -646,6 +680,23 @@ int main(int argc, char* argv[]) ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::Cuda_ACNet); else ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::Cuda_Anime4K09); +#endif + } + break; + case GPGPU::HIP: + { +#ifdef ENABLE_HIP + Anime4KCPP::Hip::GPUInfo ret = Anime4KCPP::Hip::checkGPUSupport(dID); + if (!ret) + { + logErrorAndExit(ret()); + } + else + std::cout << ret() << '\n'; + if (CNN) + ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::Hip_ACNet); + else + ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::Hip_Anime4K09); #endif } break; diff --git a/CMakeLists.txt b/CMakeLists.txt index 46210d1..19ed874 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ option(Other_Optimization_For_Other "Enable other optimizatio flag for other if option(Enable_IPO "Enable link time optimization, may cause unknown bugs even slow performance" OFF) option(Maximum_Optimization "Enable maximum optimizations for the current platform" OFF) option(Enable_CUDA "Enable CUDA module" OFF) +option(Enable_HIP "Enable HIP module" OFF) option(Enable_OpenCL "Enable OpenCL module" ON) option(Enable_NCNN "Enable ncnn module" OFF) option(Enable_Fast_Math "Enable fast math" OFF) @@ -89,6 +90,9 @@ if(Enable_CUDA) set(CMAKE_CUDA_ARCHITECTURES ${CUDA_Minimum_CC}-virtual ${CUDA_CC}-real) endif() enable_language(CUDA) +elseif(Enable_HIP) + enable_language(HIP) + find_package(hip REQUIRED) endif() if(Use_Eigen3) @@ -209,7 +213,7 @@ set(VapourSynth_SDK_PATH "VapourSynth SDK path" CACHE PATH "Where to look for Va set(AviSynthPlus_SDK_PATH "AviSynthPlus SDK path" CACHE PATH "Where to look for AviSynthPlus SDK") if(NOT Disable_Parallel) - set(Parallel_Library "Auto" CACHE STRING "Auto, PPL, OpenMP, TBB or Built-in") + set(Parallel_Library "TBB" CACHE STRING "Auto, PPL, OpenMP, TBB or Built-in") if(NOT Parallel_Library MATCHES "^(Auto|PPL|OpenMP|TBB|Built-in)$") message ( @@ -308,6 +312,7 @@ message(STATUS " Enable IPO ${Enable_IPO}\n" " Enable OpenCL ${Enable_OpenCL}\n" " Enable CUDA ${Enable_CUDA}\n" +" Enable HIP ${Enable_HIP}\n" " Enable NCNN ${Enable_NCNN}\n" " Enable OpenCV DNN ${Enable_OpenCV_DNN}\n" " Enable video ${Enable_Video}\n" diff --git a/CWrapper/include/AC.h b/CWrapper/include/AC.h index 2296f7d..bb45eea 100644 --- a/CWrapper/include/AC.h +++ b/CWrapper/include/AC.h @@ -35,6 +35,8 @@ extern "C" AC_OpenCL_ACNet, AC_Cuda_Anime4K09, AC_Cuda_ACNet, + AC_Hip_Anime4K09, + AC_Hip_ACNet, //deprecated, use AC_CPU_Anime4K09 AC_CPU = AC_CPU_Anime4K09, //deprecated, use AC_CPU_ACNet diff --git a/DSFilter/include/ACProp.h b/DSFilter/include/ACProp.h index 755d53c..a0cfca7 100644 --- a/DSFilter/include/ACProp.h +++ b/DSFilter/include/ACProp.h @@ -9,7 +9,7 @@ namespace GPGPU { - static constexpr int CPU = 0, OpenCL = 1, CUDA = 2; + static constexpr int CPU = 0, OpenCL = 1, CUDA = 2, HIP = 3; }; struct ACPropData diff --git a/DSFilter/src/Anime4KCPPDS.cpp b/DSFilter/src/Anime4KCPPDS.cpp index 0345538..bfc3795 100644 --- a/DSFilter/src/Anime4KCPPDS.cpp +++ b/DSFilter/src/Anime4KCPPDS.cpp @@ -143,6 +143,8 @@ Anime4KCPPDS::Anime4KCPPDS(TCHAR* tszName, GetPrivateProfileString(L"Anime4KCPP for DirectShow Config", L"GPGPUModel", L"OpenCL", _GPGPUModelString, 10, lpPath); #elif defined(ENABLE_CUDA) GetPrivateProfileString(L"Anime4KCPP for DirectShow Config", L"GPGPUModel", L"CUDA", _GPGPUModelString, 10, lpPath); +#elif defined(ENABLE_HIP) + GetPrivateProfileString(L"Anime4KCPP for DirectShow Config", L"GPGPUModel", L"HIP", _GPGPUModelString, 10, lpPath); #else GetPrivateProfileString(L"Anime4KCPP for DirectShow Config", L"GPGPUModel", L"CPU", _GPGPUModelString, 10, lpPath); #endif @@ -209,6 +211,11 @@ Anime4KCPPDS::Anime4KCPPDS(TCHAR* tszName, initializer.pushManager(data.dID); #endif break; + case GPGPU::HIP: +#ifdef ENABLE_HIP + initializer.pushManager(data.dID); +#endif + break; case GPGPU::CPU: initializer.pushManager(); break; @@ -523,6 +530,14 @@ HRESULT Anime4KCPPDS::Transform(IMediaSample* pIn, IMediaSample* pOut) ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::Cuda_Anime4K09); #endif break; + case GPGPU::HIP: +#ifdef ENABLE_HIP + if (data.CNN) + ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::Hip_ACNet); + else + ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::Hip_Anime4K09); +#endif + break; case GPGPU::CPU: if (data.CNN) ac = Anime4KCPP::ACCreator::createUP(parameters, Anime4KCPP::Processor::Type::CPU_ACNet); diff --git a/VapourSynth/CMakeLists.txt b/VapourSynth/CMakeLists.txt index 8742b07..c63c194 100644 --- a/VapourSynth/CMakeLists.txt +++ b/VapourSynth/CMakeLists.txt @@ -3,7 +3,12 @@ if(Build_VapourSynth_Plugin) aux_source_directory(src SOURCE) + find_package(PkgConfig REQUIRED) + pkg_check_modules(VAPOURSYNTH REQUIRED IMPORTED_TARGET vapoursynth) + add_library(${PROJECT_NAME} SHARED ${SOURCE}) + target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::VAPOURSYNTH) + target_include_directories(${PROJECT_NAME} PUBLIC ${VAPOURSYNTH_INCLUDE_DIRS}) if(Other_Optimization_For_Other) if(MSVC) diff --git a/cmake/ThirdPartyForCore.cmake b/cmake/ThirdPartyForCore.cmake index 6b9d627..badb058 100644 --- a/cmake/ThirdPartyForCore.cmake +++ b/cmake/ThirdPartyForCore.cmake @@ -81,6 +81,24 @@ if(NOT Disable_Parallel) target_link_libraries(${PROJECT_NAME} PUBLIC OpenMP::OpenMP_CXX) elseif(Parallel_Library_Type STREQUAL TBB) find_package(TBB REQUIRED) + # if (NOT TBB_FOUND OR TBB_VERSION VERSION_LESS 2021.5) + # message(WARNING "TBB not found or has version lower than 2021.5, fetching external TBB") + # include(FetchContent) + # set (TBB_TEST OFF CACHE INTERNAL "Turn off TBB tests") + # set (TBB_INSTALL OFF CACHE INTERNAL "Turn off TBB install") + # # Store the old value of the 'BUILD_SHARED_LIBS' + # set(BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + # set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries") + # FetchContent_Declare(TBB + # URL https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.11.0.tar.gz + # URL_HASH SHA256=782ce0cab62df9ea125cdea253a50534862b563f1d85d4cda7ad4e77550ac363 + # ) + # FetchContent_MakeAvailable(TBB) + # # Restore the old value of the parameter + # set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) + # endif() + # # message("TBB version: ${TBB_VERSION}") target_link_libraries(${PROJECT_NAME} PUBLIC TBB::tbb) endif() elseif(Enable_Video) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 33729d7..ffbfc28 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -8,11 +8,13 @@ if(Build_Static_Core) add_library(${PROJECT_NAME} STATIC ${INCLUDE} ${SOURCE} $<$:$> + $<$:$> ) else() add_library(${PROJECT_NAME} SHARED ${INCLUDE} ${SOURCE} $<$:$> + $<$:$> ) endif() @@ -21,6 +23,9 @@ target_compile_definitions( PUBLIC $<$:ENABLE_OPENCL> $<$:ENABLE_CUDA> + $<$:ENABLE_HIP> + # # This allows HIP to emulate as CUDA + # $<$:ENABLE_CUDA> $<$:ENABLE_NCNN> $<$:ENABLE_VIDEO> $<$:ENABLE_PREVIEW_GUI> @@ -67,6 +72,10 @@ if(Other_Optimization_For_Core) endif() endif() +if (Enable_HIP) + target_link_libraries(${PROJECT_NAME} PRIVATE hip::host) +endif() + include(${TOP_DIR}/cmake/ThirdPartyForCore.cmake) install( diff --git a/core/include/ACCreator.hpp b/core/include/ACCreator.hpp index 3abd2f9..2fd0dda 100644 --- a/core/include/ACCreator.hpp +++ b/core/include/ACCreator.hpp @@ -11,6 +11,10 @@ #include "ACCuda.hpp" #endif +#ifdef ENABLE_HIP +#include "ACHip.hpp" +#endif + #ifdef ENABLE_NCNN #include "ACNCNN.hpp" #endif diff --git a/core/include/ACHip.hpp b/core/include/ACHip.hpp new file mode 100644 index 0000000..1b32ad5 --- /dev/null +++ b/core/include/ACHip.hpp @@ -0,0 +1,72 @@ +#ifndef ANIME4KCPP_CORE_AC_HIP_HPP +#define ANIME4KCPP_CORE_AC_HIP_HPP + +#ifdef ENABLE_HIP + +#include "HipAnime4K09.hpp" +#include "HipACNet.hpp" +#include "ACManager.hpp" + +namespace Anime4KCPP +{ + namespace Hip + { + class AC_EXPORT Manager; + + struct AC_EXPORT GPUList; + struct AC_EXPORT GPUInfo; + + //return platforms, devices of each platform, all devices information + AC_EXPORT GPUList listGPUs() noexcept; + //return result and information + AC_EXPORT GPUInfo checkGPUSupport(int dID) noexcept; + } + + namespace Processor + { + template<> + struct GetManager { + using Manager = Hip::Manager; + }; + template<> + struct GetManager { + using Manager = Hip::Manager; + }; + } +} + +class Anime4KCPP::Hip::Manager : public Anime4KCPP::Processor::Manager +{ +public: + Manager(int dID = 0) noexcept; + void init() override; + void release() noexcept override; + bool isInitialized() noexcept override; + bool isSupport() noexcept override; + const char* name() noexcept override { return "HIP Processor Manager"; }; +private: + int dID; +}; + +struct Anime4KCPP::Hip::GPUList +{ + int devices; + std::string message; + + GPUList(int devices, std::string message); + std::string& operator()() noexcept; +}; + +struct Anime4KCPP::Hip::GPUInfo +{ + bool supported; + std::string message; + + GPUInfo(bool supported, std::string message); + std::string& operator()() noexcept; + operator bool() const noexcept; +}; + +#endif + +#endif // !ANIME4KCPP_CORE_AC_HIP_HPP diff --git a/core/include/ACRegister.hpp b/core/include/ACRegister.hpp index 0e632c7..3300d2a 100644 --- a/core/include/ACRegister.hpp +++ b/core/include/ACRegister.hpp @@ -26,6 +26,12 @@ #define CUDA_FLAG 0 #endif +#ifdef ENABLE_HIP +#define HIP_FLAG 1 +#else +#define HIP_FLAG 0 +#endif + #ifdef ENABLE_NCNN #define NCNN_FLAG 1 #else @@ -43,6 +49,8 @@ REGISTER_PROCESSOR_IF(OPENCL_FLAG ,OpenCL, Anime4K09)\ REGISTER_PROCESSOR_IF(OPENCL_FLAG ,OpenCL, ACNet)\ REGISTER_PROCESSOR_IF(CUDA_FLAG, Cuda, Anime4K09)\ REGISTER_PROCESSOR_IF(CUDA_FLAG, Cuda, ACNet)\ +REGISTER_PROCESSOR_IF(HIP_FLAG, Hip, Anime4K09)\ +REGISTER_PROCESSOR_IF(HIP_FLAG, Hip, ACNet)\ REGISTER_PROCESSOR_IF(NCNN_FLAG, NCNN, ACNet) //--------------------------------------- diff --git a/core/include/HipACNet.hpp b/core/include/HipACNet.hpp new file mode 100644 index 0000000..4f34e4b --- /dev/null +++ b/core/include/HipACNet.hpp @@ -0,0 +1,35 @@ +#ifndef ANIME4KCPP_CORE_HIP_ACNET_HPP +#define ANIME4KCPP_CORE_HIP_ACNET_HPP + +#ifdef ENABLE_HIP + +#include "AC.hpp" +#include "CNN.hpp" + +namespace Anime4KCPP::Hip +{ + class AC_EXPORT ACNet; +} + +class Anime4KCPP::Hip::ACNet :public AC +{ +public: + explicit ACNet(const Parameters& parameters); + void setParameters(const Parameters& parameters) override; + + std::string getInfo() const override; + std::string getFiltersInfo() const override; +private: + void processYUVImage() override; + void processRGBImage() override; + void processGrayscale() override; + + Processor::Type getProcessorType() const noexcept override; + std::string getProcessorInfo() const override; +private: + int ACNetTypeIndex; +}; + +#endif // ENABLE_HIP + +#endif // !ANIME4KCPP_CORE_HIP_ACNET_HPP diff --git a/core/include/HipAnime4K09.hpp b/core/include/HipAnime4K09.hpp new file mode 100644 index 0000000..5c92c1d --- /dev/null +++ b/core/include/HipAnime4K09.hpp @@ -0,0 +1,36 @@ +#ifndef ANIME4KCPP_CORE_HIP_ANIME4K09_HPP +#define ANIME4KCPP_CORE_HIP_ANIME4K09_HPP + +#ifdef ENABLE_HIP + +#include +#include "AC.hpp" + +namespace Anime4KCPP::Hip +{ + class AC_EXPORT Anime4K09; +} + +class Anime4KCPP::Hip::Anime4K09 :public AC +{ +public: + using AC::AC; + + explicit Anime4K09(const Parameters& parameters); + virtual ~Anime4K09(); + + std::string getInfo() const override; + std::string getFiltersInfo() const override; +private: + hipStream_t stream; + void processYUVImage() override; + void processRGBImage() override; + void processGrayscale() override; + + Processor::Type getProcessorType() const noexcept override; + std::string getProcessorInfo() const override; +}; + +#endif // ENABLE_HIP + +#endif // !ANIME4KCPP_CORE_HIP_ANIME4K09_HPP diff --git a/core/include/HipInterface.hpp b/core/include/HipInterface.hpp new file mode 100644 index 0000000..c0b3027 --- /dev/null +++ b/core/include/HipInterface.hpp @@ -0,0 +1,50 @@ +#ifndef ANIME4KCPP_CORE_HIP_INTERFACE_HPP +#define ANIME4KCPP_CORE_HIP_INTERFACE_HPP + +#ifdef ENABLE_HIP + +#include +#include + +namespace Anime4KCPP::Hip +{ + enum class ACHipDataType + { + AC_8U, AC_16U, AC_32F + }; + + struct ACHipParamAnime4K09 + { + int orgW, orgH; + int W, H; + std::size_t stride; + int passes, pushColorCount; + float strengthColor, strengthGradient; + }; + + struct ACHipParamACNet + { + int orgW, orgH; + std::size_t stride; + }; + + void cuRunKernelAnime4K09(const void* inputData, void* outputData, ACHipDataType type, ACHipParamAnime4K09* param, hipStream_t& stream); + + void cuRunKernelACNetHDN0(const void* inputData, void* outputData, ACHipDataType type, ACHipParamACNet* param); + void cuRunKernelACNetHDN1(const void* inputData, void* outputData, ACHipDataType type, ACHipParamACNet* param); + void cuRunKernelACNetHDN2(const void* inputData, void* outputData, ACHipDataType type, ACHipParamACNet* param); + void cuRunKernelACNetHDN3(const void* inputData, void* outputData, ACHipDataType type, ACHipParamACNet* param); + + void cuSetDeviceID(const int id) noexcept; + int cuGetDeviceID() noexcept; + void cuReleaseHip() noexcept; + + int cuGetDeviceCount() noexcept; + std::string cuGetDeviceInfo(const int id); + std::string cuGetHipInfo(); + bool cuCheckDeviceSupport(const int id) noexcept; +} + +#endif // ENABLE_HIP + +#endif // !ANIME4KCPP_CORE_HIP_INTERFACE_HPP diff --git a/core/src/ACHip.cpp b/core/src/ACHip.cpp new file mode 100644 index 0000000..e7b5567 --- /dev/null +++ b/core/src/ACHip.cpp @@ -0,0 +1,76 @@ +#ifdef ENABLE_HIP + +#include "HipInterface.hpp" +#include "ACHip.hpp" + +Anime4KCPP::Hip::GPUList Anime4KCPP::Hip::listGPUs() noexcept +{ + try + { + return GPUList(cuGetDeviceCount(), cuGetHipInfo()); + } + catch (const std::exception& e) + { + return GPUList(0, e.what()); + } +} + +Anime4KCPP::Hip::GPUInfo Anime4KCPP::Hip::checkGPUSupport(const int dID) noexcept +{ + try + { + return GPUInfo(cuCheckDeviceSupport(dID), cuGetDeviceInfo(dID)); + } + catch (const std::exception& e) + { + return GPUInfo(false, e.what()); + } +} + +Anime4KCPP::Hip::GPUList::GPUList(const int devices, std::string message) + : devices(devices), message(std::move(message)) {} + +std::string& Anime4KCPP::Hip::GPUList::operator()() noexcept +{ + return message; +} + +Anime4KCPP::Hip::GPUInfo::GPUInfo(const bool supported, std::string message) : + supported(supported), message(std::move(message)) {}; + +std::string& Anime4KCPP::Hip::GPUInfo::operator()() noexcept +{ + return message; +} + +Anime4KCPP::Hip::GPUInfo::operator bool() const noexcept +{ + return supported; +} + +Anime4KCPP::Hip::Manager::Manager(const int dID) noexcept + : dID(dID) {} + +void Anime4KCPP::Hip::Manager::init() +{ + if (cuGetDeviceID() != dID) + cuSetDeviceID(dID); +} + +void Anime4KCPP::Hip::Manager::release() noexcept +{ + if (cuGetDeviceID() == dID) + cuReleaseHip(); +} + +bool Anime4KCPP::Hip::Manager::isInitialized() noexcept +{ + return cuGetDeviceID() == dID; +} + +bool Anime4KCPP::Hip::Manager::isSupport() noexcept +{ + return cuCheckDeviceSupport(dID); +} + +#endif diff --git a/core/src/HipACNet.cpp b/core/src/HipACNet.cpp new file mode 100644 index 0000000..035e68a --- /dev/null +++ b/core/src/HipACNet.cpp @@ -0,0 +1,226 @@ +#ifdef ENABLE_HIP + +#include "HipInterface.hpp" +#include "ACNetType.hpp" +#include "HipACNet.hpp" + +namespace Anime4KCPP::Hip::detail +{ + static void runKernel(const cv::Mat& orgImg, cv::Mat& dstImg, int scaleTimes, int index) + { + ACHipDataType dataType; + + switch (orgImg.depth()) + { + case CV_8U: + dataType = ACHipDataType::AC_8U; + break; + case CV_16U: + dataType = ACHipDataType::AC_16U; + break; + case CV_32F: + dataType = ACHipDataType::AC_32F; + break; + default: + throw ACException("Unsupported image data type"); + } + + void (*cuRunKernelACNet)(const void*, void*, ACHipDataType, ACHipParamACNet*); + + switch (index) + { + case 0: + cuRunKernelACNet = cuRunKernelACNetHDN0; + break; + case 1: + cuRunKernelACNet = cuRunKernelACNetHDN1; + break; + case 2: + cuRunKernelACNet = cuRunKernelACNetHDN2; + break; + case 3: + cuRunKernelACNet = cuRunKernelACNetHDN3; + break; + default: + cuRunKernelACNet = cuRunKernelACNetHDN1; + break; + } + + cv::Mat tmpImg = orgImg; + for (int i = 0; i < scaleTimes; i++) + { + dstImg.create(tmpImg.rows * 2, tmpImg.cols * 2, tmpImg.type()); + + ACHipParamACNet cuParam{ tmpImg.cols, tmpImg.rows, tmpImg.step }; + + cuRunKernelACNet(tmpImg.data, dstImg.data, dataType, &cuParam); + + tmpImg = dstImg; + } + } +} + +Anime4KCPP::Hip::ACNet::ACNet(const Parameters& parameters) : + AC(parameters), ACNetTypeIndex(GET_ACNET_TYPE_INDEX(param.HDN, param.HDNLevel)) {} + +void Anime4KCPP::Hip::ACNet::setParameters(const Parameters& parameters) +{ + AC::setParameters(parameters); + ACNetTypeIndex = GET_ACNET_TYPE_INDEX(param.HDN, param.HDNLevel); +} + +std::string Anime4KCPP::Hip::ACNet::getInfo() const +{ + std::ostringstream oss; + oss << AC::getInfo() + << "----------------------------------------------" << '\n' + << "HIP Device ID: " << cuGetDeviceID() << '\n' + << "Zoom Factor: " << param.zoomFactor << '\n' + << "HDN Mode: " << std::boolalpha << param.HDN << '\n' + << "HDN Level: " << (param.HDN ? param.HDNLevel : 0) << '\n' + << "----------------------------------------------" << '\n'; + return oss.str(); +} + +std::string Anime4KCPP::Hip::ACNet::getFiltersInfo() const +{ + std::ostringstream oss; + oss << AC::getFiltersInfo() + << "----------------------------------------------" << '\n' + << "Filter not supported" << '\n' + << "----------------------------------------------" << '\n'; + return oss.str(); +} + +void Anime4KCPP::Hip::ACNet::processYUVImage() +{ + if (!param.fastMode) + { + int scaleTimes = Utils::fastCeilLog2(param.zoomFactor); + if (!scaleTimes) + scaleTimes++; + + detail::runKernel(orgImg, dstImg, scaleTimes, ACNetTypeIndex); + + if (param.isNonIntegerScale()) + { + cv::resize(dstImg, dstImg, cv::Size(width, height), 0.0, 0.0, cv::INTER_AREA); + } + + cv::resize(orgU, dstU, cv::Size(0, 0), param.zoomFactor, param.zoomFactor, cv::INTER_CUBIC); + cv::resize(orgV, dstV, cv::Size(0, 0), param.zoomFactor, param.zoomFactor, cv::INTER_CUBIC); + } + else + { + cv::Mat tmpImg = orgImg; + + if (param.zoomFactor > 2.0) + cv::resize(tmpImg, tmpImg, cv::Size(0, 0), param.zoomFactor / 2.0, param.zoomFactor / 2.0, cv::INTER_CUBIC); + else if (param.zoomFactor < 2.0) + cv::resize(tmpImg, tmpImg, cv::Size(0, 0), param.zoomFactor / 2.0, param.zoomFactor / 2.0, cv::INTER_AREA); + + cv::Mat outMat; + detail::runKernel(tmpImg, outMat, 1, ACNetTypeIndex); + dstImg = outMat; + + cv::resize(orgU, dstU, cv::Size(0, 0), param.zoomFactor, param.zoomFactor, cv::INTER_CUBIC); + cv::resize(orgV, dstV, cv::Size(0, 0), param.zoomFactor, param.zoomFactor, cv::INTER_CUBIC); + } +} + +void Anime4KCPP::Hip::ACNet::processRGBImage() +{ + if (!param.fastMode) + { + int scaleTimes = Utils::fastCeilLog2(param.zoomFactor); + if (!scaleTimes) + scaleTimes++; + + cv::Mat tmpImg; + cv::cvtColor(orgImg, tmpImg, cv::COLOR_BGR2YUV); + + cv::Mat yuv[3]; + cv::split(tmpImg, yuv); + + detail::runKernel(yuv[Y], dstImg, scaleTimes, ACNetTypeIndex); + + if (param.isNonIntegerScale()) + { + cv::resize(dstImg, dstImg, cv::Size(width, height), 0.0, 0.0, cv::INTER_AREA); + } + + cv::resize(yuv[U], yuv[U], cv::Size(0, 0), param.zoomFactor, param.zoomFactor, cv::INTER_CUBIC); + cv::resize(yuv[V], yuv[V], cv::Size(0, 0), param.zoomFactor, param.zoomFactor, cv::INTER_CUBIC); + + cv::merge(std::vector{ dstImg, yuv[U], yuv[V] }, dstImg); + cv::cvtColor(dstImg, dstImg, cv::COLOR_YUV2BGR); + } + else + { + cv::Mat tmpImg; + cv::cvtColor(orgImg, tmpImg, cv::COLOR_BGR2YUV); + + if (param.zoomFactor > 2.0) + cv::resize(tmpImg, tmpImg, cv::Size(0, 0), param.zoomFactor / 2.0, param.zoomFactor / 2.0, cv::INTER_CUBIC); + else if (param.zoomFactor < 2.0) + cv::resize(tmpImg, tmpImg, cv::Size(0, 0), param.zoomFactor / 2.0, param.zoomFactor / 2.0, cv::INTER_AREA); + + cv::Mat yuv[3]; + cv::split(tmpImg, yuv); + + cv::Mat outMat; + detail::runKernel(yuv[Y], outMat, 1, ACNetTypeIndex); + + cv::resize(yuv[U], yuv[U], cv::Size(0, 0), 2.0, 2.0, cv::INTER_CUBIC); + cv::resize(yuv[V], yuv[V], cv::Size(0, 0), 2.0, 2.0, cv::INTER_CUBIC); + + cv::merge(std::vector{ outMat, yuv[U], yuv[V] }, dstImg); + cv::cvtColor(dstImg, dstImg, cv::COLOR_YUV2BGR); + } +} + +void Anime4KCPP::Hip::ACNet::processGrayscale() +{ + if (!param.fastMode) + { + int scaleTimes = Utils::fastCeilLog2(param.zoomFactor); + if (!scaleTimes) + scaleTimes++; + + detail::runKernel(orgImg, dstImg, scaleTimes, ACNetTypeIndex); + + if (param.isNonIntegerScale()) + { + cv::resize(dstImg, dstImg, cv::Size(width, height), 0.0, 0.0, cv::INTER_AREA); + } + } + else + { + cv::Mat tmpImg = orgImg; + + if (param.zoomFactor > 2.0) + cv::resize(tmpImg, tmpImg, cv::Size(0, 0), param.zoomFactor / 2.0, param.zoomFactor / 2.0, cv::INTER_CUBIC); + else if (param.zoomFactor < 2.0) + cv::resize(tmpImg, tmpImg, cv::Size(0, 0), param.zoomFactor / 2.0, param.zoomFactor / 2.0, cv::INTER_AREA); + + cv::Mat outMat; + detail::runKernel(tmpImg, outMat, 1, ACNetTypeIndex); + dstImg = outMat; + } +} + +Anime4KCPP::Processor::Type Anime4KCPP::Hip::ACNet::getProcessorType() const noexcept +{ + return Processor::Type::Hip_ACNet; +} + +std::string Anime4KCPP::Hip::ACNet::getProcessorInfo() const +{ + std::ostringstream oss; + oss << "Processor type: " << getProcessorType() << '\n' + << "Current HIP devices:" << '\n' + << cuGetDeviceInfo(cuGetDeviceID()); + return oss.str(); +} + +#endif diff --git a/core/src/HipAnime4K09.cpp b/core/src/HipAnime4K09.cpp new file mode 100644 index 0000000..2d1b833 --- /dev/null +++ b/core/src/HipAnime4K09.cpp @@ -0,0 +1,174 @@ +#ifdef ENABLE_HIP + +#include "HipInterface.hpp" +#include "FilterProcessor.hpp" +#include "HipAnime4K09.hpp" + +namespace Anime4KCPP::Hip::detail +{ + static void runKernel(const cv::Mat& orgImg, cv::Mat& dstImg, const Parameters& param, hipStream_t& stream) + { + ACHipParamAnime4K09 cuParam{ + orgImg.cols, orgImg.rows, + dstImg.cols, dstImg.rows, + orgImg.step, + param.passes, param.pushColorCount, + static_cast(param.strengthColor),static_cast(param.strengthGradient) + }; + + ACHipDataType dataType; + + switch (orgImg.depth()) + { + case CV_8U: + dataType = ACHipDataType::AC_8U; + break; + case CV_16U: + dataType = ACHipDataType::AC_16U; + break; + case CV_32F: + dataType = ACHipDataType::AC_32F; + break; + default: + throw ACException("Unsupported image data type"); + } + + cuRunKernelAnime4K09(orgImg.data, dstImg.data, dataType, &cuParam, stream); + } +} + +namespace Anime4KCPP::Hip +{ + Anime4K09 :: Anime4K09 (const Parameters& parameters) : Anime4KCPP::AC(parameters) + { + hipStreamCreate(&stream); + } + + Anime4K09 :: ~Anime4K09() + { + hipStreamDestroy(stream); + } +} + +std::string Anime4KCPP::Hip::Anime4K09::getInfo() const +{ + std::ostringstream oss; + oss << AC::getInfo() + << "----------------------------------------------" << '\n' + << "HIP Device ID:" << cuGetDeviceID() << '\n' + << "Passes: " << param.passes << '\n' + << "pushColorCount: " << param.pushColorCount << '\n' + << "Zoom Factor: " << param.zoomFactor << '\n' + << "Fast Mode: " << std::boolalpha << param.fastMode << '\n' + << "Strength Color: " << param.strengthColor << '\n' + << "Strength Gradient: " << param.strengthGradient << '\n' + << "----------------------------------------------" << '\n'; + return oss.str(); +} + +std::string Anime4KCPP::Hip::Anime4K09::getFiltersInfo() const +{ + std::ostringstream oss; + + oss << AC::getFiltersInfo() + << "----------------------------------------------" << '\n' + << "Preprocessing filters list:" << '\n' + << "----------------------------------------------" << '\n'; + if (!param.preprocessing) + oss << "Preprocessing disabled" << '\n'; + else + { + std::vectorpreFiltersString = FilterProcessor::filterToString(param.preFilters); + if (preFiltersString.empty()) + oss << "Preprocessing disabled" << '\n'; + else + for (auto& filters : preFiltersString) + oss << filters << '\n'; + } + + oss << "----------------------------------------------" << '\n' + << "Postprocessing filters list:" << '\n' + << "----------------------------------------------" << '\n'; + if (!param.postprocessing) + oss << "Postprocessing disabled" << '\n'; + else + { + std::vectorpostFiltersString = FilterProcessor::filterToString(param.postFilters); + if (postFiltersString.empty()) + oss << "Postprocessing disabled" << '\n'; + else + for (auto& filters : postFiltersString) + oss << filters << '\n'; + } + + return oss.str(); +} + +void Anime4KCPP::Hip::Anime4K09::processYUVImage() +{ + cv::Mat tmpImg; + cv::merge(std::vector{ orgImg, orgU, orgV }, tmpImg); + cv::cvtColor(tmpImg, tmpImg, cv::COLOR_YUV2BGR); + + dstImg.create(height, width, CV_MAKE_TYPE(tmpImg.depth(), 4)); + if (param.preprocessing)//Pretprocessing(CPU) + FilterProcessor(tmpImg, param.preFilters).process(); + cv::cvtColor(tmpImg, tmpImg, cv::COLOR_BGR2BGRA); + detail::runKernel(tmpImg, dstImg, param, stream); + cv::cvtColor(dstImg, dstImg, cv::COLOR_BGRA2BGR); + if (param.postprocessing)//Postprocessing(CPU) + FilterProcessor(dstImg, param.postFilters).process(); + + cv::cvtColor(dstImg, dstImg, cv::COLOR_BGR2YUV); + cv::Mat yuv[3]; + cv::split(dstImg, yuv); + dstImg = yuv[Y]; + dstU = yuv[U]; + dstV = yuv[V]; +} + +void Anime4KCPP::Hip::Anime4K09::processRGBImage() +{ + cv::Mat tmpImg = orgImg; + dstImg.create(height, width, CV_MAKE_TYPE(tmpImg.depth(), 4)); + if (param.preprocessing)//Pretprocessing(CPU) + FilterProcessor(tmpImg, param.preFilters).process(); + cv::cvtColor(tmpImg, tmpImg, cv::COLOR_BGR2BGRA); + detail::runKernel(tmpImg, dstImg, param, stream); + cv::cvtColor(dstImg, dstImg, cv::COLOR_BGRA2BGR); + if (param.postprocessing)//Postprocessing(CPU) + FilterProcessor(dstImg, param.postFilters).process(); +} + +void Anime4KCPP::Hip::Anime4K09::processGrayscale() +{ + cv::Mat tmpImg; + cv::cvtColor(orgImg, tmpImg, cv::COLOR_GRAY2BGR); + + dstImg.create(height, width, CV_MAKE_TYPE(tmpImg.depth(), 4)); + if (param.preprocessing)//Pretprocessing(CPU) + FilterProcessor(tmpImg, param.preFilters).process(); + cv::cvtColor(tmpImg, tmpImg, cv::COLOR_BGR2BGRA); + detail::runKernel(tmpImg, dstImg, param, stream); + cv::cvtColor(dstImg, dstImg, cv::COLOR_BGRA2BGR); + if (param.postprocessing)//Postprocessing(CPU) + FilterProcessor(dstImg, param.postFilters).process(); + + cv::cvtColor(dstImg, dstImg, cv::COLOR_BGR2GRAY); +} + +Anime4KCPP::Processor::Type Anime4KCPP::Hip::Anime4K09::getProcessorType() const noexcept +{ + return Processor::Type::Hip_Anime4K09; +} + +std::string Anime4KCPP::Hip::Anime4K09::getProcessorInfo() const +{ + std::ostringstream oss; + oss << "Processor type: " << getProcessorType() << '\n' + << "Current HIP devices:" << '\n' + << cuGetDeviceInfo(cuGetDeviceID()); + return oss.str(); +} + +#endif diff --git a/core/src/VideoProcessor.cpp b/core/src/VideoProcessor.cpp index 71b88c3..88f3d8b 100644 --- a/core/src/VideoProcessor.cpp +++ b/core/src/VideoProcessor.cpp @@ -1,6 +1,16 @@ #ifdef ENABLE_VIDEO #include +#include +#include +#include +#include +// #ifndef DISABLE_PARALLEL +// #include "oneapi/tbb/global_control.h" +// #include "oneapi/tbb/parallel_pipeline.h" +// #include "oneapi/tbb/tbb_allocator.h" +// #include "oneapi/tbb/tick_count.h" +// #endif #include "ACCreator.hpp" #include "VideoProcessor.hpp" @@ -53,33 +63,92 @@ void Anime4KCPP::VideoProcessor::process() std::once_flag eptrFlag; std::exception_ptr eptr; - videoIO->init( - [&]() - { - Video::Frame frame; - videoIO->read(frame); - - try - { // Reduce memory usage - auto ac = ACCreator::createUP(param, type); - ac->loadImage(frame.first); - ac->process(); - ac->saveImage(frame.first); - } - catch (...) - { - std::call_once(eptrFlag, - [&]() - { - videoIO->stopProcess(); - eptr = std::current_exception(); - }); - return; - } - - videoIO->write(frame); - } - , threads).process(); + std::queue creators; + for (int i = 0; i < threads; i++) + { + creators.push(ACCreator::create(param, type)); + } + + std::mutex m; + videoIO->init( + [&]() + { + Video::Frame frame; + videoIO->read(frame); + + try + { // Reduce memory usage + m.lock(); + auto ac = creators.front(); creators.pop(); + m.unlock(); + ac->loadImage(frame.first); + ac->process(); + ac->saveImage(frame.first); + + m.lock(); + creators.push(ac); + m.unlock(); + } + catch (...) + { + std::call_once(eptrFlag, + [&]() + { + videoIO->stopProcess(); + eptr = std::current_exception(); + }); + return; + } + + videoIO->write(frame); + } + , threads).process(); + + // std::vector frames(threads); + // int startedFrame = 0, finishedFrame = 0; + // auto inputFilter = oneapi::tbb::make_filter( + // oneapi::tbb::filter_mode::serial_in_order, + // [&](oneapi::tbb::flow_control& fc) -> AC* { + // if (startedFrame < totalFrameCount) + // { + // assert(!creators.empty()); + // AC* ac = creators.front(); creators.pop(); + // auto& frame = frames.at(startedFrame % threads); + // videoIO->read(frame); + // std::cerr << "Frame " << startedFrame << " started" << std::endl; + // ac->loadImage(frame.first); + // std::cerr << "Frame " << startedFrame << " started" << std::endl; + // startedFrame++; + // // frames.at(startedFrame % threads) = std::move(frame); + // return ac; + // } + // else + // { + // fc.stop(); + // return nullptr; + // } + // } + // ); + // auto processFilter = oneapi::tbb::make_filter( + // oneapi::tbb::filter_mode::parallel, + // [&](AC* ac) -> AC* { + // std::cerr << "Processing..." << std::endl; + // ac->process(); + // return ac; + // } + // ); + // auto outputFilter = oneapi::tbb::make_filter( + // oneapi::tbb::filter_mode::serial_in_order, + // [&](AC* ac) { + // auto& frame = frames.at(finishedFrame % threads); + // ac->saveImage(frame.first); + // videoIO->write(frame); + // std::cerr << "Frame " << finishedFrame << " finished" << std::endl; + // finishedFrame++; + // } + // ); + + // oneapi::tbb::parallel_pipeline(threads, inputFilter & processFilter & outputFilter); if (eptr) std::rethrow_exception(eptr); diff --git a/hip/CMakeLists.txt b/hip/CMakeLists.txt new file mode 100644 index 0000000..9e0dd22 --- /dev/null +++ b/hip/CMakeLists.txt @@ -0,0 +1,35 @@ +if(Enable_HIP) + project(HIP_Module LANGUAGES CXX HIP) + + file(GLOB SOURCES src/*.hip) + file(GLOB INCLUDE include/*.hip) + + source_group("hip_include" FILES ${INCLUDE}) + source_group("hip_source" FILES ${SOURCE}) + + message(STATUS "CMAKE_HIP_COMPILER: ${CMAKE_HIP_COMPILER}") + message(STATUS "CMAKE_HIP_COMPILER_ID: ${CMAKE_HIP_COMPILER_ID}") + message(STATUS "CMAKE_HIP_COMPILER_VERSION: ${CMAKE_HIP_COMPILER_VERSION}") + message(STATUS "HIP SOURCES: ${SOURCES}") + message(STATUS "HIP INCLUDE: ${INCLUDE}") + + add_library(${PROJECT_NAME} OBJECT ${SOURCES}) + + target_include_directories(${PROJECT_NAME} PRIVATE ${TOP_DIR}/core/include include) + + target_compile_definitions(${PROJECT_NAME} PRIVATE ENABLE_HIP) + + target_compile_options(${PROJECT_NAME} PRIVATE -fgpu-default-stream=per-thread) + + set_target_properties( + ${PROJECT_NAME} PROPERTIES + HIP_STANDARD 17 + ) + + if((NOT Build_Static_Core) OR (Build_Static_Core AND Build_Static_Core_PIC)) + set_target_properties( + ${PROJECT_NAME} PROPERTIES + POSITION_INDEPENDENT_CODE True + ) + endif() +endif() diff --git a/hip/include/ACNetCommon.hip b/hip/include/ACNetCommon.hip new file mode 100644 index 0000000..5be459c --- /dev/null +++ b/hip/include/ACNetCommon.hip @@ -0,0 +1,316 @@ +#include "hip/hip_runtime.h" +#ifndef ANIME4KCPP_HIP_ACNET_COMMON_HIP +#define ANIME4KCPP_HIP_ACNET_COMMON_HIP + +#define RELU(x) fmaxf(x, 0.0f) + +#define CHANNEL1TO8(n) \ + tl *kernelsL1[n * 9 + 0] + tc *kernelsL1[n * 9 + 1] + tr *kernelsL1[n * 9 + 2] + \ + ml *kernelsL1[n * 9 + 3] + mc *kernelsL1[n * 9 + 4] + mr *kernelsL1[n * 9 + 5] + \ + bl *kernelsL1[n * 9 + 6] + bc *kernelsL1[n * 9 + 7] + br *kernelsL1[n * 9 + 8] + biasL1[n] + +#define CHANNEL8TO8(n) \ + tl1.x *kernelsL[L][n * 72 + 0 * 9 + 0] + tc1.x *kernelsL[L][n * 72 + 0 * 9 + 1] + tr1.x *kernelsL[L][n * 72 + 0 * 9 + 2] + \ + ml1.x *kernelsL[L][n * 72 + 0 * 9 + 3] + mc1.x *kernelsL[L][n * 72 + 0 * 9 + 4] + mr1.x *kernelsL[L][n * 72 + 0 * 9 + 5] + \ + bl1.x *kernelsL[L][n * 72 + 0 * 9 + 6] + bc1.x *kernelsL[L][n * 72 + 0 * 9 + 7] + br1.x *kernelsL[L][n * 72 + 0 * 9 + 8] + \ + tl1.y *kernelsL[L][n * 72 + 1 * 9 + 0] + tc1.y *kernelsL[L][n * 72 + 1 * 9 + 1] + tr1.y *kernelsL[L][n * 72 + 1 * 9 + 2] + \ + ml1.y *kernelsL[L][n * 72 + 1 * 9 + 3] + mc1.y *kernelsL[L][n * 72 + 1 * 9 + 4] + mr1.y *kernelsL[L][n * 72 + 1 * 9 + 5] + \ + bl1.y *kernelsL[L][n * 72 + 1 * 9 + 6] + bc1.y *kernelsL[L][n * 72 + 1 * 9 + 7] + br1.y *kernelsL[L][n * 72 + 1 * 9 + 8] + \ + tl1.z *kernelsL[L][n * 72 + 2 * 9 + 0] + tc1.z *kernelsL[L][n * 72 + 2 * 9 + 1] + tr1.z *kernelsL[L][n * 72 + 2 * 9 + 2] + \ + ml1.z *kernelsL[L][n * 72 + 2 * 9 + 3] + mc1.z *kernelsL[L][n * 72 + 2 * 9 + 4] + mr1.z *kernelsL[L][n * 72 + 2 * 9 + 5] + \ + bl1.z *kernelsL[L][n * 72 + 2 * 9 + 6] + bc1.z *kernelsL[L][n * 72 + 2 * 9 + 7] + br1.z *kernelsL[L][n * 72 + 2 * 9 + 8] + \ + tl1.w *kernelsL[L][n * 72 + 3 * 9 + 0] + tc1.w *kernelsL[L][n * 72 + 3 * 9 + 1] + tr1.w *kernelsL[L][n * 72 + 3 * 9 + 2] + \ + ml1.w *kernelsL[L][n * 72 + 3 * 9 + 3] + mc1.w *kernelsL[L][n * 72 + 3 * 9 + 4] + mr1.w *kernelsL[L][n * 72 + 3 * 9 + 5] + \ + bl1.w *kernelsL[L][n * 72 + 3 * 9 + 6] + bc1.w *kernelsL[L][n * 72 + 3 * 9 + 7] + br1.w *kernelsL[L][n * 72 + 3 * 9 + 8] + \ + tl2.x *kernelsL[L][n * 72 + 4 * 9 + 0] + tc2.x *kernelsL[L][n * 72 + 4 * 9 + 1] + tr2.x *kernelsL[L][n * 72 + 4 * 9 + 2] + \ + ml2.x *kernelsL[L][n * 72 + 4 * 9 + 3] + mc2.x *kernelsL[L][n * 72 + 4 * 9 + 4] + mr2.x *kernelsL[L][n * 72 + 4 * 9 + 5] + \ + bl2.x *kernelsL[L][n * 72 + 4 * 9 + 6] + bc2.x *kernelsL[L][n * 72 + 4 * 9 + 7] + br2.x *kernelsL[L][n * 72 + 4 * 9 + 8] + \ + tl2.y *kernelsL[L][n * 72 + 5 * 9 + 0] + tc2.y *kernelsL[L][n * 72 + 5 * 9 + 1] + tr2.y *kernelsL[L][n * 72 + 5 * 9 + 2] + \ + ml2.y *kernelsL[L][n * 72 + 5 * 9 + 3] + mc2.y *kernelsL[L][n * 72 + 5 * 9 + 4] + mr2.y *kernelsL[L][n * 72 + 5 * 9 + 5] + \ + bl2.y *kernelsL[L][n * 72 + 5 * 9 + 6] + bc2.y *kernelsL[L][n * 72 + 5 * 9 + 7] + br2.y *kernelsL[L][n * 72 + 5 * 9 + 8] + \ + tl2.z *kernelsL[L][n * 72 + 6 * 9 + 0] + tc2.z *kernelsL[L][n * 72 + 6 * 9 + 1] + tr2.z *kernelsL[L][n * 72 + 6 * 9 + 2] + \ + ml2.z *kernelsL[L][n * 72 + 6 * 9 + 3] + mc2.z *kernelsL[L][n * 72 + 6 * 9 + 4] + mr2.z *kernelsL[L][n * 72 + 6 * 9 + 5] + \ + bl2.z *kernelsL[L][n * 72 + 6 * 9 + 6] + bc2.z *kernelsL[L][n * 72 + 6 * 9 + 7] + br2.z *kernelsL[L][n * 72 + 6 * 9 + 8] + \ + tl2.w *kernelsL[L][n * 72 + 7 * 9 + 0] + tc2.w *kernelsL[L][n * 72 + 7 * 9 + 1] + tr2.w *kernelsL[L][n * 72 + 7 * 9 + 2] + \ + ml2.w *kernelsL[L][n * 72 + 7 * 9 + 3] + mc2.w *kernelsL[L][n * 72 + 7 * 9 + 4] + mr2.w *kernelsL[L][n * 72 + 7 * 9 + 5] + \ + bl2.w *kernelsL[L][n * 72 + 7 * 9 + 6] + bc2.w *kernelsL[L][n * 72 + 7 * 9 + 7] + br2.w *kernelsL[L][n * 72 + 7 * 9 + 8] + biasL[L][n] + +#define DECLARE_ACNET_HDN_INTERFACE_FUNCTION(level) \ + void Anime4KCPP::Hip::cuRunKernelACNetHDN##level(const void *inputData, void *outputData, ACHipDataType type, ACHipParamACNet *param) \ + { \ + switch (type) \ + { \ + case ACHipDataType::AC_8U: \ + cuRunKernelACNetImpl(reinterpret_cast(inputData), reinterpret_cast(outputData), param); \ + break; \ + case ACHipDataType::AC_16U: \ + cuRunKernelACNetImpl(reinterpret_cast(inputData), reinterpret_cast(outputData), param); \ + break; \ + case ACHipDataType::AC_32F: \ + cuRunKernelACNetImpl(reinterpret_cast(inputData), reinterpret_cast(outputData), param); \ + break; \ + } \ + } + +static constexpr int L2 = 0, L3 = 1, L4 = 2, L5 = 3, L6 = 4, L7 = 5, L8 = 6, L9 = 7; + +__global__ static void conv1To8( + hipTextureObject_t srcImg, hipSurfaceObject_t dstImg, + unsigned int W, unsigned int H) +{ + const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; + const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) + return; + + const float tl = tex2D(srcImg, x - 1, y - 1); + const float tc = tex2D(srcImg, x, y - 1); + const float tr = tex2D(srcImg, x + 1, y - 1); + const float ml = tex2D(srcImg, x - 1, y); + const float mc = tex2D(srcImg, x, y); + const float mr = tex2D(srcImg, x + 1, y); + const float bl = tex2D(srcImg, x - 1, y + 1); + const float bc = tex2D(srcImg, x, y + 1); + const float br = tex2D(srcImg, x + 1, y + 1); + + const float4 fc1234 = make_float4( + RELU(CHANNEL1TO8(0)), + RELU(CHANNEL1TO8(1)), + RELU(CHANNEL1TO8(2)), + RELU(CHANNEL1TO8(3))); + const float4 fc5678 = make_float4( + RELU(CHANNEL1TO8(4)), + RELU(CHANNEL1TO8(5)), + RELU(CHANNEL1TO8(6)), + RELU(CHANNEL1TO8(7))); + + half c1234[4] = {__float2half(fc1234.x), __float2half(fc1234.y), __float2half(fc1234.z), __float2half(fc1234.w)}; + half c5678[4] = {__float2half(fc5678.x), __float2half(fc5678.y), __float2half(fc5678.z), __float2half(fc5678.w)}; + + surf2DLayeredwrite(*reinterpret_cast(c1234), dstImg, sizeof(c1234) * x, y, 0); + surf2DLayeredwrite(*reinterpret_cast(c5678), dstImg, sizeof(c5678) * x, y, 1); +} + +__global__ static void conv8To8( + hipTextureObject_t srcImg, hipSurfaceObject_t dstImg, + unsigned int W, unsigned int H, int L) +{ + const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; + const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) + return; + + const float4 tl1 = tex2DLayered(srcImg, x - 1, y - 1, 0); + const float4 tc1 = tex2DLayered(srcImg, x, y - 1, 0); + const float4 tr1 = tex2DLayered(srcImg, x + 1, y - 1, 0); + const float4 ml1 = tex2DLayered(srcImg, x - 1, y, 0); + const float4 mc1 = tex2DLayered(srcImg, x, y, 0); + const float4 mr1 = tex2DLayered(srcImg, x + 1, y, 0); + const float4 bl1 = tex2DLayered(srcImg, x - 1, y + 1, 0); + const float4 bc1 = tex2DLayered(srcImg, x, y + 1, 0); + const float4 br1 = tex2DLayered(srcImg, x + 1, y + 1, 0); + + const float4 tl2 = tex2DLayered(srcImg, x - 1, y - 1, 1); + const float4 tc2 = tex2DLayered(srcImg, x, y - 1, 1); + const float4 tr2 = tex2DLayered(srcImg, x + 1, y - 1, 1); + const float4 ml2 = tex2DLayered(srcImg, x - 1, y, 1); + const float4 mc2 = tex2DLayered(srcImg, x, y, 1); + const float4 mr2 = tex2DLayered(srcImg, x + 1, y, 1); + const float4 bl2 = tex2DLayered(srcImg, x - 1, y + 1, 1); + const float4 bc2 = tex2DLayered(srcImg, x, y + 1, 1); + const float4 br2 = tex2DLayered(srcImg, x + 1, y + 1, 1); + + const float4 fc1234 = make_float4( + RELU(CHANNEL8TO8(0)), + RELU(CHANNEL8TO8(1)), + RELU(CHANNEL8TO8(2)), + RELU(CHANNEL8TO8(3))); + const float4 fc5678 = make_float4( + RELU(CHANNEL8TO8(4)), + RELU(CHANNEL8TO8(5)), + RELU(CHANNEL8TO8(6)), + RELU(CHANNEL8TO8(7))); + + half c1234[4] = {__float2half(fc1234.x), __float2half(fc1234.y), __float2half(fc1234.z), __float2half(fc1234.w)}; + half c5678[4] = {__float2half(fc5678.x), __float2half(fc5678.y), __float2half(fc5678.z), __float2half(fc5678.w)}; + + surf2DLayeredwrite(*reinterpret_cast(c1234), dstImg, sizeof(c1234) * x, y, 0); + surf2DLayeredwrite(*reinterpret_cast(c5678), dstImg, sizeof(c5678) * x, y, 1); +} + +template +__global__ static void convTranspose8To1( + hipTextureObject_t srcImg, hipSurfaceObject_t dstImg, + unsigned int W, unsigned int H) +{ + const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; + const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) + return; + + const int index = (y & 1) * 2 + (x & 1); + + const unsigned int srcX = x / 2, srcY = y / 2; + + const float4 mc1 = tex2DLayered(srcImg, srcX, srcY, 0); + const float4 mc2 = tex2DLayered(srcImg, srcX, srcY, 1); + + constexpr float scale = PixelValue::max(); + constexpr float offset = std::is_floating_point::value ? 0.0f : 0.5f; + + const T c = clamp( + mc1.x * kernelsL10[0 + index] + + mc1.y * kernelsL10[4 + index] + + mc1.z * kernelsL10[8 + index] + + mc1.w * kernelsL10[12 + index] + + mc2.x * kernelsL10[16 + index] + + mc2.y * kernelsL10[20 + index] + + mc2.z * kernelsL10[24 + index] + + mc2.w * kernelsL10[28 + index], 0.0f, 1.0f) * scale + offset; + + surf2Dwrite(c, dstImg, sizeof(c) * x, y); +} + +template +static void cuRunKernelACNetImpl(const T *inputData, T *outputData, Anime4KCPP::Hip::ACHipParamACNet *param) +{ + hipError_t err = hipSuccess; + if (currHipDeviceID) + { + err = hipSetDevice(currHipDeviceID); + CheckHipErr(err); + } + + // hipStream_t stream; + // hipStreamCreate(&stream); + + hipChannelFormatDesc inoutChannelDesc = hipCreateChannelDesc(); + hipChannelFormatDesc tmpChannelDesc = hipCreateChannelDesc(); + hipExtent extent = make_hipExtent(param->orgW, param->orgH, 2); + + const int W = 2 * param->orgW, H = 2 * param->orgH; + + hipArray_t cuInputArray; + err = hipMallocArray(&cuInputArray, &inoutChannelDesc, + param->orgW, param->orgH); + CheckHipErr(err); + + hipArray_t cuArray1; + err = hipMalloc3DArray(&cuArray1, &tmpChannelDesc, extent, + /* hipArraySurfaceLoadStore | */ hipArrayLayered); + CheckHipErr(err); + + hipArray_t cuArray2; + err = hipMalloc3DArray(&cuArray2, &tmpChannelDesc, extent, + /* hipArraySurfaceLoadStore | */ hipArrayLayered); + CheckHipErr(err); + + hipArray_t cuOutputArray; + err = hipMallocArray(&cuOutputArray, &inoutChannelDesc, + W, H, hipArrayDefault /* hipArraySurfaceLoadStore */); + CheckHipErr(err); + + struct hipResourceDesc resDesc; + struct hipTextureDesc texDesc; + memset(&resDesc, 0, sizeof(resDesc)); + memset(&texDesc, 0, sizeof(texDesc)); + + texDesc.addressMode[0] = hipAddressModeBorder; + texDesc.addressMode[1] = hipAddressModeBorder; + texDesc.addressMode[2] = hipAddressModeBorder; + texDesc.readMode = std::is_floating_point::value ? hipReadModeElementType : hipReadModeNormalizedFloat; + texDesc.normalizedCoords = 0; + + resDesc.resType = hipResourceTypeArray; + + resDesc.res.array.array = cuInputArray; + hipTextureObject_t inTex = 0; + err = hipCreateTextureObject(&inTex, &resDesc, &texDesc, NULL); + CheckHipErr(err); + + if(!std::is_floating_point::value) + texDesc.readMode = hipReadModeElementType; + + resDesc.res.array.array = cuArray1; + hipSurfaceObject_t surf1 = 0; + err = hipCreateSurfaceObject(&surf1, &resDesc); + CheckHipErr(err); + + hipTextureObject_t tex1 = 0; + err = hipCreateTextureObject(&tex1, &resDesc, &texDesc, NULL); + CheckHipErr(err); + + resDesc.res.array.array = cuArray2; + hipSurfaceObject_t surf2 = 0; + err = hipCreateSurfaceObject(&surf2, &resDesc); + CheckHipErr(err); + + hipTextureObject_t tex2 = 0; + err = hipCreateTextureObject(&tex2, &resDesc, &texDesc, NULL); + CheckHipErr(err); + + resDesc.res.array.array = cuOutputArray; + hipSurfaceObject_t outSurf = 0; + err = hipCreateSurfaceObject(&outSurf, &resDesc); + CheckHipErr(err); + + err = hipMemcpy2DToArray(cuInputArray, 0, 0, inputData, + param->stride, sizeof(T) * param->orgW, param->orgH, + hipMemcpyHostToDevice); + CheckHipErr(err); + + dim3 dimBlock(16, 16); + dim3 dimGrid( + (param->orgW + dimBlock.x - 1) / dimBlock.x, + (param->orgH + dimBlock.y - 1) / dimBlock.y); + dim3 dimGridout( + (param->orgW * 2 + dimBlock.x - 1) / dimBlock.x, + (param->orgH * 2 + dimBlock.y - 1) / dimBlock.y); + + conv1To8<<>>(inTex, surf1, param->orgW, param->orgH); + conv8To8<<>>(tex1, surf2, param->orgW, param->orgH, L2); + conv8To8<<>>(tex2, surf1, param->orgW, param->orgH, L3); + conv8To8<<>>(tex1, surf2, param->orgW, param->orgH, L4); + conv8To8<<>>(tex2, surf1, param->orgW, param->orgH, L5); + conv8To8<<>>(tex1, surf2, param->orgW, param->orgH, L6); + conv8To8<<>>(tex2, surf1, param->orgW, param->orgH, L7); + conv8To8<<>>(tex1, surf2, param->orgW, param->orgH, L8); + conv8To8<<>>(tex2, surf1, param->orgW, param->orgH, L9); + convTranspose8To1<<>>(tex1, outSurf, W, H); + + err = hipHostRegister(outputData, sizeof(T) * W * H, hipHostRegisterDefault); + CheckHipErr(err); + + err = hipMemcpy2DFromArray(outputData, sizeof(T) * W, + cuOutputArray, 0, 0, sizeof(T) * W, H, + hipMemcpyDeviceToHost); + CheckHipErr(err); + + // err = hipStreamSynchronize(stream); + // CheckHipErr(err); + + err = hipHostUnregister(outputData); + CheckHipErr(err); + + err = hipGetLastError(); + CheckHipErr(err); + + hipDestroyTextureObject(inTex); + hipDestroySurfaceObject(surf1); + hipDestroyTextureObject(tex1); + hipDestroySurfaceObject(surf2); + hipDestroyTextureObject(tex2); + hipDestroySurfaceObject(outSurf); + + hipFreeArray(cuInputArray); + hipFreeArray(cuArray1); + hipFreeArray(cuArray2); + hipFreeArray(cuOutputArray); + + // hipStreamDestroy(stream); +} + +#endif // !ANIME4KCPP_HIP_ACNET_COMMON_HIP diff --git a/hip/include/HipHelper.hip b/hip/include/HipHelper.hip new file mode 100644 index 0000000..10efa08 --- /dev/null +++ b/hip/include/HipHelper.hip @@ -0,0 +1,139 @@ +#ifndef ANIME4KCPP_HIP_HIP_HELPER_HIP +#define ANIME4KCPP_HIP_HIP_HELPER_HIP + +#include +#include + +#include +#include +#include +#include + +#include "ACException.hpp" + +#define CheckHipErr(err) \ + if (err != hipSuccess) \ + throw Anime4KCPP::ACException(hipGetErrorString(err), std::string(__FILE__) + ": line " + std::to_string(__LINE__), err) + +using uchar = std::uint8_t; +using ushort = std::uint16_t; + +extern int currHipDeviceID; + +template +struct PixelValue; + +template <> +struct PixelValue +{ + __device__ static constexpr uchar max() + { + return 255; + } + + __device__ static constexpr uchar min() + { + return 0; + } +}; + +template <> +struct PixelValue +{ + __device__ static constexpr ushort max() + { + return 65535; + } + + __device__ static constexpr ushort min() + { + return 0; + } +}; + +template <> +struct PixelValue +{ + __device__ static constexpr float max() + { + return 1.0f; + } + + __device__ static constexpr float min() + { + return 0.0f; + } +}; + +template +struct Vec; + +template <> +struct Vec +{ + using type = uchar2; +}; + +template <> +struct Vec +{ + using type = uchar4; +}; + +template <> +struct Vec +{ + using type = ushort2; +}; + +template <> +struct Vec +{ + using type = ushort4; +}; + +template <> +struct Vec +{ + using type = float2; +}; + +template <> +struct Vec +{ + using type = float4; +}; + +template +using Vec2 = Vec; + +template +using Vec4 = Vec; + +template +inline __device__ typename Vec4::type makeVec4(T x, T y, T z, T w); + +template <> +inline __device__ typename Vec4::type makeVec4(uchar x, uchar y, uchar z, uchar w) +{ + return make_uchar4(x, y, z, w); +} + +template <> +inline __device__ typename Vec4::type makeVec4(ushort x, ushort y, ushort z, ushort w) +{ + return make_ushort4(x, y, z, w); +} + +template <> +inline __device__ typename Vec4::type makeVec4(float x, float y, float z, float w) +{ + return make_float4(x, y, z, w); +} + +inline __device__ float clamp(float f, float a, float b) +{ + return fmaxf(a, fminf(f, b)); +} + +#endif // !ANIME4KCPP_HIP_HIP_HELPER_HIP diff --git a/hip/src/ACNetHDNL0.hip b/hip/src/ACNetHDNL0.hip new file mode 100644 index 0000000..d2ad491 --- /dev/null +++ b/hip/src/ACNetHDNL0.hip @@ -0,0 +1,1654 @@ +#include "HipHelper.hip" +#include "HipInterface.hpp" +#include + +__device__ __constant__ static const float kernelsL1[9 * 8] = +{ + 0.0609f, 0.1027f, -0.0447f, +-0.1423f, 0.7196f, 0.1803f, + 0.0842f, 0.0696f, 0.0082f, + 0.0089f, 0.1540f, -0.8589f, + 0.0448f, 0.8659f, -0.2420f, +-0.0364f, 0.0585f, 0.0125f, +-0.1937f, 0.7259f, 0.0119f, +-0.8266f, 0.4147f, 0.0088f, +-0.0453f, -0.0451f, -0.0182f, + 0.0264f, -0.9422f, 0.1258f, +-0.0543f, 0.1282f, 0.7102f, +-0.0106f, 0.0386f, -0.0141f, + 0.2054f, -0.0393f, 0.1494f, + 0.3106f, 0.5722f, 0.2640f, + 0.1708f, -0.1640f, -0.0212f, + 0.0558f, -0.2887f, -0.1666f, + 0.3123f, -0.3097f, -0.2281f, + 0.2880f, 0.3001f, 0.0526f, +-0.0320f, 0.0584f, -0.0193f, +-0.0135f, 1.0649f, -0.1246f, + 0.0283f, -0.3030f, -0.6378f, +-0.0040f, -0.9122f, 0.0181f, + 0.0365f, 0.8947f, -0.0420f, +-0.0199f, 0.0217f, 0.0060f +}; +__device__ __constant__ static const float biasL1[8] = +{ +-0.7577f, -0.0210f, 0.0292f, -0.0189f, 0.0223f, 0.0340f, 0.0150f, -0.0044f +}; +__device__ __constant__ static const float kernelsL[8][9 * 8 * 8] = +{ +{ + 2.0611e-01f, 6.6865e-02f, -9.9123e-02f, + 8.5279e-02f, -4.5549e-02f, -2.9491e-02f, +-1.0358e-01f, -2.4844e-02f, -8.1539e-03f, +-1.1308e-01f, -6.4228e-02f, -8.8081e-02f, + 2.7810e-02f, -1.6054e-01f, -1.1985e-01f, +-2.8679e-01f, -1.7785e-02f, 1.1559e-01f, + 2.1614e-02f, -6.8870e-02f, -2.4707e-01f, + 9.6867e-02f, -1.6561e-01f, 2.8281e-02f, +-8.2469e-02f, -9.8554e-02f, -1.7147e-02f, + 3.3710e-01f, 9.2126e-02f, 3.6880e-02f, + 5.7004e-02f, 4.0175e-02f, 1.6116e-01f, + 2.5629e-01f, 5.1154e-01f, 2.4119e-02f, + 1.9495e-02f, 2.6940e-01f, -1.4050e-01f, + 5.0325e-02f, -4.5920e-02f, -1.3586e-01f, + 5.9458e-02f, 1.3860e-01f, -2.1065e-01f, +-1.0744e-01f, -1.5915e-01f, -1.1528e-02f, +-1.1470e-01f, 6.3455e-02f, -5.5558e-02f, +-6.9920e-02f, -3.0142e-02f, -4.9059e-02f, + 3.6421e-01f, 3.0252e-01f, -1.3562e-01f, + 1.5238e-01f, -1.9868e-01f, -3.2644e-02f, +-4.2849e-02f, 1.3677e-02f, 7.3854e-02f, + 7.6609e-02f, -1.0121e-01f, 3.6319e-02f, + 9.3536e-02f, 6.0386e-02f, 1.0086e-01f, +-2.6630e-01f, 2.5875e-02f, -1.9225e-01f, + 4.0687e-02f, 1.1005e-01f, 9.9578e-03f, + 1.6939e-01f, 5.0872e-01f, 8.9876e-02f, + 6.9561e-02f, 1.1910e-01f, -1.8091e-02f, +-3.5739e-02f, -7.5300e-02f, -1.6788e-02f, + 3.0316e-02f, 1.5942e-01f, -9.0878e-02f, +-6.3737e-02f, 2.6141e-02f, 8.8040e-03f, + 3.4954e-03f, -6.6707e-02f, 1.4551e-01f, + 7.6258e-02f, 1.4893e-01f, -1.5255e-01f, + 6.2442e-02f, 2.2166e-01f, 7.5327e-02f, + 5.4785e-02f, -1.4503e-02f, -1.5188e-03f, + 1.6748e-01f, -5.2731e-03f, -1.9900e-02f, + 4.4786e-02f, -1.0669e-01f, 1.3192e-01f, + 1.9961e-02f, -8.1015e-02f, -3.2264e-02f, + 1.0544e-01f, 1.8844e-01f, 7.4274e-03f, + 6.6729e-02f, -7.8318e-02f, 3.0775e-02f, +-8.6109e-03f, 7.4977e-02f, 9.4079e-02f, +-1.2726e-01f, -2.9664e-01f, 7.8153e-03f, +-4.8413e-02f, -1.8450e-01f, -7.1065e-02f, +-8.7609e-02f, -7.7192e-02f, 5.0919e-02f, +-1.4021e-01f, 3.5696e-01f, 1.2079e-02f, +-2.0318e-02f, -1.8827e-02f, 3.9084e-02f, +-2.8654e-02f, -6.4166e-02f, 5.4889e-02f, + 8.2689e-02f, 8.4463e-02f, 2.2339e-02f, + 1.0805e-01f, -1.2566e-01f, 1.7109e-01f, +-6.1338e-02f, -3.4043e-02f, 4.0473e-02f, + 6.3821e-02f, 1.7626e-01f, -5.8112e-02f, +-9.5002e-02f, 1.3327e-02f, 1.2242e-01f, + 4.9008e-02f, -4.3678e-02f, 2.2362e-02f, +-7.7903e-02f, -3.8252e-02f, -5.2271e-02f, +-1.8884e-02f, -1.2859e-01f, 4.1172e-02f, +-3.1181e-02f, 3.2348e-02f, -4.9081e-02f, +-6.7966e-02f, -2.4896e-02f, -6.5323e-02f, + 8.0742e-02f, 2.6093e-01f, -2.4638e-01f, +-8.0881e-02f, -2.9643e-02f, -7.9627e-02f, + 1.4020e-01f, 2.1575e-01f, 8.1244e-03f, + 2.1561e-01f, -2.9305e-01f, -2.5535e-02f, +-8.5538e-02f, -1.4456e-01f, -7.5664e-02f, +-3.9921e-02f, 4.0659e-02f, 1.7812e-01f, + 1.1580e-01f, 5.6628e-02f, 9.0008e-02f, +-2.2384e-02f, -1.9788e-02f, -4.0547e-02f, + 1.0070e-01f, 2.9581e-01f, 1.9936e-01f, +-1.1957e-01f, -8.6508e-02f, -8.2543e-04f, +-5.2879e-02f, 1.5486e-01f, 1.0829e-02f, + 1.4716e-01f, 3.4257e-01f, -3.2058e-03f, +-2.1687e-02f, 5.8641e-02f, -6.3806e-02f, +-3.2607e-02f, 7.3328e-02f, -6.4738e-03f, +-1.0031e-01f, -1.7698e-01f, -9.4201e-02f, +-3.3644e-02f, -3.5860e-01f, -9.3200e-02f, +-7.4142e-02f, 5.5001e-02f, 4.3741e-02f, +-2.2447e-03f, 1.1941e-01f, -1.6135e-02f, +-1.4764e-02f, -1.0194e-02f, 3.2540e-02f, +-1.0588e-01f, -2.3000e-01f, -1.1557e-02f, +-9.0254e-02f, 2.3352e-01f, -1.3622e-01f, +-1.9256e-03f, -5.3372e-02f, 1.0314e-01f, +-2.0100e-02f, 1.0700e-01f, 1.6108e-01f, + 2.8422e-02f, 2.7909e-01f, 3.8342e-01f, + 1.4025e-02f, 9.0965e-02f, 2.0218e-01f, + 3.3562e-03f, 7.6652e-02f, 4.5974e-02f, +-1.3617e-02f, -1.4014e-01f, -1.9253e-02f, + 1.1020e-01f, -1.9678e-01f, 6.7123e-02f, +-3.3294e-02f, -1.3006e-01f, -1.0111e-01f, + 5.5813e-02f, 2.1127e-01f, 2.0248e-02f, +-9.6386e-04f, -5.2497e-03f, 1.1134e-01f, + 2.8910e-02f, 1.2229e-01f, 1.8439e-01f, + 1.6413e-02f, 1.5870e-01f, -1.1616e-01f, +-1.6032e-03f, -6.8258e-03f, -2.1883e-02f, + 1.2052e-01f, -2.1982e-02f, -1.3088e-01f, + 2.8664e-02f, -5.0670e-02f, 2.2927e-01f, + 2.0461e-02f, 7.7250e-03f, -2.6630e-02f, +-9.0406e-02f, -1.4174e-01f, 9.8969e-02f, +-6.6573e-02f, -2.4425e-01f, -3.5126e-02f, + 9.3859e-02f, 1.9058e-01f, -1.6569e-01f, +-4.9163e-03f, 7.4149e-02f, 6.3345e-02f, +-1.7888e-02f, -9.1876e-02f, 1.3728e-01f, +-9.6098e-02f, -3.4814e-02f, -1.0862e-02f, + 4.8031e-03f, 2.5206e-01f, 8.0316e-02f, + 1.5102e-01f, 4.1236e-02f, 2.2339e-01f, + 2.8500e-01f, 1.5106e-01f, 9.6321e-04f, +-6.0741e-02f, 3.5759e-02f, -1.8829e-01f, +-1.1295e-03f, -6.2322e-02f, 8.4974e-01f, +-3.9817e-02f, -2.0666e-01f, 2.2961e-01f, + 3.6857e-02f, -2.0211e-02f, -9.3342e-02f, + 2.0827e-02f, 6.8874e-02f, -6.0287e-02f, +-6.9724e-02f, 1.4423e-01f, -7.6017e-02f, + 1.4718e-02f, 1.8990e-01f, 1.1789e-01f, +-1.5018e-01f, -2.3071e-01f, 1.7511e-01f, +-7.7605e-02f, 5.0621e-02f, -1.0381e-01f, + 8.6845e-02f, -1.2410e-01f, -4.4669e-01f, + 2.7930e-02f, -5.4713e-02f, -7.7923e-02f, + 8.6000e-02f, -2.6371e-02f, -8.6541e-02f, +-1.1521e-01f, 1.4389e-01f, 5.0507e-02f, +-1.6618e-02f, -2.5150e-01f, -4.9759e-02f, + 7.7166e-02f, 4.5033e-03f, -5.4649e-02f, + 2.8548e-03f, -2.8078e-03f, 8.1129e-02f, +-4.5973e-02f, 3.6740e-03f, 2.0746e-01f, +-9.8191e-02f, 1.2807e-01f, 8.1950e-03f, + 1.4240e-01f, 1.5104e-01f, 6.9624e-02f, + 2.2309e-01f, 2.5688e-01f, 9.4766e-02f, + 6.2560e-02f, 7.1347e-02f, 4.1432e-02f, +-3.1829e-02f, 1.5207e-01f, 2.0575e-02f, +-1.2506e-01f, 2.9274e-01f, 9.4712e-02f, +-2.0520e-01f, 4.9894e-04f, 5.6171e-02f, +-4.1567e-03f, 6.6753e-02f, -1.5767e-01f, + 6.3768e-02f, 8.3008e-02f, -3.5639e-01f, + 4.4660e-02f, 2.6996e-01f, -6.4014e-02f, + 8.5475e-02f, 1.7854e-02f, -6.4079e-02f, + 1.8760e-01f, 1.5285e-01f, -3.5614e-02f, + 1.0747e-02f, -3.1330e-01f, -4.8664e-02f, + 7.2150e-02f, 1.7570e-01f, 1.6716e-01f, + 6.2431e-02f, 2.3755e-01f, 2.8554e-01f, + 3.5791e-02f, 2.8185e-01f, 1.5810e-01f, +-4.0886e-02f, 1.8833e-02f, -8.2903e-03f, + 1.3994e-02f, -1.0846e-01f, 3.5315e-02f, +-6.2674e-02f, 6.2806e-02f, 2.2168e-02f, +-3.6236e-01f, -2.5326e-01f, 5.6331e-02f, + 9.8762e-02f, 3.8049e-01f, 5.9885e-02f, +-3.0541e-02f, 7.9855e-02f, -5.8639e-02f, + 1.1104e-03f, 1.7147e-02f, 3.3115e-02f, +-3.3663e-02f, 7.4615e-02f, 6.4211e-02f, +-7.3441e-02f, -1.5568e-01f, 7.6546e-02f, + 6.1802e-02f, -1.5300e-01f, -1.8209e-02f, +-9.2786e-03f, 1.6622e-01f, 1.1354e-01f, + 9.5865e-03f, -2.4226e-02f, -1.4750e-03f, +-5.5294e-02f, -1.1839e-01f, 3.8867e-03f, + 1.7262e-01f, 4.2743e-01f, 6.8970e-02f, +-2.0232e-01f, -1.4564e-01f, 2.3025e-02f, +-2.6139e-03f, -1.6907e-02f, 1.1693e-01f, +-9.4871e-03f, 3.8488e-02f, -4.8351e-02f, +-9.2171e-02f, 4.8227e-02f, 9.7378e-02f, +-1.0292e-01f, -1.2084e-01f, -9.6676e-02f, + 1.8103e-02f, 3.0658e-01f, -7.7755e-02f, +-2.4362e-02f, -1.9862e-01f, -6.9665e-02f, + 8.2944e-03f, -1.4680e-01f, -1.7371e-02f, +-1.6534e-01f, 2.5752e-01f, 1.1129e-01f, +-9.4151e-02f, -1.3225e-01f, 1.5933e-01f, + 9.0723e-02f, 5.5469e-02f, -1.4091e-01f, + 8.3404e-02f, 1.3741e-01f, -3.5438e-02f, + 3.2681e-02f, 2.8491e-02f, 1.4278e-02f, + 2.3789e-01f, -2.3687e-03f, -5.3264e-03f, +-1.1161e-01f, 1.9351e-02f, 5.0832e-02f, + 8.2246e-03f, 2.9892e-02f, -3.7197e-02f, + 4.8236e-02f, 1.6945e-01f, 1.3673e-01f, + 1.1236e-01f, 7.2318e-01f, -4.1618e-02f, + 2.7494e-01f, 1.0081e-01f, -8.5399e-03f, +-5.6151e-02f, 8.1212e-02f, -7.5770e-02f, + 2.7872e-02f, 9.4644e-02f, 1.1175e-02f, +-6.1539e-02f, 7.7395e-02f, -3.2495e-02f, +-5.1640e-02f, 2.1028e-03f, 1.5825e-02f, +-1.1004e-01f, 2.3153e-01f, -6.1653e-02f, +-2.6497e-02f, 5.9461e-01f, 4.0865e-02f, +-1.9956e-02f, 7.9328e-02f, -1.7002e-02f, +-5.5930e-03f, 5.2015e-02f, 7.7945e-04f, + 1.0136e-02f, -9.0111e-02f, -1.1175e-01f, +-3.1781e-02f, 1.4686e-01f, -7.5718e-03f, + 1.1036e-02f, 2.4618e-01f, 8.5951e-02f, + 3.4775e-02f, -1.2184e-01f, 1.8010e-01f, +-3.6781e-02f, -1.3912e-01f, -4.9172e-02f, + 3.3064e-02f, 5.0582e-01f, 1.0713e-02f, +-1.2934e-02f, -1.7697e-01f, -1.4954e-01f, + 2.2229e-02f, -5.8568e-03f, -5.0186e-02f, + 1.9648e-02f, -1.1302e-01f, 1.5629e-02f, +-3.5015e-02f, 9.5032e-02f, -2.9677e-02f, + 9.5173e-02f, -3.0330e-02f, -3.7652e-02f, +-2.6097e-03f, 7.4723e-01f, -7.6234e-03f, +-3.8826e-02f, 1.0191e-01f, 3.6589e-03f, +-2.6503e-02f, -1.1133e-01f, -2.2029e-02f, +-1.9101e-01f, -2.1108e-01f, -7.4371e-02f, +-7.9349e-02f, -1.0405e-01f, 5.0315e-02f +} +, +{ +-4.2606e-02f, -8.9001e-02f, -6.4006e-02f, + 1.1132e-01f, 7.6609e-02f, 8.6417e-02f, + 7.6477e-03f, -1.6416e-02f, -8.2094e-02f, + 1.0779e-01f, 2.1837e-01f, 1.8094e-01f, +-2.6306e-02f, -1.2452e-01f, 1.2662e-02f, + 3.1633e-02f, 1.8717e-02f, 3.1043e-02f, + 4.0927e-02f, 5.0311e-02f, 1.1648e-01f, + 2.2429e-01f, 2.0757e-01f, 4.3662e-03f, + 3.6341e-02f, -4.7637e-02f, 8.3645e-02f, +-8.9260e-03f, 1.8507e-02f, 7.9069e-02f, +-1.9411e-01f, -8.6847e-02f, -3.6639e-03f, + 4.0328e-02f, -3.6821e-02f, -8.5387e-02f, + 5.8173e-02f, 5.9991e-02f, -3.1398e-02f, + 1.5818e-01f, 3.0861e-01f, -2.3818e-02f, + 1.2176e-01f, 6.7520e-02f, 8.9401e-02f, +-2.8859e-02f, -1.2237e-01f, -1.0625e-01f, + 3.1675e-02f, 1.4172e-01f, -1.4373e-01f, + 1.4653e-02f, 1.0205e-01f, 6.2557e-02f, +-8.7292e-02f, -2.1255e-02f, 3.6830e-02f, +-5.4417e-02f, 3.0501e-01f, 1.6897e-01f, +-2.2187e-02f, -8.9609e-02f, -2.2830e-02f, + 4.9846e-02f, 3.3395e-01f, -3.1561e-02f, +-1.3191e-02f, 4.2663e-01f, -6.9727e-02f, + 1.4570e-02f, -4.0002e-02f, 5.6394e-02f, +-8.2547e-02f, 1.9249e-01f, 1.5591e-01f, + 1.4536e-01f, -1.0409e-01f, 1.2382e-01f, + 1.8189e-01f, 9.2917e-02f, -1.4394e-01f, +-5.6260e-02f, -2.7043e-01f, 1.5392e-02f, +-1.4305e-02f, 1.1131e-01f, -8.5913e-02f, + 7.7914e-02f, -6.5484e-03f, -1.8375e-01f, +-1.4059e-01f, -5.7339e-01f, -3.9073e-02f, +-1.1701e-01f, -3.1806e-02f, 7.7726e-02f, + 2.1688e-02f, 9.9297e-02f, 3.8224e-02f, + 7.9884e-02f, 5.2461e-02f, 1.0318e-01f, + 4.0054e-02f, 1.4695e-01f, 1.2577e-01f, +-1.8790e-03f, -4.9421e-02f, 2.3235e-02f, +-8.9820e-02f, -1.6994e-01f, -1.5986e-01f, + 2.3436e-01f, -1.5346e-01f, 1.5014e-02f, +-3.9139e-02f, -7.9388e-02f, -4.9057e-02f, +-1.1193e-01f, -2.5705e-01f, 1.1995e-01f, + 5.7929e-02f, 2.4988e-01f, -4.9406e-03f, +-3.9363e-02f, -1.1691e-02f, -1.2236e-03f, +-2.0521e-01f, 2.1901e-01f, 1.5957e-01f, + 2.1062e-01f, -1.4157e-01f, -3.4340e-01f, + 3.8520e-02f, -2.0820e-01f, 2.4570e-03f, + 1.7211e-01f, 2.0214e-01f, 1.3821e-01f, +-7.1520e-02f, 1.4847e-01f, -1.3820e-01f, +-2.4712e-02f, -1.5925e-02f, 1.7403e-02f, +-3.7515e-02f, 3.0461e-02f, -2.7543e-02f, + 8.6148e-02f, -6.1486e-02f, 1.2610e-02f, + 2.9748e-03f, 1.1778e-01f, 2.9032e-02f, +-2.1706e-02f, -2.2406e-02f, 2.6769e-02f, +-3.6965e-02f, 2.2180e-01f, -4.0929e-02f, +-3.2629e-03f, 8.3419e-02f, -1.4587e-01f, +-1.3909e-02f, -2.0166e-02f, -1.0029e-01f, + 7.6360e-02f, 8.0819e-02f, -1.0933e-01f, +-5.8919e-02f, 2.4745e-02f, 3.7375e-02f, +-1.1333e-02f, 1.4747e-02f, -7.8958e-02f, +-3.1535e-02f, 1.7403e-01f, 1.3946e-02f, +-3.2038e-02f, 5.1151e-02f, -6.1063e-02f, +-8.6472e-03f, -6.9689e-02f, 5.6846e-03f, + 5.7914e-02f, -1.9818e-01f, -7.5321e-02f, + 8.7453e-02f, 7.8354e-02f, 2.1997e-02f, +-4.7606e-02f, 1.3915e-01f, 1.1653e-01f, + 9.6050e-02f, 4.0099e-01f, 1.5631e-01f, + 3.1492e-02f, 2.4797e-01f, 6.8716e-02f, +-6.2664e-03f, 9.1754e-02f, -5.7244e-03f, + 1.3538e-01f, 1.5366e-01f, 9.4916e-02f, +-4.2115e-02f, -3.6585e-01f, -1.4559e-01f, + 9.1550e-02f, -5.4007e-02f, 6.7482e-02f, +-1.8687e-01f, 3.2120e-01f, 5.1031e-03f, +-6.1205e-02f, -5.1780e-02f, 1.6442e-02f, +-1.2316e-02f, -1.3907e-01f, -1.4446e-01f, +-2.7899e-01f, -8.5969e-02f, -1.0870e-01f, +-2.6157e-01f, 8.9532e-02f, 3.0958e-02f, +-1.5393e-01f, -4.2781e-02f, -2.0951e-01f, + 2.0328e-01f, 4.5317e-01f, -3.0467e-02f, +-6.1346e-02f, 1.0381e-01f, -1.3719e-01f, +-9.8572e-02f, -1.4035e-01f, -1.9431e-02f, + 2.5542e-02f, 3.2609e-01f, 1.7983e-03f, +-1.0800e-01f, -2.9022e-02f, 6.2691e-03f, + 2.8937e-02f, -1.3483e-01f, -4.1655e-02f, + 2.0172e-01f, 1.4283e-02f, 9.6200e-02f, + 1.9027e-02f, 3.1240e-01f, -2.9553e-02f, + 6.2776e-02f, 1.3845e-01f, 4.5834e-02f, +-2.3854e-01f, -4.0267e-02f, 1.5634e-02f, +-1.9246e-01f, -3.2332e-02f, 3.2442e-03f, +-6.1880e-02f, -8.8192e-02f, -6.0172e-02f, + 2.5002e-01f, 1.5148e-01f, 6.4459e-02f, +-2.1022e-01f, -8.3893e-02f, 6.9554e-03f, + 7.0244e-02f, -2.9551e-02f, 1.6481e-02f, +-3.1036e-02f, -2.0026e-01f, -8.4748e-02f, +-1.3108e-01f, -1.3784e-01f, 9.4900e-02f, +-2.1256e-01f, -4.1767e-02f, 8.4665e-02f, +-4.0235e-01f, 1.0604e-01f, -3.1827e-02f, +-4.9825e-02f, -9.1267e-04f, 1.5527e-02f, +-6.5729e-03f, -1.8932e-02f, -3.4591e-02f, + 1.1066e-01f, 9.3979e-02f, 2.6059e-02f, +-1.2395e-01f, -2.4768e-01f, -1.6304e-01f, + 8.8329e-03f, -2.1606e-02f, -4.0878e-02f, +-1.5581e-02f, -1.4829e-02f, -1.5959e-02f, +-1.0463e-04f, -4.2903e-03f, -4.6657e-02f, + 2.2995e-02f, 1.7917e-02f, -9.1404e-02f, +-1.2326e-01f, 1.4582e-01f, -7.0959e-02f, +-1.8058e-02f, -8.5228e-02f, 4.2799e-02f, +-2.2829e-03f, 8.6577e-02f, -1.1909e-01f, +-1.8061e-01f, 1.1166e-01f, -8.2255e-02f, +-1.3190e-01f, 7.7123e-02f, 2.3224e-02f, + 1.8661e-02f, 2.4461e-02f, 3.6060e-02f, +-4.5224e-02f, -1.7672e-01f, 1.6080e-01f, +-4.2175e-01f, -2.2557e-01f, -1.0719e-01f, +-2.9506e-02f, 9.5020e-02f, -6.6465e-02f, +-7.2627e-02f, 3.1236e-01f, 5.5764e-02f, +-2.8789e-01f, -1.8915e-01f, 9.0825e-02f, +-5.8618e-02f, 6.4082e-02f, 4.8461e-03f, +-5.9405e-02f, 3.2644e-01f, -7.1278e-02f, +-1.8084e-01f, 2.0858e-02f, -9.3690e-03f, +-7.6565e-03f, -9.6854e-02f, 7.6121e-03f, + 1.4791e-01f, 4.5612e-01f, 1.9889e-02f, +-5.5498e-02f, -1.1266e-01f, 2.2790e-02f, +-3.8821e-02f, -1.5780e-02f, 1.2549e-02f, +-3.8232e-02f, -2.8870e-01f, 2.6216e-02f, + 1.0375e-01f, -2.9621e-02f, 1.8479e-03f, + 5.0207e-02f, 1.5189e-01f, 1.2533e-01f, + 1.8298e-01f, -1.2870e-01f, 3.0681e-01f, +-1.9571e-02f, -8.6302e-02f, 9.1121e-02f, + 1.0113e-01f, -1.8362e-01f, 3.2642e-02f, + 1.7034e-01f, -3.1077e-01f, -4.8737e-02f, + 5.9144e-02f, 5.6052e-03f, 3.2360e-02f, +-9.0123e-02f, 7.7996e-02f, 3.6297e-02f, +-3.4389e-01f, 1.1841e-01f, -2.0900e-02f, + 9.4930e-02f, -9.1504e-02f, -4.5308e-02f, + 3.7723e-03f, -3.7580e-02f, -6.6410e-02f, + 5.2501e-02f, -1.2530e-01f, 3.5944e-02f, + 3.8378e-02f, 9.5188e-02f, 2.1952e-03f, +-2.4333e-02f, 2.7977e-01f, 5.6961e-02f, +-3.0605e-03f, 8.3684e-02f, 4.4848e-03f, +-7.8935e-02f, -1.9544e-01f, -5.3311e-02f, +-2.6595e-02f, 1.2278e-01f, -3.1659e-02f, +-1.0103e-02f, 4.7763e-01f, 2.5359e-02f, + 8.1397e-02f, 3.0548e-01f, 9.7097e-02f, + 3.6232e-02f, -1.1091e-01f, 1.2841e-01f, + 1.9277e-01f, 2.9322e-01f, -1.6740e-01f, + 1.2107e-01f, -6.2883e-02f, 4.0603e-02f, +-1.5750e-01f, -8.6183e-02f, -1.4194e-01f, + 1.1932e-01f, -3.9175e-01f, -5.4495e-02f, +-1.4001e-02f, -2.0594e-01f, -8.2683e-02f, + 8.6156e-02f, 2.1499e-02f, 2.2080e-01f, + 5.5703e-02f, -3.6307e-01f, 8.3129e-02f, + 8.9280e-02f, -3.5897e-02f, 1.6106e-01f, + 9.1171e-02f, -3.1102e-01f, 1.2425e-01f, + 1.0278e-01f, -3.1014e-01f, -6.9138e-02f, + 8.0839e-02f, -3.6183e-02f, 1.0341e-01f, +-1.8334e-01f, -5.3700e-02f, 2.3336e-01f, +-1.4464e-01f, -5.0320e-01f, -2.9836e-02f, +-1.7225e-01f, -3.9499e-01f, -1.7321e-01f, + 1.7510e-01f, 1.7897e-01f, -2.6518e-01f, + 2.3638e-01f, 5.0270e-01f, -4.9731e-03f, + 2.2603e-01f, 2.5317e-01f, 2.4079e-01f, +-1.3159e-01f, 1.5638e-01f, 1.2480e-01f, +-6.2164e-02f, 7.9458e-02f, -9.4804e-02f, + 8.5690e-03f, 7.4971e-03f, 8.6630e-02f, +-1.3148e-02f, 6.8660e-02f, -7.4230e-03f, + 2.9702e-02f, 1.2036e-01f, 9.5504e-02f, +-3.2694e-03f, 8.6722e-02f, -6.2433e-02f, + 3.2527e-01f, 3.2087e-01f, -9.4429e-05f, + 1.3556e-01f, -7.0413e-02f, 2.9383e-02f, + 2.0617e-02f, 3.3218e-02f, 4.4898e-02f, +-4.8260e-01f, -2.1329e-01f, 1.5890e-02f, +-2.6600e-01f, -8.8519e-02f, -4.3800e-02f, +-1.7299e-01f, -2.0757e-01f, -2.6658e-01f, + 6.9707e-02f, -4.4700e-02f, 6.5570e-02f, + 2.3992e-01f, 1.5078e-01f, 2.8713e-02f, +-9.1197e-02f, 1.9765e-02f, -1.8751e-02f, +-9.9277e-02f, -3.1437e-01f, 4.0730e-02f, + 2.4208e-02f, -8.8322e-02f, -1.6245e-01f, + 1.3037e-02f, -3.4708e-02f, -4.4285e-02f, +-1.3592e-01f, -1.3575e-01f, -7.4546e-02f, + 1.4670e-01f, -1.3366e-01f, 2.1553e-03f, + 8.1235e-03f, -1.2068e-01f, -5.7287e-02f, + 1.8015e-01f, 2.1390e-01f, 8.6923e-03f, + 2.8833e-01f, 6.6345e-02f, 1.4578e-01f, + 2.2338e-01f, 2.6453e-01f, -2.9112e-02f, + 1.4018e-01f, -9.2824e-02f, -2.2795e-02f, + 1.2360e-01f, 2.2527e-01f, -1.1817e-01f, +-3.8872e-02f, -1.9982e-02f, -7.7514e-02f, + 1.7744e-03f, 3.1736e-02f, 4.5882e-02f, +-2.5222e-02f, 2.4298e-01f, -3.8596e-02f, + 1.2545e-02f, 3.1872e-02f, 7.1925e-02f, + 7.9782e-02f, -1.5533e-01f, -1.4619e-02f, +-1.2223e-01f, -1.8631e-03f, -9.8832e-02f, +-1.6815e-02f, -8.1440e-02f, 6.8038e-02f +} +, +{ + 2.3898e-02f, 1.2411e-02f, -3.2770e-02f, +-2.6029e-01f, 3.2690e-01f, -1.8246e-01f, + 1.1224e-02f, 8.0193e-02f, -5.0412e-02f, +-9.3849e-02f, 2.0325e-02f, 2.6309e-02f, + 1.2266e-02f, 1.7698e-01f, 2.7049e-01f, + 1.2918e-01f, 2.0190e-01f, 2.7352e-01f, +-7.2100e-02f, 1.3357e-01f, -1.3702e-01f, + 2.2527e-01f, 1.5821e-01f, -2.3104e-01f, + 1.0182e-02f, -1.5499e-01f, 7.1906e-02f, + 1.5865e-01f, 7.0950e-02f, -6.3336e-02f, + 2.2661e-01f, -4.2997e-01f, -4.2013e-01f, + 1.7549e-02f, -1.3142e-01f, -3.1663e-01f, + 1.3617e-01f, 1.4229e-01f, -1.0707e-02f, +-1.0986e-02f, 2.8816e-01f, -3.6239e-01f, + 2.2579e-02f, -1.4332e-02f, 7.1339e-03f, +-1.4357e-01f, -9.7608e-02f, 1.4646e-01f, +-5.3856e-02f, 3.3898e-01f, -2.4936e-01f, +-2.9500e-02f, 2.1799e-02f, 1.1901e-02f, + 3.6996e-02f, 2.1291e-02f, 3.2150e-02f, + 9.8375e-02f, 2.4476e-01f, 2.2896e-01f, + 1.8392e-01f, -7.4510e-02f, -1.0152e-01f, + 4.4757e-02f, -4.8053e-03f, -6.7254e-02f, +-4.8370e-02f, -7.8975e-02f, -3.6007e-01f, +-3.8160e-02f, 8.7707e-02f, -1.4986e-01f, +-8.7544e-03f, -4.3522e-02f, 7.3822e-02f, +-1.4523e-01f, 1.1433e-01f, 4.4109e-02f, +-1.6025e-03f, 2.5459e-02f, -9.3562e-02f, +-2.9192e-02f, -1.0975e-01f, -5.0943e-02f, +-1.1215e-01f, 1.9907e-01f, 7.9934e-02f, + 3.7066e-02f, 3.0796e-01f, -1.4034e-01f, +-8.2315e-02f, -2.0182e-02f, -1.2824e-02f, +-4.8007e-03f, 1.2655e-01f, -2.5157e-02f, + 2.7796e-02f, -4.3032e-02f, 2.5397e-02f, + 6.9377e-02f, 2.3642e-01f, 1.2713e-01f, + 2.7878e-02f, -1.5325e-01f, -1.4871e-01f, + 1.5800e-02f, -4.5935e-02f, 1.7370e-01f, + 4.8058e-02f, -1.8725e-01f, -6.7048e-03f, +-1.3932e-01f, -6.0768e-02f, -1.6976e-01f, +-2.1189e-02f, 1.0311e-02f, -2.2970e-02f, +-7.0546e-03f, 7.9481e-02f, 1.2146e-02f, + 4.2666e-02f, 3.5383e-01f, 1.4381e-01f, + 5.4384e-02f, -9.3862e-02f, 4.8870e-03f, + 2.1141e-02f, -6.6826e-02f, -1.8526e-01f, + 1.3309e-01f, 3.3452e-01f, 1.1058e-02f, +-1.6967e-02f, 1.1094e-01f, 5.3230e-02f, + 3.0409e-02f, -4.7613e-02f, -1.7737e-01f, +-1.6678e-02f, -7.8644e-02f, 1.1743e-01f, + 7.3322e-02f, -1.1354e-01f, -1.5737e-02f, +-1.2397e-03f, -1.4685e-02f, -1.0192e-02f, + 1.6045e-01f, 3.6331e-02f, 1.2219e-01f, + 1.3123e-01f, 5.7578e-02f, 1.0291e-01f, + 1.7424e-01f, 1.0688e-01f, 1.4263e-01f, + 8.9942e-02f, -2.7141e-02f, 3.1238e-02f, +-4.0240e-02f, -1.0930e-01f, -2.1276e-01f, + 1.0357e-01f, 5.7673e-02f, 1.0356e-02f, +-2.0864e-01f, -1.9405e-01f, 2.5094e-01f, +-4.8277e-03f, -1.3758e-01f, 1.1562e-01f, +-1.0358e-01f, 2.0631e-01f, -9.1445e-03f, +-1.7602e-01f, 1.0200e-01f, 3.0032e-02f, +-1.1495e-02f, -4.5077e-02f, -6.4748e-02f, +-2.3072e-02f, -3.2342e-02f, 1.4503e-02f, +-3.7052e-02f, -1.2206e-01f, 5.5395e-02f, + 2.8331e-02f, -4.2812e-03f, 6.9807e-02f, + 4.3593e-02f, -6.7373e-03f, 1.2760e-02f, + 3.2896e-03f, -2.4007e-01f, -5.2920e-02f, + 2.5193e-02f, -2.1480e-01f, 8.4654e-02f, + 2.2642e-02f, 8.2132e-02f, -2.3864e-02f, +-2.9726e-01f, 8.0405e-02f, -1.3190e-02f, +-1.1310e-01f, -4.4342e-01f, -6.3536e-02f, +-6.7090e-02f, 1.1797e-01f, 1.5315e-01f, + 7.7829e-02f, -1.4494e-01f, 1.0233e-01f, + 9.7059e-02f, 1.2772e-01f, -2.4394e-02f, +-2.6179e-02f, 2.6721e-02f, 1.1707e-02f, +-4.8024e-02f, -2.3366e-01f, -1.6978e-01f, +-2.4402e-01f, -2.8572e-01f, -2.4053e-02f, +-2.7451e-03f, 7.1959e-02f, 4.4706e-02f, +-1.9900e-01f, 2.1353e-01f, 1.0625e-01f, + 4.0246e-01f, 4.2323e-01f, 3.4046e-02f, +-1.6943e-01f, -2.0221e-01f, -1.6369e-01f, + 1.3882e-01f, 2.1717e-01f, -1.3581e-01f, + 1.3975e-01f, 1.1980e-01f, 1.8888e-02f, +-1.8110e-01f, -2.6143e-01f, -1.0109e-01f, + 5.5844e-02f, -1.2175e-01f, 3.4447e-02f, + 8.9688e-02f, 2.4641e-01f, 2.3287e-01f, +-5.8259e-02f, -1.3656e-01f, -1.3936e-02f, +-8.3429e-03f, 2.3026e-01f, 1.2302e-01f, +-2.2969e-02f, 6.0932e-02f, 3.4749e-02f, + 1.2910e-01f, 2.4008e-01f, 1.8908e-01f, +-5.8776e-02f, 3.8121e-01f, 8.1312e-02f, + 9.1175e-02f, -1.8729e-02f, -4.6156e-02f, + 3.7493e-02f, -3.5877e-02f, -9.9651e-03f, + 1.5864e-01f, 1.3611e-01f, 6.7880e-02f, + 2.2216e-01f, 9.3697e-02f, 7.4782e-02f, +-1.0861e-01f, -2.5824e-01f, 6.6455e-02f, + 9.2238e-02f, -2.3448e-01f, -3.4057e-01f, +-2.9658e-01f, 9.4698e-03f, 1.9315e-01f, +-5.2396e-02f, 1.2310e-01f, -5.2917e-02f, +-4.3708e-03f, 1.9560e-01f, -2.4309e-02f, +-6.7388e-02f, -8.8839e-02f, -2.0907e-02f, + 4.6550e-02f, 3.4119e-02f, 6.0977e-02f, +-1.0054e-02f, 1.4411e-01f, 1.5622e-01f, + 1.7401e-02f, 2.5685e-01f, -9.1853e-03f, +-4.4530e-02f, -1.8623e-01f, -8.4557e-02f, + 9.5962e-02f, 2.6491e-01f, 1.7854e-01f, +-2.0547e-02f, -1.2023e-01f, -7.6897e-02f, +-1.3418e-01f, -1.4960e-01f, 1.6292e-01f, +-1.7275e-01f, -6.0181e-02f, -2.7034e-02f, +-7.4189e-02f, -3.5566e-02f, 1.3995e-01f, + 3.0758e-02f, 3.3476e-02f, 6.9837e-03f, +-6.1089e-02f, -9.6021e-02f, 7.1716e-03f, + 1.0389e-01f, 4.7963e-02f, 9.5921e-02f, + 4.4569e-02f, 1.2230e-01f, -1.4417e-01f, +-1.2825e-02f, 3.1980e-01f, -3.5905e-01f, +-1.2557e-01f, -7.5283e-02f, -1.2343e-01f, + 1.9791e-01f, 7.9003e-02f, 3.1163e-02f, + 1.0969e-01f, 1.6839e-01f, -2.5816e-01f, +-1.2617e-01f, 1.3686e-01f, -2.1078e-01f, +-2.1870e-02f, -1.8378e-01f, -2.8893e-01f, +-8.2523e-02f, -3.0475e-02f, 9.6007e-02f, + 1.0669e-01f, -1.4581e-03f, 3.2441e-01f, +-8.1872e-03f, 1.1690e-02f, -4.0179e-02f, +-1.0835e-01f, 3.6112e-01f, -4.5990e-02f, +-1.2355e-01f, -1.3372e-01f, 3.8136e-02f, +-9.1530e-03f, 3.5432e-02f, 4.3950e-02f, +-8.6859e-02f, 1.5887e-01f, 1.2796e-02f, + 1.3554e-02f, -1.5669e-01f, -1.4371e-02f, +-4.6609e-02f, 1.7114e-01f, -7.8284e-02f, + 1.7611e-01f, 4.1204e-01f, 9.3281e-02f, + 1.1420e-01f, 1.2951e-01f, -7.6025e-02f, +-5.4831e-02f, 9.7574e-02f, 3.2839e-02f, + 3.8475e-02f, -6.0247e-02f, -2.9627e-02f, +-2.4367e-02f, 1.3143e-02f, 4.7017e-02f, + 2.3800e-02f, -2.4046e-02f, -5.7044e-02f, + 2.7280e-02f, 7.8573e-01f, 1.0079e-02f, + 6.4100e-02f, 5.1584e-02f, 7.9653e-03f, +-8.9480e-02f, -1.6207e-01f, -8.9418e-02f, +-3.5589e-02f, 3.5903e-01f, -1.8381e-01f, + 9.2356e-02f, 8.8046e-02f, -5.0229e-02f, + 1.8609e-02f, 1.1243e-01f, 5.2599e-02f, +-1.3374e-02f, -3.3097e-01f, 6.5346e-02f, + 2.6760e-01f, -1.0281e-01f, 1.1607e-02f, + 7.6576e-03f, -3.5957e-02f, 3.1924e-02f, +-7.0088e-02f, 9.1241e-02f, 1.2827e-02f, + 3.7165e-02f, 7.0273e-03f, -7.3945e-04f, +-6.5406e-03f, 7.2666e-02f, -5.7348e-02f, +-1.9100e-01f, -7.4449e-02f, -1.2496e-01f, + 1.5299e-01f, -8.8047e-02f, -2.1810e-02f, +-3.0241e-02f, -7.4310e-03f, -8.7682e-02f, +-2.2479e-02f, 9.6008e-02f, -8.4539e-02f, +-2.8915e-02f, 1.7538e-01f, -3.7735e-02f, +-9.8463e-03f, -6.9618e-02f, -2.6095e-01f, + 9.9950e-02f, 5.0534e-01f, -1.8812e-01f, +-1.1986e-01f, 7.1166e-02f, -2.4769e-02f, + 8.8529e-02f, 9.8348e-02f, 2.1136e-02f, +-9.0337e-03f, 1.3679e-01f, -1.2115e-01f, +-6.2478e-03f, 1.1436e-01f, -3.4610e-02f, +-2.7350e-02f, 1.0702e-01f, 1.6220e-02f, + 1.0912e-02f, 1.0953e-01f, 8.6762e-02f, + 2.9348e-03f, -2.2035e-02f, 1.2376e-01f, + 7.0102e-02f, -1.0945e-01f, -1.6640e-01f, +-3.9916e-03f, -2.6658e-02f, -9.7031e-02f, +-3.0047e-02f, 1.6631e-03f, -5.5031e-02f, +-7.9624e-02f, 1.9976e-01f, 1.9582e-01f, + 2.1377e-01f, 3.5835e-01f, 1.7012e-01f, +-9.7751e-02f, 4.9143e-01f, 1.0988e-01f, + 8.4055e-02f, -7.3187e-03f, -9.8808e-02f, + 5.0590e-02f, -8.9291e-02f, -6.6857e-02f, + 9.6737e-02f, -3.0699e-01f, 2.2889e-01f, + 2.6727e-40f, -5.2704e-40f, -4.5038e-40f, +-3.3108e-40f, 5.2330e-40f, -1.2724e-40f, +-3.2957e-40f, -5.8613e-40f, 2.1618e-40f, +-4.3882e-40f, -3.3950e-40f, 5.9372e-40f, + 2.7277e-40f, -1.3741e-40f, -3.3597e-40f, + 5.0687e-40f, 4.7873e-40f, -3.2116e-40f, +-6.1388e-40f, -6.0790e-40f, -5.2667e-40f, +-5.6524e-40f, -6.1696e-40f, -5.9796e-40f, + 1.5824e-40f, -5.2002e-40f, -5.8960e-40f, +-5.9860e-40f, 3.6419e-40f, 2.9975e-40f, +-5.8988e-40f, 3.3994e-40f, -5.0611e-40f, + 3.6410e-40f, 2.9550e-40f, 4.7468e-40f, + 2.7503e-40f, -3.4103e-40f, 6.0339e-40f, +-1.7691e-40f, 6.7170e-41f, 1.7101e-40f, + 2.7166e-40f, 4.3023e-40f, 2.7735e-40f, +-3.1937e-40f, -4.9247e-40f, -6.2495e-40f, + 5.2938e-40f, -3.3702e-40f, 1.4976e-41f, + 1.4031e-40f, -4.6995e-40f, -5.2409e-40f, + 2.5460e-40f, 2.6670e-40f, -4.5339e-40f, + 4.2896e-40f, -5.7141e-40f, -1.7003e-40f, + 2.3597e-40f, 1.3748e-40f, 4.6163e-40f, + 4.0680e-41f, -6.1642e-40f, 2.7304e-41f, + 5.2250e-40f, -3.9481e-40f, -6.1808e-40f, + 1.9462e-40f, 2.6005e-40f, -2.7281e-40f +} +, +{ + 1.3625e-02f, -8.5594e-02f, -1.9901e-01f, +-6.4636e-02f, -1.9030e-02f, 4.1963e-02f, +-7.5507e-02f, -2.4474e-01f, -4.2621e-02f, + 2.8195e-02f, 7.3102e-02f, -9.3331e-02f, + 7.7093e-02f, 1.7800e-01f, -7.6451e-02f, + 2.8565e-02f, -1.3540e-01f, -1.9169e-01f, +-1.8583e-02f, 3.0135e-02f, 8.1094e-03f, +-1.2835e-01f, -1.8041e-01f, -8.9020e-02f, +-8.2731e-02f, 3.7861e-02f, -9.4014e-02f, + 4.6595e-02f, 2.2052e-02f, -1.5867e-01f, +-1.0937e-02f, 1.0030e-01f, -1.3018e-01f, +-9.1844e-02f, -1.7508e-01f, 2.2087e-01f, +-9.3080e-02f, 9.8069e-02f, -7.0154e-02f, +-6.6063e-02f, -2.2142e-01f, 4.1058e-01f, +-6.5947e-02f, -5.4662e-02f, 9.9412e-02f, +-5.1938e-02f, 3.0932e-03f, 1.8126e-01f, + 3.6701e-02f, -3.0349e-01f, 9.9839e-02f, + 2.5810e-02f, 2.3644e-01f, -2.4461e-01f, + 2.1054e-01f, 1.5630e-01f, -1.9587e-01f, + 5.0146e-02f, -1.8844e-02f, 3.6675e-01f, +-4.0389e-03f, 3.1596e-01f, 3.6771e-03f, +-2.2256e-40f, 1.4272e-40f, -2.0732e-40f, + 5.5913e-40f, -6.0538e-40f, 1.2791e-40f, + 4.5825e-41f, 4.1080e-41f, -1.8211e-40f, + 2.2687e-01f, -5.8992e-02f, 4.7796e-03f, + 6.0603e-01f, 2.7961e-01f, 1.5973e-02f, + 2.3035e-01f, 1.3031e-01f, -9.9280e-03f, +-4.7235e-02f, 5.1773e-02f, -4.8586e-02f, +-1.4510e-01f, -1.7336e-01f, 1.0981e-01f, +-2.0303e-01f, -1.6008e-02f, -1.8524e-03f, +-2.3440e-01f, -3.2373e-02f, -6.7911e-02f, +-1.6256e-01f, 1.2316e-01f, 2.7859e-02f, + 8.5089e-04f, -3.7401e-02f, -1.8672e-02f, +-1.0418e-01f, -7.8407e-02f, -1.8413e-02f, + 8.2834e-02f, 2.3128e-01f, 3.2983e-02f, + 3.1099e-02f, -6.4485e-02f, -8.1659e-02f, + 1.9152e-01f, -1.9609e-02f, 2.7364e-02f, + 1.0458e-02f, -1.2507e-01f, 4.1334e-02f, +-4.6215e-02f, 5.6944e-02f, 2.1477e-02f, +-1.4934e-01f, -6.8383e-02f, 2.7957e-02f, +-3.6846e-01f, 4.8766e-01f, 6.4000e-02f, +-3.9621e-02f, -8.1667e-03f, 4.5997e-02f, +-6.1391e-02f, 1.2976e-02f, -3.2152e-02f, + 7.5767e-02f, 1.2931e-01f, -2.3498e-02f, + 4.0320e-02f, 1.3876e-02f, 1.1022e-02f, +-6.2401e-41f, 5.8564e-40f, 3.9473e-40f, +-5.6890e-40f, -2.6022e-40f, -2.9841e-40f, +-4.2456e-40f, -1.1546e-40f, 4.4955e-40f, +-4.2969e-02f, -1.0995e-01f, 1.3021e-01f, + 1.0142e-01f, 5.2225e-01f, -5.5486e-02f, +-7.2349e-02f, 8.5470e-02f, 2.3438e-02f, +-1.0690e-01f, -1.4370e-01f, -1.2632e-01f, + 2.8754e-02f, 1.1662e-01f, 5.6515e-02f, +-1.5726e-01f, -1.4945e-01f, -4.4956e-02f, + 1.6574e-01f, -5.6894e-02f, -2.0851e-01f, + 8.1498e-03f, -2.5441e-01f, -1.4412e-01f, +-1.0959e-02f, -2.5811e-02f, 8.8934e-02f, + 6.3594e-02f, -9.3314e-02f, 7.8247e-02f, + 4.6795e-02f, -2.2774e-01f, 7.1041e-02f, + 1.4830e-01f, 1.9911e-01f, 5.1978e-02f, + 7.4936e-02f, 2.3104e-02f, 6.3928e-02f, +-1.3118e-02f, 6.7544e-02f, 7.9514e-02f, + 2.2335e-02f, -9.9442e-02f, 6.8070e-03f, + 2.4395e-02f, -3.3576e-02f, 5.5508e-02f, +-4.0872e-02f, 5.4501e-02f, -5.7051e-02f, + 8.6621e-03f, -1.5361e-01f, 1.2630e-01f, +-2.2344e-01f, 1.3335e-01f, -1.1688e-01f, +-2.4232e-01f, 3.3319e-01f, -1.2580e-01f, +-2.2169e-02f, 2.0594e-01f, 2.6521e-02f, + 4.1883e-40f, -3.4540e-40f, 4.9152e-40f, +-1.5711e-40f, 3.3927e-40f, -5.5069e-40f, + 5.5831e-40f, -5.2011e-41f, 1.0351e-40f, + 1.7989e-01f, 2.3787e-02f, 5.7447e-03f, + 4.8748e-01f, 3.0152e-01f, 3.5517e-02f, + 2.2155e-01f, 1.8812e-01f, 3.0994e-02f, + 7.8657e-02f, -7.1135e-02f, -5.8293e-02f, +-1.4220e-01f, 1.6004e-02f, -2.5180e-02f, +-1.6811e-01f, -2.3441e-01f, 1.4810e-02f, + 5.3140e-02f, -1.2904e-01f, -1.5105e-02f, + 5.4525e-02f, -1.5418e-01f, 6.6507e-02f, + 8.3947e-02f, -1.1975e-01f, 5.3902e-02f, + 8.0834e-02f, -2.4321e-01f, -1.0282e-03f, + 3.1276e-03f, 3.2495e-01f, -1.3238e-02f, + 4.5285e-02f, 5.8777e-02f, -1.3231e-01f, +-6.0928e-03f, 8.7145e-02f, 6.2031e-02f, +-5.3919e-01f, -6.8810e-02f, -1.0755e-01f, +-2.2571e-02f, 2.6237e-02f, -6.8731e-03f, +-6.6771e-02f, -2.0586e-01f, 4.7722e-02f, +-3.4968e-01f, 3.0912e-01f, 2.4487e-01f, +-4.9537e-02f, -5.2779e-04f, 6.7840e-02f, + 1.7583e-02f, 3.3222e-02f, -5.7070e-02f, +-2.3250e-01f, 1.4470e-01f, -4.9895e-02f, + 3.3147e-02f, 8.6319e-02f, 4.4719e-02f, +-6.9454e-41f, 2.0308e-40f, -1.1977e-40f, + 5.9045e-40f, -2.6129e-40f, 4.8298e-40f, + 4.7288e-40f, 6.0736e-40f, 2.2462e-40f, +-4.0294e-02f, -9.1437e-03f, -2.4926e-02f, +-2.1269e-01f, 1.1602e-01f, 1.4383e-02f, + 5.1456e-02f, 6.9047e-02f, 1.6519e-02f, + 6.3737e-02f, -9.0181e-02f, 7.0716e-02f, + 7.0061e-02f, 7.9046e-02f, -4.3925e-02f, + 7.4396e-02f, -5.2797e-02f, 3.8125e-02f, + 7.5999e-02f, -5.1307e-02f, 2.4326e-03f, +-3.1716e-02f, -1.2567e-01f, -3.3898e-02f, + 8.4925e-02f, -5.2404e-02f, 2.8535e-02f, + 9.6844e-03f, 4.6980e-02f, 3.8552e-02f, +-5.7110e-02f, 3.2163e-02f, 1.5219e-02f, + 6.6905e-02f, -2.7934e-02f, 1.4184e-03f, +-2.4239e-02f, -8.6317e-03f, -2.3295e-03f, +-2.3065e-02f, 1.0076e-01f, 2.1562e-03f, +-1.3647e-02f, -3.4262e-02f, 2.5777e-02f, + 7.6601e-02f, 1.3654e-01f, 2.1458e-03f, + 1.4542e-01f, 3.6310e-01f, 1.6266e-01f, +-5.8465e-02f, 4.3751e-02f, 1.9227e-02f, + 9.1783e-03f, -5.9547e-02f, -1.8234e-02f, +-5.3399e-02f, 1.9218e-01f, -4.6238e-02f, +-1.9052e-01f, 1.4635e-02f, 2.9536e-02f, + 1.4621e-40f, -5.5132e-40f, -4.6215e-40f, + 4.3948e-40f, -2.7285e-40f, -5.5709e-40f, + 1.9428e-41f, -4.0333e-40f, -5.4469e-40f, + 9.3126e-02f, -1.3236e-01f, 9.9350e-02f, +-1.3308e-01f, 3.5030e-01f, 9.2221e-02f, + 1.1783e-01f, 1.6648e-01f, -7.9150e-02f, + 2.2654e-01f, -1.2546e-01f, -1.2354e-01f, +-1.6457e-01f, -6.0740e-02f, -3.1069e-02f, +-8.3203e-02f, -1.8064e-01f, 4.6900e-02f, + 1.2059e-01f, -1.0569e-01f, -7.1196e-02f, +-9.2991e-02f, -1.7587e-01f, 1.3100e-03f, +-1.5492e-01f, -1.3849e-01f, 1.2245e-01f, +-5.5276e-02f, -9.7867e-02f, 3.5550e-02f, +-6.0264e-02f, 4.7760e-02f, 6.0242e-02f, +-5.4096e-03f, 2.4646e-01f, 6.3592e-01f, + 5.8559e-02f, 6.1117e-02f, 8.0334e-02f, +-4.4582e-03f, -1.2028e-01f, 8.7394e-02f, +-2.5880e-02f, -1.2206e-01f, 1.2199e-01f, + 4.1990e-02f, -1.3283e-01f, 4.9047e-02f, +-4.9532e-02f, 2.7688e-01f, -4.6064e-03f, +-2.8812e-03f, -2.4404e-01f, 5.8614e-02f, +-1.4262e-01f, -1.2810e-03f, -1.2060e-01f, +-8.3595e-02f, 5.6532e-02f, -7.7556e-02f, +-1.3364e-01f, -1.3883e-01f, -1.2335e-01f, +-1.3273e-40f, 6.5184e-41f, -4.6946e-40f, +-4.0031e-40f, -1.2807e-40f, -3.1584e-40f, + 1.3009e-40f, 2.4187e-40f, -1.4202e-40f, +-8.8844e-03f, 1.0101e-03f, -6.0190e-02f, +-1.8851e-01f, -7.6662e-02f, -1.4562e-01f, + 2.9983e-02f, -8.1533e-02f, 1.1256e-02f, + 1.0205e-01f, 6.7850e-02f, -1.0911e-01f, +-1.2846e-01f, -5.4605e-02f, 6.2182e-02f, +-1.0797e-01f, -5.1281e-02f, -1.2036e-02f, +-8.1693e-02f, -7.0432e-02f, 1.6990e-01f, +-1.7329e-01f, -2.2084e-01f, -3.0977e-02f, + 8.2771e-02f, -3.3089e-01f, -1.4842e-01f, + 1.9576e-02f, -1.5953e-01f, -1.0348e-01f, + 6.6014e-02f, 6.0094e-01f, -6.9891e-04f, + 7.4969e-02f, -1.4250e-01f, 4.3221e-02f, + 1.6796e-02f, -6.8125e-03f, 4.7028e-02f, +-3.3421e-01f, -2.2987e-01f, 4.2936e-02f, + 9.3985e-04f, 9.0827e-02f, 2.4211e-01f, +-8.1571e-02f, -1.0276e-01f, 1.9092e-01f, + 2.1112e-01f, 2.6837e-02f, -2.5822e-01f, +-1.3290e-01f, 1.6135e-01f, -2.7672e-02f, + 3.4465e-01f, -8.3286e-03f, -6.1936e-02f, + 2.7406e-01f, -6.8357e-02f, 1.7426e-01f, +-9.0872e-02f, 1.2999e-01f, 7.2366e-02f, + 3.0944e-40f, -1.2808e-40f, 2.9336e-40f, + 5.5561e-42f, 3.0978e-40f, 1.0027e-40f, +-1.5881e-40f, -2.9858e-40f, 3.1599e-41f, +-9.1935e-02f, -2.2666e-04f, -6.2821e-02f, +-1.8605e-01f, 3.0238e-01f, 3.2759e-02f, +-5.0771e-02f, 1.4585e-02f, -1.0872e-01f, + 2.5511e-02f, -9.3394e-02f, 1.4810e-02f, +-6.2906e-02f, 9.2472e-02f, 1.2845e-02f, +-2.9041e-01f, -9.6489e-03f, -2.7277e-02f, +-6.9896e-02f, -1.1645e-01f, -5.9870e-02f, +-2.8037e-02f, -2.2649e-01f, 5.1781e-02f, +-1.4588e-02f, 4.8753e-02f, -2.8256e-02f, +-1.6462e-02f, 8.0795e-02f, 3.6222e-02f, + 8.0392e-02f, 3.0118e-01f, 2.0021e-01f, + 1.0394e-01f, 6.4196e-01f, 4.9545e-01f, + 2.1242e-02f, -1.2514e-01f, 1.0066e-01f, +-4.7676e-02f, -2.0736e-02f, -5.6951e-03f, +-8.3021e-02f, 4.6763e-02f, 1.7551e-01f, + 2.0038e-02f, 1.8084e-01f, 1.3244e-02f, + 1.0280e-02f, 2.8740e-01f, 8.9837e-03f, +-2.9437e-02f, -3.7366e-01f, -1.1861e-01f, +-4.8248e-03f, -1.2970e-01f, -1.8680e-02f, + 1.8458e-01f, 5.6509e-02f, 1.2734e-01f, + 1.9423e-01f, -3.6960e-01f, -2.5555e-02f, + 6.7959e-41f, -3.2251e-40f, -3.0631e-40f, +-4.0701e-40f, 9.7399e-41f, 2.2917e-40f, + 2.0169e-40f, 5.7891e-40f, -4.1286e-40f +} +, +{ + 5.6253e-02f, 1.0118e-02f, -8.2749e-02f, +-6.4074e-02f, 4.0723e-02f, 1.1657e-02f, +-1.1560e-01f, -3.5596e-03f, -2.6713e-02f, +-7.9090e-02f, -2.9223e-01f, 1.5759e-01f, + 6.8756e-02f, 1.5738e-01f, 1.5413e-01f, +-6.1288e-02f, -1.2536e-01f, -1.5966e-01f, + 1.1165e-01f, 5.0211e-02f, -1.0338e-01f, +-5.2364e-04f, 1.7660e-01f, -2.2504e-03f, +-1.7697e-01f, 1.8500e-02f, 2.0693e-02f, +-2.5907e-02f, -1.4201e-01f, 8.4467e-02f, + 1.1138e-02f, 2.1769e-01f, -4.2422e-01f, + 6.5046e-02f, 2.6834e-02f, 2.9047e-03f, +-1.2130e-01f, -5.1773e-01f, -8.0393e-02f, + 3.0204e-02f, 3.5952e-01f, 1.6681e-01f, +-9.4720e-04f, 7.7291e-02f, 8.3039e-02f, + 3.4689e-01f, -1.2389e-01f, -2.0666e-01f, +-2.9650e-02f, 1.1102e-01f, -1.4782e-01f, + 3.2193e-02f, -3.9862e-02f, 1.6440e-02f, +-8.4264e-02f, 1.0192e-01f, -6.4256e-02f, + 2.2950e-02f, -6.6511e-02f, -6.3814e-02f, + 4.3744e-02f, -1.0557e-01f, -1.2045e-02f, + 1.6330e-01f, 6.6130e-01f, 1.5497e-01f, + 1.7103e-01f, 1.5073e-01f, 1.7400e-01f, + 9.0985e-04f, 1.0917e-02f, -1.3322e-02f, +-6.4273e-02f, -6.2178e-02f, -7.7223e-02f, +-1.0332e-01f, -2.1072e-01f, -2.2843e-03f, + 3.2717e-02f, -6.3754e-02f, 5.0359e-02f, +-5.2566e-02f, 6.2090e-02f, -1.5614e-02f, + 1.4570e-02f, -1.0243e-01f, 1.3091e-01f, +-2.9988e-02f, -7.5897e-02f, -9.4541e-04f, +-2.7999e-01f, -4.7415e-03f, 5.6419e-02f, + 7.0565e-02f, -4.9273e-01f, -1.2936e-01f, + 5.5685e-02f, -5.8924e-03f, -3.1967e-02f, + 8.8602e-02f, 2.9337e-01f, 1.3753e-01f, + 1.0063e-02f, 1.6348e-02f, 1.0063e-01f, + 3.6230e-02f, 1.7968e-02f, -1.1624e-01f, +-2.2488e-02f, 1.3474e-01f, -1.1419e-01f, + 2.8576e-02f, -7.4794e-02f, -7.7261e-02f, + 5.8874e-02f, -2.9448e-03f, 6.0207e-02f, + 1.4642e-01f, 1.2321e-01f, -2.4936e-01f, + 2.2609e-02f, -2.8171e-01f, 1.1510e-01f, + 2.6056e-02f, -2.7532e-02f, -4.7505e-02f, +-2.8762e-02f, -1.2610e-02f, -8.3766e-02f, +-5.0992e-02f, -5.7269e-03f, -7.0981e-02f, +-9.6191e-02f, -9.2384e-02f, -5.3328e-02f, + 2.3989e-01f, 3.9819e-01f, 1.8451e-01f, + 3.6888e-02f, 1.1023e-01f, 4.4804e-03f, +-4.4140e-03f, -4.8275e-03f, 2.0018e-02f, +-2.4346e-02f, -6.5546e-02f, -4.6065e-03f, + 2.2298e-01f, 2.8810e-01f, 1.4071e-02f, +-1.7315e-01f, -5.7961e-02f, -9.9136e-02f, + 3.6456e-02f, -1.5518e-02f, 6.4490e-02f, + 4.6983e-02f, 5.2743e-02f, 3.0802e-01f, + 6.7940e-02f, 5.8777e-03f, 3.1155e-01f, + 9.9510e-02f, 2.7974e-02f, -6.6716e-02f, + 3.7042e-01f, 2.0813e-01f, -3.1581e-02f, + 7.9064e-02f, -1.3699e-01f, -4.4722e-02f, +-8.4753e-03f, 8.0676e-02f, 1.5771e-01f, +-1.1467e-01f, 5.6269e-02f, 1.1369e-01f, +-1.4727e-02f, 3.7263e-02f, -2.0554e-01f, + 8.3383e-02f, 4.5848e-02f, -1.1732e-02f, + 4.5494e-02f, -2.1406e-01f, 6.0591e-02f, + 4.6503e-02f, -1.0362e-01f, 3.8794e-02f, +-4.6633e-01f, 1.4504e-01f, 1.4999e-01f, + 2.9642e-01f, -4.8807e-01f, -1.6012e-01f, + 1.6708e-01f, 9.5313e-02f, -7.5981e-02f, +-4.2655e-02f, 9.2470e-02f, -7.7242e-02f, +-2.1021e-01f, 1.2423e-01f, 1.4967e-02f, +-5.4129e-02f, 7.4355e-02f, -4.7068e-02f, +-1.6048e-01f, 9.8742e-02f, 4.4282e-02f, +-6.0187e-02f, 1.9495e-01f, 8.3291e-02f, +-7.5190e-02f, -6.8429e-02f, 3.7391e-02f, + 5.1413e-04f, 1.5098e-01f, -1.1549e-01f, + 1.6875e-01f, 1.8040e-01f, -1.3162e-01f, + 7.7101e-02f, 2.0816e-01f, 7.6289e-02f, +-1.7528e-02f, 1.4408e-02f, 3.7500e-02f, + 3.8647e-02f, 1.6850e-01f, 1.7535e-02f, +-2.8205e-02f, 1.0273e-02f, 1.6688e-01f, + 4.3676e-02f, 6.9895e-02f, 8.1063e-03f, +-2.6117e-01f, -1.0920e-01f, 5.2209e-02f, +-5.2749e-02f, -1.7062e-02f, -9.6808e-02f, + 2.7324e-02f, 9.1342e-02f, -5.0968e-02f, + 1.0689e-01f, 5.0565e-01f, 4.6004e-01f, +-6.6862e-03f, 3.4162e-03f, 3.3559e-01f, + 3.5084e-02f, 1.9123e-02f, 1.0073e-02f, + 1.6995e-01f, 3.4099e-01f, -4.0847e-01f, +-5.5317e-03f, 4.0230e-02f, -2.0305e-01f, +-8.9786e-02f, 1.9667e-01f, 3.8111e-02f, + 3.0607e-02f, -1.9084e-02f, -6.5114e-02f, + 8.5394e-02f, -1.3992e-01f, 1.4988e-02f, +-1.5926e-02f, -9.1200e-03f, -7.2328e-02f, + 1.3548e-01f, 7.1040e-01f, -9.4208e-02f, + 2.5411e-03f, -7.2159e-02f, 1.0848e-01f, +-8.9029e-02f, -8.6339e-02f, -2.7546e-02f, + 6.0378e-02f, 2.8401e-01f, -6.6550e-02f, +-3.0486e-02f, 5.0307e-02f, -1.1084e-02f, + 2.9732e-02f, 9.9960e-02f, -7.7408e-02f, + 3.4940e-01f, -5.6048e-01f, 2.9053e-02f, +-2.6991e-02f, 4.9637e-02f, -3.9322e-02f, +-1.0418e-02f, 1.0931e-01f, -6.1609e-02f, + 3.6057e-02f, 9.3866e-02f, -1.0339e-01f, +-1.8572e-02f, -2.0889e-02f, -7.4531e-02f, +-7.3236e-02f, -4.5908e-02f, 2.2705e-02f, +-1.5148e-02f, 2.1735e-01f, 2.2477e-02f, +-3.4153e-02f, -2.6939e-02f, -5.0167e-03f, + 6.6774e-02f, 2.0168e-01f, -7.5083e-02f, + 5.6608e-02f, 2.2799e-01f, -3.7473e-01f, +-7.2336e-02f, 4.4329e-02f, -3.6747e-02f, + 3.5355e-02f, 1.8671e-01f, -4.0167e-02f, + 1.2871e-01f, 3.5050e-01f, 1.8090e-01f, +-6.2429e-02f, 6.2184e-02f, 6.8804e-02f, +-8.0164e-02f, -2.4387e-02f, -5.0309e-03f, + 1.0089e-01f, -3.0008e-02f, 1.7251e-02f, +-9.4662e-03f, -1.4760e-02f, 7.3434e-03f, + 7.3290e-02f, 2.2546e-02f, -2.9015e-02f, + 7.9944e-02f, -2.6972e-01f, 7.1349e-02f, +-1.7026e-02f, 1.1461e-01f, -4.1288e-02f, +-5.3732e-02f, -2.4618e-01f, -1.2890e-02f, + 8.6133e-02f, 1.9503e-01f, 8.2202e-02f, +-1.0060e-03f, -4.5931e-04f, -1.8789e-02f, +-4.0843e-02f, -7.8149e-03f, -6.1464e-02f, +-7.9364e-02f, -5.9647e-02f, -5.4059e-03f, + 1.9553e-01f, -2.4079e-01f, -7.9538e-03f, + 5.3620e-02f, 1.4198e-01f, 6.5651e-03f, + 2.3512e-02f, -2.6609e-02f, -4.6435e-02f, + 1.2499e-02f, 5.1079e-02f, -2.2713e-02f, +-7.1554e-02f, 1.0608e-01f, 5.8972e-02f, + 1.8638e-01f, -2.1053e-01f, -6.4009e-02f, + 1.0851e-01f, 7.2187e-02f, 8.9722e-02f, +-4.5365e-04f, 1.0826e-01f, -6.4141e-02f, +-2.3874e-02f, -4.6307e-02f, -2.7813e-02f, + 1.8385e-02f, 9.4687e-02f, 6.8374e-02f, + 9.4526e-02f, 1.4432e-02f, 1.5937e-01f, + 1.1292e-01f, -3.4274e-01f, -1.0813e-01f, +-7.4636e-03f, 3.7101e-02f, 3.7226e-02f, + 3.7079e-02f, -3.9169e-02f, -3.7752e-02f, +-7.9021e-02f, 8.5978e-02f, 1.0958e-02f, +-5.8576e-02f, 5.5931e-02f, 4.8301e-02f, +-1.3402e-01f, -3.3809e-01f, -4.4369e-02f, + 1.4262e-01f, 6.5254e-02f, -3.3366e-01f, + 1.2416e-02f, -9.0492e-02f, -5.8205e-02f, +-1.4886e-01f, 4.0598e-02f, -1.4219e-01f, + 2.0223e-03f, -2.8673e-01f, -3.3622e-01f, + 1.9191e-02f, -2.2104e-02f, 1.9048e-02f, + 6.0021e-02f, 2.2520e-01f, -5.3972e-02f, + 1.6226e-01f, -2.1918e-01f, -5.2117e-02f, +-6.2363e-03f, 2.0266e-01f, -7.3323e-03f, + 1.1137e-01f, -1.9300e-02f, -5.4983e-02f, +-1.8338e-01f, 6.2511e-01f, -1.7909e-01f, + 1.7003e-01f, 1.7902e-01f, 5.4462e-02f, + 5.6847e-02f, -7.4696e-02f, -1.1354e-02f, + 1.0544e-01f, -1.4918e-01f, 4.8208e-02f, +-5.6262e-02f, -2.3303e-01f, -2.9916e-02f, +-3.3261e-02f, 1.3287e-01f, 1.9831e-02f, +-1.3907e-01f, -1.6180e-01f, -7.2323e-03f, +-5.1689e-02f, 6.3121e-02f, -1.4480e-01f, + 1.1143e-01f, 4.9625e-02f, -5.4369e-02f, +-3.9247e-01f, 2.3412e-01f, -3.6726e-02f, +-1.1468e-02f, 3.4045e-02f, 6.6454e-02f, +-5.0103e-02f, 6.1740e-02f, 4.2922e-03f, + 1.7669e-01f, -8.1250e-03f, 6.3694e-03f, +-6.7723e-02f, 7.4576e-02f, 1.0113e-02f, + 1.1264e-01f, -4.4691e-02f, -5.3575e-02f, + 3.4691e-02f, -1.2201e-02f, -8.4221e-02f, + 2.3677e-01f, 3.9073e-01f, 2.4710e-02f, +-8.4580e-02f, -1.0747e-01f, -6.5695e-02f, + 1.5386e-01f, 1.4041e-01f, 6.9961e-03f, + 2.6138e-02f, 2.3149e-02f, -1.8820e-02f, +-3.3541e-02f, 3.2089e-02f, -1.8916e-02f, + 1.0564e-01f, -7.5319e-02f, -5.4282e-02f, +-6.9388e-03f, -2.0873e-02f, 5.6100e-02f, + 2.3524e-02f, -6.4296e-02f, 5.8950e-02f, +-3.1415e-03f, -4.1203e-02f, 1.0781e-01f, + 1.7848e-02f, -2.9535e-02f, -1.6412e-02f, +-4.6649e-02f, 8.1277e-02f, -5.9918e-02f, + 8.1522e-02f, -9.2037e-02f, 8.1039e-03f, +-6.5541e-02f, 5.1811e-02f, -1.4380e-03f, + 5.0419e-02f, 9.3091e-03f, -2.8054e-02f, +-3.0979e-02f, -2.5366e-02f, 3.5265e-02f, +-3.7730e-02f, 5.7574e-02f, 3.4683e-02f, + 4.8819e-03f, -2.9519e-02f, 3.7740e-02f, + 6.4546e-02f, -3.7272e-01f, -8.5393e-02f, +-3.0223e-02f, -7.7899e-02f, 2.7365e-03f, + 2.2282e-02f, -3.3440e-02f, 1.9048e-02f, + 2.3275e-02f, -2.1153e-02f, -2.0385e-02f, +-4.6245e-02f, 2.2443e-02f, -3.0206e-02f, +-2.5302e-02f, -1.1418e-02f, 4.8228e-02f, + 5.8367e-02f, -4.3062e-02f, 2.2814e-02f, +-4.6279e-02f, 5.0052e-02f, 2.2961e-02f, +-5.4984e-02f, 1.4773e-01f, -2.5546e-02f, + 3.3025e-02f, -1.0138e-01f, 6.3886e-02f, + 1.2403e-02f, 1.6215e-02f, 1.0783e-02f +} +, +{ + 2.5042e-02f, -5.3266e-02f, 3.8484e-02f, + 3.7189e-03f, 1.0493e-01f, 1.4459e-01f, +-3.7442e-02f, -1.5744e-01f, 1.9957e-01f, +-1.9203e-02f, 1.6256e-02f, 4.2906e-03f, +-3.1637e-02f, 5.0287e-01f, -6.9504e-02f, + 1.4677e-03f, -8.9984e-02f, -9.0376e-02f, + 4.0578e-02f, 2.4004e-02f, 3.4044e-03f, + 7.5916e-02f, -1.3564e-01f, -9.0296e-02f, + 3.4156e-02f, 7.2494e-02f, -2.0037e-02f, +-6.4614e-02f, -1.7301e-03f, -3.3444e-02f, +-2.7950e-01f, 7.1351e-01f, 4.2825e-02f, + 2.4797e-02f, 5.4162e-04f, -8.9676e-02f, + 3.8002e-02f, -2.7692e-02f, -1.7757e-02f, + 1.9356e-01f, 1.9598e-02f, -1.0862e-01f, + 2.5734e-02f, 1.1703e-02f, -7.3912e-02f, +-6.0213e-04f, 1.6024e-01f, -6.4591e-03f, + 3.1779e-02f, -3.1049e-01f, 1.2684e-02f, +-1.0098e-01f, -1.8839e-01f, 5.1387e-02f, + 5.2004e-02f, 3.1489e-01f, 5.9716e-01f, +-7.2238e-02f, 3.4332e-01f, -2.0655e-01f, + 1.1013e-03f, -5.0328e-02f, -4.6118e-02f, + 9.4442e-04f, 2.7964e-02f, 1.7672e-02f, +-8.6022e-02f, -3.8280e-02f, 2.8017e-04f, + 3.3824e-02f, -6.7883e-02f, 1.0529e-02f, +-6.5982e-02f, 1.1385e-01f, 3.0091e-03f, + 1.2330e-01f, 6.1876e-01f, 5.7145e-02f, +-4.3835e-02f, -6.8186e-01f, -1.0917e-01f, + 3.2006e-02f, -2.0627e-03f, -6.9043e-02f, + 7.2219e-02f, -3.2393e-01f, -2.6657e-02f, + 1.3523e-02f, 1.8099e-01f, 4.9168e-02f, + 7.1367e-02f, 9.8283e-02f, 1.0425e-01f, + 2.2286e-01f, -5.9374e-01f, 1.0014e-01f, + 6.5700e-02f, 1.3618e-02f, -7.4045e-02f, + 1.0481e-01f, 3.0734e-02f, 1.0431e-02f, +-2.1314e-01f, -7.2817e-02f, 1.2036e-01f, +-5.4180e-02f, 1.0500e-01f, 2.7821e-02f, +-5.0657e-02f, 8.7702e-02f, 7.0234e-02f, + 9.0349e-02f, 1.4905e-01f, 1.1612e-01f, + 5.9924e-02f, 2.4928e-01f, 1.7078e-01f, +-5.9110e-02f, -7.4252e-02f, 9.8241e-03f, +-1.2006e-01f, 1.3879e-01f, -1.4322e-02f, +-7.5463e-02f, 1.4407e-02f, -6.9202e-03f, + 7.0279e-02f, 1.7065e-01f, -2.5150e-01f, +-2.6289e-02f, 3.8421e-01f, -2.2051e-01f, +-2.8918e-02f, 4.0074e-02f, -7.1296e-02f, + 1.0357e-01f, -1.8885e-01f, 2.3780e-02f, +-1.8884e-01f, -4.3326e-01f, -1.1465e-01f, + 3.3497e-02f, -1.3462e-01f, -3.4127e-02f, +-1.2731e-02f, 5.4326e-02f, -2.6581e-02f, + 5.1753e-02f, 6.8200e-03f, 4.3246e-03f, +-6.9963e-02f, -1.5618e-01f, 2.5192e-01f, + 2.2890e-02f, 6.1421e-02f, 5.2832e-02f, +-9.8369e-02f, -1.1452e-01f, 1.7420e-01f, + 2.0392e-01f, -1.1322e-01f, 9.8462e-02f, +-3.3547e-02f, -2.8993e-01f, 7.0080e-02f, + 8.2478e-02f, -1.9881e-01f, 1.2849e-01f, +-2.7802e-01f, -1.5621e-01f, 6.2712e-02f, + 1.3028e-02f, 1.4716e-01f, 2.0434e-02f, +-4.4071e-01f, 3.8359e-01f, -1.6655e-03f, +-2.0297e-01f, 1.5631e-01f, 7.7086e-02f, + 9.6714e-03f, -5.5842e-03f, 7.9155e-03f, + 1.4525e-01f, -3.2228e-01f, 1.1454e-01f, + 1.4527e-01f, -3.0399e-02f, -6.7043e-02f, + 9.4233e-03f, -1.1296e-02f, -1.0927e-01f, + 7.9300e-02f, 5.5286e-02f, -1.1558e-01f, + 3.8173e-01f, -5.4351e-02f, -1.7890e-01f, + 5.4882e-02f, 1.5119e-01f, 1.8363e-01f, +-8.8223e-02f, -9.0083e-02f, 4.8221e-01f, + 4.0890e-02f, 5.6429e-02f, -2.8538e-01f, + 1.2102e-02f, -1.8177e-02f, -3.1643e-03f, +-6.9064e-02f, 3.1853e-04f, -7.0113e-02f, + 9.7308e-02f, 1.0691e-01f, -6.5919e-02f, +-1.4536e-40f, -1.7049e-40f, -2.6781e-40f, + 4.5792e-40f, 1.4489e-40f, 1.3645e-40f, +-5.8774e-40f, -2.2505e-40f, -4.7571e-40f, + 3.3670e-40f, 1.5398e-40f, -3.3819e-40f, + 2.6303e-40f, -1.9434e-40f, -5.5555e-40f, +-4.3830e-40f, -2.8750e-40f, -3.0788e-41f, + 5.6364e-40f, 3.1307e-40f, -2.3064e-41f, + 2.8909e-40f, -5.8115e-40f, 2.9852e-41f, +-1.9273e-40f, -7.5503e-41f, -6.0335e-40f, + 5.8073e-40f, 2.9252e-40f, -1.3038e-40f, + 5.2260e-40f, 3.8172e-40f, -2.0389e-40f, +-2.1905e-41f, 1.8473e-40f, -2.9226e-40f, + 2.9957e-41f, 2.6068e-40f, 6.1324e-40f, +-4.3013e-41f, 5.1421e-40f, -4.1157e-40f, + 2.1416e-41f, -1.6614e-40f, -3.0843e-42f, +-4.3402e-40f, 2.8507e-40f, 1.1560e-40f, + 3.8826e-40f, -3.0797e-40f, -6.0685e-40f, + 5.4170e-40f, -6.1858e-40f, 9.3049e-41f, +-1.9491e-40f, -1.9211e-40f, -6.2723e-40f, + 3.9906e-40f, 1.2356e-40f, 3.8682e-40f, + 2.8630e-40f, 6.2303e-40f, 5.3034e-40f, +-4.1904e-40f, 4.8916e-40f, -3.6125e-40f, +-5.5393e-40f, -2.4980e-40f, -6.1877e-40f, + 2.7289e-40f, -1.8348e-40f, -5.6663e-40f, + 2.5152e-02f, -3.2878e-02f, 2.1626e-02f, + 1.9879e-01f, 2.9080e-02f, -3.0331e-03f, +-2.3380e-01f, -2.3578e-02f, 1.1871e-01f, +-3.1824e-02f, -5.5095e-02f, 3.1338e-02f, +-3.2199e-02f, -4.3820e-01f, 4.1391e-02f, +-4.1207e-02f, 3.7475e-01f, -1.8548e-01f, +-1.4460e-02f, -8.7834e-02f, -3.2343e-02f, + 2.4023e-01f, 7.1916e-01f, -1.8559e-01f, +-6.7635e-03f, -9.4409e-02f, -1.7890e-02f, +-5.8334e-02f, 1.8886e-01f, 6.1547e-02f, +-2.6152e-01f, 6.6722e-01f, -1.2486e-01f, +-4.8128e-02f, 1.0510e-01f, -4.2619e-02f, + 3.0101e-03f, 9.6380e-02f, 6.6140e-02f, + 1.0201e-01f, -2.3240e-01f, -1.8356e-01f, + 4.0019e-02f, 2.2985e-01f, -1.2980e-01f, +-1.1400e-01f, -1.9221e-01f, -3.4158e-02f, + 2.2871e-02f, -6.8684e-01f, -1.0856e-02f, + 2.6311e-02f, 2.5422e-02f, -1.5190e-02f, + 3.2182e-02f, -5.6346e-02f, 3.2655e-02f, +-1.6912e-02f, 8.4264e-02f, -7.9521e-02f, + 1.2788e-03f, -7.1110e-02f, 8.6585e-02f, +-4.2829e-02f, 1.0778e-01f, -6.8129e-02f, + 5.8156e-03f, -2.3998e-01f, 1.9052e-01f, +-4.1855e-02f, 1.0140e-01f, -1.7139e-02f, + 5.2301e-40f, -2.9923e-40f, 3.8688e-41f, + 3.1575e-40f, 1.1504e-40f, 5.5655e-40f, +-3.4499e-40f, 2.3050e-40f, -6.3766e-41f, + 1.3282e-40f, 4.5849e-40f, 3.5308e-40f, +-2.6657e-41f, 5.9829e-40f, 3.2791e-40f, +-2.8348e-40f, 2.5810e-40f, 5.5791e-40f, + 4.2613e-40f, 3.2607e-40f, -2.0789e-40f, +-3.9054e-40f, -2.5608e-40f, -2.7638e-40f, + 4.5027e-40f, 2.7065e-40f, -4.5593e-40f, + 1.6336e-40f, -2.0391e-40f, -5.9017e-41f, +-7.9899e-41f, -2.9870e-40f, 5.6390e-40f, +-2.5560e-41f, -1.9786e-40f, 9.4700e-41f, +-7.4049e-41f, -2.3902e-40f, -2.8497e-40f, +-1.8912e-40f, -1.5589e-40f, 5.5463e-40f, +-2.1782e-40f, -1.9532e-40f, -2.3785e-40f, + 2.7539e-40f, 4.0214e-40f, 2.0732e-40f, + 7.0120e-41f, -4.4200e-40f, 7.3787e-41f, + 2.6452e-40f, 1.1970e-40f, 2.8298e-40f, + 5.2721e-40f, 1.9304e-40f, -3.8489e-40f, +-3.9759e-40f, 2.6184e-40f, 1.2594e-40f, + 1.5831e-40f, 3.7179e-40f, -3.4915e-40f, +-1.7681e-40f, -6.9657e-41f, -4.0746e-40f, + 8.0894e-41f, 1.6950e-40f, -1.0574e-40f, +-1.0590e-40f, 2.8466e-41f, -2.7558e-40f, +-5.4027e-40f, 4.4355e-41f, -3.2144e-40f, +-4.8838e-41f, -3.8595e-40f, 2.5064e-40f, + 4.0365e-40f, -1.0195e-40f, 4.8356e-40f, + 4.4499e-40f, -4.4871e-40f, -2.4561e-40f, + 4.1687e-40f, 5.2239e-40f, -5.7603e-41f, +-1.5211e-40f, -3.5768e-40f, 3.6385e-40f, + 1.6089e-40f, 4.1624e-40f, 4.5114e-40f, + 1.6438e-40f, -3.6331e-40f, 6.4961e-41f, + 5.0899e-40f, 6.1036e-40f, 2.4828e-40f, + 5.8681e-40f, -5.7259e-40f, -1.5371e-40f, + 5.2654e-40f, 4.7412e-40f, -2.0265e-40f, +-4.8621e-41f, 4.9497e-40f, 3.0176e-40f, + 4.2235e-40f, 4.5381e-40f, 4.6501e-40f, +-1.6124e-40f, -1.9449e-40f, 5.1497e-40f, +-1.2891e-40f, -1.6549e-40f, 4.8348e-40f, +-2.0735e-40f, 1.3423e-41f, -4.4109e-40f, +-5.4218e-40f, -1.1537e-40f, -1.1664e-40f, + 5.6006e-40f, 3.4109e-40f, -3.1434e-40f, + 3.4969e-40f, -5.3459e-40f, 3.9245e-41f, + 2.4028e-40f, 5.7774e-40f, -6.2973e-40f, + 1.8802e-40f, -4.6258e-41f, -5.0716e-40f, + 3.4962e-40f, -6.2313e-41f, -2.7290e-40f, +-5.2709e-40f, -3.2225e-40f, 2.4245e-40f, +-3.6300e-40f, -2.0794e-40f, 4.0541e-40f, +-3.5157e-02f, 6.8337e-02f, 1.6149e-02f, +-5.8650e-03f, 6.0605e-01f, 3.1738e-02f, + 9.3306e-02f, 2.1499e-01f, 1.3609e-01f, + 6.4043e-02f, -1.0253e-02f, -6.2813e-04f, + 4.6828e-02f, -3.9619e-01f, -9.2633e-03f, +-8.1752e-02f, 9.9083e-02f, 4.4296e-03f, + 7.1594e-02f, 3.9860e-02f, 8.1088e-02f, + 1.7750e-01f, -1.2381e-01f, 1.4476e-01f, + 2.3416e-02f, 1.2819e-01f, 1.0816e-02f, + 5.5296e-02f, 5.5199e-02f, -2.1253e-02f, + 1.7214e-01f, 2.0542e-01f, -3.7859e-03f, + 1.2831e-01f, 3.2087e-02f, -5.1851e-02f, +-2.3686e-02f, 1.2271e-01f, -1.6009e-02f, +-2.0176e-01f, 7.4757e-01f, -3.4526e-02f, +-4.7055e-02f, -3.7099e-01f, -1.9216e-01f, +-8.8030e-02f, -2.5853e-02f, -1.7087e-02f, +-2.0533e-01f, 1.5214e-01f, -1.8639e-03f, +-1.1236e-01f, -2.4612e-01f, 6.3094e-02f, + 2.3829e-02f, -5.0078e-03f, 5.3854e-02f, +-9.6934e-03f, 3.7047e-02f, 4.7325e-01f, + 5.6975e-03f, -8.6108e-02f, 6.5569e-02f, +-3.9768e-03f, 2.0580e-02f, -4.1931e-02f, + 6.9577e-02f, -1.0416e-01f, -2.5037e-03f, +-1.9198e-02f, 6.2027e-02f, -1.0833e-02f +} +, +{ +-5.3430e-40f, 2.5717e-41f, 5.7504e-40f, + 7.1679e-41f, 6.2076e-40f, -8.4201e-41f, +-4.2111e-40f, 3.4851e-40f, 1.3009e-40f, + 3.3016e-40f, -7.6473e-41f, -1.8392e-40f, + 2.2773e-41f, 1.2087e-40f, 1.1565e-40f, + 6.5190e-41f, 2.0075e-40f, 2.5796e-40f, + 5.0575e-40f, -2.6261e-40f, -2.5486e-40f, +-3.9886e-40f, -6.0644e-40f, 2.9264e-40f, + 8.9627e-41f, -3.0550e-40f, -2.3456e-40f, +-4.8855e-40f, -4.8867e-40f, -5.0492e-40f, +-1.0706e-40f, 5.3827e-40f, -1.6413e-40f, + 1.4714e-40f, -3.4024e-40f, -4.4881e-40f, + 3.2361e-40f, 2.0858e-40f, 3.8836e-40f, + 2.0949e-40f, 5.9633e-40f, -1.7878e-41f, +-4.1980e-40f, -4.4383e-40f, 2.7859e-40f, + 7.0317e-42f, -8.9973e-41f, 5.8700e-41f, + 1.8411e-40f, -3.6097e-42f, 2.7362e-40f, + 5.4341e-40f, 6.0305e-40f, 5.9004e-40f, + 5.2692e-40f, -6.3449e-41f, 1.2075e-40f, + 7.5297e-41f, 8.9267e-41f, 4.9139e-40f, +-1.4609e-40f, 3.1821e-41f, 2.3288e-40f, + 3.1748e-41f, -3.8052e-40f, -2.4322e-40f, +-5.7959e-40f, 6.1966e-40f, 3.4964e-40f, +-5.6776e-40f, -6.8327e-41f, -3.3777e-41f, +-5.9108e-02f, 3.5468e-02f, -2.8772e-02f, + 6.8602e-01f, 1.4232e-01f, 1.1954e-02f, +-3.8234e-02f, 7.1837e-02f, -1.8832e-02f, + 4.7972e-02f, 1.1623e-02f, -2.1687e-03f, +-4.9744e-01f, 2.7751e-01f, 1.7862e-02f, + 7.4286e-02f, 3.1309e-03f, 1.1030e-03f, +-6.1084e-01f, -8.5679e-03f, 9.4956e-03f, +-4.5246e-01f, -1.2126e-01f, -3.7368e-02f, + 2.5624e-02f, 1.2087e-02f, -1.5431e-02f, + 6.0313e-40f, 1.8404e-40f, -7.2006e-41f, + 6.0697e-40f, -9.1199e-41f, 5.8965e-40f, + 5.4830e-40f, 1.3014e-40f, 1.5585e-41f, +-3.6027e-02f, -6.3004e-03f, 1.5237e-02f, + 6.0743e-01f, 9.2523e-02f, -4.7370e-03f, + 3.4407e-02f, -8.3823e-02f, 1.6898e-02f, + 5.7527e-40f, -5.0621e-40f, -2.9035e-42f, + 3.8199e-40f, -2.2913e-40f, -5.0895e-40f, + 4.0079e-40f, 5.1744e-40f, -3.3006e-40f, + 6.1448e-40f, 1.2347e-40f, -3.1673e-40f, + 7.3214e-41f, 5.2143e-40f, -2.6071e-40f, + 1.6109e-40f, -2.0298e-40f, 9.5817e-41f, + 6.9876e-02f, -2.9290e-02f, 3.2294e-03f, +-4.2632e-01f, 1.5789e-01f, 3.6809e-02f, + 2.1220e-02f, 1.6531e-04f, 6.8502e-03f, +-6.5221e-02f, 8.8059e-02f, 5.7934e-03f, +-1.7280e-01f, 1.5303e-01f, 1.7663e-01f, +-1.2908e-01f, -1.1749e-01f, 5.7887e-02f, + 1.0685e-01f, 2.2763e-01f, 3.3796e-02f, + 1.7629e-01f, 3.8882e-01f, 6.3540e-02f, + 6.4707e-02f, 1.0046e-01f, -8.1911e-02f, +-3.9718e-03f, 4.6416e-02f, 4.7357e-02f, + 7.3694e-02f, -1.6444e-01f, 2.4784e-02f, +-3.0808e-03f, 2.7399e-02f, -2.9216e-04f, + 2.4428e-40f, -3.0160e-40f, 2.3184e-40f, +-4.9114e-40f, 5.6685e-40f, -3.6020e-40f, + 2.2618e-40f, -2.8145e-40f, 2.1149e-40f, + 2.3559e-02f, -8.6949e-02f, -3.8350e-02f, +-2.9547e-01f, 7.0187e-01f, -8.3979e-02f, +-2.8576e-02f, -1.6538e-01f, -5.2465e-02f, +-1.6016e-40f, -1.4760e-40f, -2.1977e-40f, + 4.3180e-40f, 4.1724e-40f, -1.2969e-40f, +-1.3023e-40f, -1.0095e-40f, -1.5965e-40f, +-4.0721e-40f, -4.1747e-40f, -4.3706e-40f, +-4.2838e-40f, -4.5507e-40f, -4.6023e-40f, +-3.7435e-40f, -3.9889e-40f, -4.2249e-40f, +-1.2429e-01f, -3.5062e-01f, -1.1418e-01f, +-4.0787e-02f, 6.1690e-01f, -1.0085e-01f, + 1.6098e-02f, 8.5100e-02f, -1.1621e-02f, + 3.0709e-40f, -4.4880e-40f, -2.7530e-41f, +-1.2649e-40f, -5.3936e-40f, 5.0995e-41f, + 4.4003e-40f, -2.1211e-40f, -6.6422e-43f, +-1.8989e-40f, -3.6631e-40f, 4.1392e-40f, +-3.9057e-40f, -5.5599e-40f, 6.9979e-41f, + 3.8983e-40f, 5.6737e-41f, 2.3997e-40f, +-9.4862e-41f, 2.4256e-40f, -3.7040e-40f, + 1.6374e-40f, 3.5439e-42f, -1.0385e-40f, + 3.6145e-40f, -2.4342e-41f, -3.0115e-40f, +-6.0009e-40f, -5.2386e-41f, -1.2504e-40f, + 2.9237e-40f, -1.2290e-40f, -1.1502e-40f, +-3.5887e-40f, -6.1810e-40f, -1.6289e-41f, + 2.5438e-41f, 5.1229e-40f, -2.4915e-40f, + 1.3516e-40f, 3.3553e-40f, 8.5831e-41f, +-8.5122e-41f, 3.7625e-41f, 2.5507e-40f, +-1.5828e-40f, 2.1991e-40f, -1.5628e-40f, +-5.3110e-40f, 5.1395e-40f, -5.8162e-40f, +-3.1571e-40f, -5.5139e-40f, 1.2299e-40f, + 4.8855e-40f, -9.3940e-41f, -6.2534e-40f, +-3.3275e-40f, -2.4982e-40f, -1.2956e-40f, +-6.0047e-40f, -1.8712e-41f, -7.3274e-42f, +-2.8519e-40f, 3.5541e-40f, 2.4485e-40f, +-8.1435e-41f, -2.7091e-40f, 7.1206e-41f, +-5.9519e-41f, -2.5552e-40f, -3.6189e-40f, + 7.7038e-02f, -1.6317e-02f, -2.4118e-02f, +-4.3086e-02f, -2.1512e-01f, 1.2288e-01f, + 1.8237e-01f, -1.5438e-01f, -1.1346e-01f, +-4.6141e-02f, -4.0750e-02f, -5.6414e-04f, +-1.5640e-01f, -3.4506e-01f, -1.4441e-02f, +-2.0278e-01f, -3.1403e-01f, -6.2542e-02f, +-1.9622e-02f, 1.6348e-02f, 6.9859e-03f, +-9.3142e-02f, 1.0368e-02f, -5.6585e-02f, + 8.4213e-02f, 1.0776e-01f, -1.0315e-01f, + 8.7873e-41f, -5.3947e-40f, 1.1714e-40f, + 7.5534e-41f, -1.1871e-40f, -5.4012e-40f, + 3.8269e-41f, -1.4913e-40f, -3.1802e-40f, +-3.4707e-02f, 1.2518e-02f, 9.4679e-03f, + 1.2254e-01f, 1.9394e-01f, 2.6530e-02f, + 2.2413e-01f, -1.6298e-01f, -6.1446e-02f, +-1.1042e-42f, -2.7255e-40f, -5.5067e-40f, + 3.8272e-40f, 4.9956e-40f, -3.2074e-41f, + 2.8351e-40f, 4.2501e-40f, 3.9389e-41f, + 6.1941e-40f, -4.8790e-40f, -3.4137e-40f, + 2.2577e-40f, -5.7183e-40f, -8.6861e-41f, + 5.7021e-40f, -3.2349e-40f, 1.9655e-40f, + 9.1180e-02f, 5.6665e-02f, -6.5437e-04f, + 1.1759e-01f, 2.7517e-01f, 1.9143e-01f, + 9.7905e-02f, 6.6707e-02f, 8.6535e-02f, + 8.8717e-03f, 3.0913e-02f, 6.6909e-03f, +-8.1791e-02f, -4.7883e-01f, 7.4920e-02f, + 4.5843e-01f, -1.0410e-01f, 1.6655e-01f, +-4.7094e-03f, 3.4769e-02f, -1.3291e-02f, +-8.5570e-03f, -4.0038e-01f, 1.8418e-01f, +-1.4696e-01f, 3.2279e-01f, 2.5712e-02f, +-2.6207e-01f, -4.6150e-02f, -6.4099e-02f, +-3.2623e-01f, -1.8984e-01f, -5.7891e-02f, +-2.2088e-01f, -4.2042e-02f, -2.5307e-02f, + 1.0260e-40f, 5.0443e-40f, 7.5150e-41f, + 1.4402e-40f, -5.1952e-40f, -5.3810e-40f, + 6.2240e-40f, 1.8661e-40f, -8.2983e-41f, + 7.1850e-02f, 4.8770e-02f, -1.5081e-02f, + 4.8072e-01f, 2.5477e-01f, 3.8197e-02f, + 2.6011e-01f, 2.4610e-01f, -3.6167e-02f, + 3.8901e-40f, 1.6760e-41f, 2.8471e-40f, + 3.1983e-40f, 1.2460e-40f, -4.3961e-40f, + 3.9187e-40f, 2.7818e-40f, -9.1501e-41f, +-2.3320e-40f, -1.9998e-40f, -2.8132e-40f, +-2.9552e-40f, -3.9643e-40f, -5.1375e-40f, +-1.6686e-40f, -5.3138e-40f, -2.6988e-40f, + 2.5623e-02f, 2.6942e-02f, 2.4342e-02f, +-9.9084e-02f, 5.2974e-01f, -6.7983e-02f, +-2.2454e-01f, 1.1507e-01f, 2.0364e-02f, + 3.4852e-01f, -3.1091e-01f, 8.1154e-02f, +-3.2205e-01f, 1.7103e-01f, 2.4162e-01f, +-2.6892e-03f, 2.4142e-02f, 5.5540e-02f, +-4.5753e-02f, -5.0097e-01f, 1.7503e-01f, + 1.4058e-01f, 1.1311e-01f, 1.5945e-01f, +-5.3975e-02f, 5.2326e-02f, -6.2382e-02f, + 9.4114e-02f, -5.6812e-01f, -1.2081e-01f, +-8.5809e-02f, -9.8661e-03f, -2.3064e-02f, +-1.6453e-03f, -1.8328e-02f, 2.4282e-03f, + 1.5943e-40f, 4.6894e-40f, -6.2730e-40f, + 3.8054e-40f, -3.7914e-41f, -1.4429e-40f, + 1.6925e-40f, 5.1566e-41f, -1.7909e-40f, +-3.7920e-02f, 2.4698e-01f, 5.0019e-02f, +-1.4246e-02f, 2.8739e-01f, -5.4704e-02f, + 7.9436e-02f, -2.7838e-02f, -3.4191e-02f, +-3.3565e-40f, 2.1368e-40f, 6.7346e-42f, + 5.6681e-40f, -5.5776e-40f, -2.7705e-40f, +-2.2966e-40f, 1.1692e-40f, -2.5187e-40f, + 4.4806e-40f, -4.8424e-40f, -9.1436e-41f, +-4.3250e-40f, -2.0721e-40f, -2.0050e-40f, +-5.1061e-40f, 2.6405e-40f, -3.0913e-40f, +-1.2078e-01f, 3.1948e-01f, 1.0082e-02f, +-1.0781e-02f, 8.0720e-02f, -4.6330e-02f, +-1.8084e-02f, -2.2846e-02f, -5.5861e-03f, +-3.2400e-02f, -1.7329e-01f, -2.7995e-02f, +-5.3680e-02f, 4.1310e-01f, -9.4691e-02f, + 7.6938e-02f, -4.9596e-02f, 1.9649e-01f, + 3.2594e-02f, 1.1544e-01f, -1.8501e-02f, + 7.0248e-02f, -6.9838e-02f, -5.4278e-02f, +-2.9317e-02f, -1.4890e-01f, 7.8661e-02f, + 3.7685e-02f, 5.9594e-02f, 8.9527e-02f, + 2.2957e-01f, -2.9681e-01f, -1.6329e-01f, +-1.3206e-01f, -4.3808e-02f, 3.8854e-02f, + 1.7529e-40f, -3.8429e-41f, 1.4443e-40f, +-4.0829e-40f, -2.5643e-40f, -5.4821e-40f, + 1.6827e-40f, -1.1628e-40f, 2.2441e-40f, + 5.2451e-02f, 1.0179e-01f, 4.8487e-02f, +-2.1020e-01f, -4.4345e-01f, -8.7642e-02f, + 7.0958e-02f, 1.9934e-01f, -2.1090e-02f, +-3.0795e-41f, 2.7921e-40f, 2.8491e-40f, +-2.1154e-40f, 9.8876e-41f, -8.8824e-41f, + 2.6552e-40f, 2.5767e-40f, -3.8369e-40f, + 6.1348e-40f, -3.4170e-40f, -1.7109e-40f, +-3.3080e-40f, 5.4199e-41f, -1.7512e-40f, + 1.8363e-40f, -4.4080e-40f, -2.5508e-40f, +-4.0716e-02f, -2.8531e-01f, 3.9981e-02f, + 2.2278e-02f, 5.6661e-01f, -8.3890e-02f, +-7.7331e-02f, -9.3843e-02f, 1.5584e-02f +} +, +{ +-3.6751e-40f, -5.4562e-41f, 6.1860e-40f, + 8.9003e-41f, 5.5262e-40f, 3.9537e-40f, +-2.1258e-42f, -3.1069e-40f, -7.6225e-41f, +-1.2220e-02f, -8.6886e-02f, 1.0714e-02f, + 1.1656e-02f, -7.3635e-02f, 5.9427e-02f, + 4.8518e-03f, 1.3543e-01f, 1.4668e-02f, +-1.7505e-02f, -2.0691e-02f, -1.4507e-02f, + 2.6157e-02f, 7.4109e-02f, 1.2822e-02f, +-1.9737e-02f, -4.9281e-02f, 8.5962e-03f, + 5.6236e-40f, 2.4616e-40f, 1.6384e-40f, +-3.9469e-40f, -1.7094e-40f, 1.9285e-40f, +-1.3634e-40f, -1.5785e-40f, 6.4184e-41f, +-1.2752e-02f, 2.3150e-02f, -5.3355e-03f, +-5.9667e-02f, -3.9580e-01f, -7.0033e-02f, +-2.2612e-02f, 1.9176e-02f, 1.0588e-02f, + 8.0027e-04f, 3.2242e-01f, -2.2566e-02f, + 8.7850e-03f, -2.4025e-01f, 4.6123e-02f, +-1.9038e-02f, -8.5750e-03f, -4.8153e-03f, +-1.3049e-03f, -5.7771e-03f, 9.6437e-03f, + 3.2477e-02f, 2.4482e-01f, 4.0580e-02f, + 1.3194e-02f, -4.6602e-01f, -6.6163e-02f, +-1.0647e-01f, 7.3328e-02f, 2.5871e-02f, +-7.0883e-02f, -9.2725e-02f, -1.5185e-02f, + 1.1804e-02f, 1.7784e-03f, -4.4099e-03f, +-4.9226e-40f, -1.3081e-40f, -3.5969e-40f, + 4.3539e-40f, -2.9631e-40f, 2.3531e-41f, + 5.6191e-40f, 6.1545e-41f, -1.1112e-40f, +-1.1880e-02f, -3.1884e-02f, -2.0850e-02f, +-6.8633e-03f, 1.6422e-01f, 1.0281e+00f, + 3.5887e-03f, 2.1180e-01f, -1.0094e-01f, +-1.5103e-02f, -4.9074e-02f, -1.7702e-02f, + 7.2119e-02f, 3.3199e-02f, -9.7082e-04f, + 5.5383e-02f, 1.0343e-01f, 2.5156e-02f, + 2.9049e-40f, -1.6397e-40f, -8.8848e-41f, +-6.2827e-40f, 8.1281e-41f, 5.2909e-40f, +-4.1132e-40f, 1.5751e-40f, 1.5400e-40f, +-7.3765e-02f, -4.9723e-02f, 4.9357e-02f, +-2.4207e-02f, -1.0291e-01f, -1.4001e-03f, +-1.2751e-02f, 4.2805e-03f, 1.8934e-03f, + 2.6862e-02f, 1.1634e-01f, 4.5666e-02f, +-4.7351e-03f, -4.1593e-01f, 3.6082e-02f, + 1.1446e-02f, -5.2026e-03f, 1.8672e-02f, +-7.0960e-04f, -6.7877e-03f, 9.6674e-03f, +-4.9952e-03f, 8.8664e-02f, -2.7707e-02f, + 8.5309e-02f, 5.5513e-02f, -7.6230e-02f, + 3.6354e-02f, 9.7794e-02f, 1.1687e-02f, + 2.6847e-02f, 3.2565e-01f, -8.7710e-03f, +-2.0372e-02f, -1.9090e-02f, -3.2566e-03f, +-5.5592e-40f, 7.4408e-41f, 3.5576e-40f, + 2.7758e-40f, 4.5458e-41f, -6.2347e-40f, + 9.9739e-41f, -1.6078e-40f, -5.2900e-40f, + 1.1500e-02f, -3.0675e-01f, -3.0079e-02f, + 1.5080e-02f, -2.4292e-01f, 1.2736e-01f, +-1.9513e-02f, -1.9376e-02f, -8.5960e-02f, +-1.0241e-01f, -2.1312e-02f, -3.1999e-02f, +-6.3598e-02f, 1.5187e-01f, 1.2279e-01f, + 1.5695e-03f, 1.1376e-01f, 5.2648e-03f, + 2.6415e-40f, 3.0508e-40f, 3.6407e-41f, +-1.4403e-40f, 2.8942e-40f, -1.0089e-40f, + 2.2362e-41f, 1.9843e-40f, -1.5509e-40f, + 1.3269e-01f, -3.1031e-01f, -4.4091e-02f, + 4.6385e-03f, 2.1411e-02f, 5.7141e-02f, + 2.0724e-02f, -3.5406e-02f, 2.5717e-03f, +-5.5922e-02f, 7.1404e-01f, -2.9852e-02f, + 1.3041e-02f, 3.9373e-02f, -2.4515e-01f, + 4.4278e-03f, 2.1557e-02f, -8.4940e-03f, + 1.3677e-02f, -3.5183e-02f, 1.2391e-02f, +-9.2405e-02f, 2.9650e-01f, 6.9695e-02f, +-3.3125e-02f, 3.4700e-01f, 1.4552e-01f, + 2.7357e-02f, 5.2133e-01f, -5.7571e-02f, + 2.7580e-02f, 1.0381e-01f, 1.3678e-02f, + 4.9260e-03f, -4.4419e-02f, 7.0651e-04f, + 2.9472e-40f, -5.2892e-40f, -3.6567e-40f, + 4.9403e-40f, -6.2132e-40f, -6.2920e-40f, +-1.5156e-40f, -3.6134e-40f, 5.2432e-40f, +-5.0427e-03f, -2.8247e-03f, -5.3734e-02f, +-1.5918e-02f, 1.8325e-01f, -1.7834e-01f, +-5.1774e-03f, 8.0009e-02f, 5.6296e-03f, + 3.1480e-02f, 2.0665e-02f, 2.7806e-04f, + 7.3085e-02f, 7.7660e-01f, 1.1979e-01f, + 1.9979e-02f, 1.6629e-01f, 2.3216e-02f, +-5.9701e-40f, 9.5583e-41f, 1.8231e-40f, +-3.3216e-40f, -4.1253e-40f, -3.3326e-40f, + 1.7131e-40f, 2.9588e-40f, -2.2520e-40f, +-1.3337e-01f, -4.2777e-01f, -1.3569e-01f, + 2.9915e-02f, -2.7016e-01f, -3.7454e-03f, +-1.3574e-02f, -3.6298e-02f, -1.6571e-02f, + 4.2530e-02f, -4.2299e-02f, 1.4320e-01f, + 1.4371e-02f, -1.1289e-01f, -3.8829e-02f, + 5.1689e-03f, 1.5804e-02f, 1.6125e-03f, +-3.4601e-03f, -7.2087e-03f, -5.5514e-04f, + 4.4568e-02f, 1.3621e-01f, -4.3811e-02f, + 1.1350e-02f, -2.8417e-01f, 3.1553e-02f, +-7.8854e-02f, -2.0316e-01f, 7.7746e-03f, +-1.1437e-02f, 2.1557e-01f, -1.9479e-02f, +-1.3511e-02f, -2.0339e-02f, -1.0276e-02f, +-8.8977e-41f, 5.9533e-40f, -3.1413e-40f, +-3.1892e-40f, 5.5204e-40f, -5.0634e-40f, +-2.4932e-41f, 4.3474e-41f, 6.2961e-40f, + 4.7864e-03f, 5.7125e-02f, -1.5468e-02f, +-3.9614e-03f, -2.9042e-02f, 2.8347e-01f, +-1.0133e-02f, 8.2745e-02f, -1.0450e-01f, + 5.9537e-03f, 1.4050e-02f, 1.9802e-04f, + 2.4964e-02f, 1.3077e-01f, -4.7314e-02f, + 6.2744e-03f, -1.9068e-01f, 5.2593e-02f, +-2.0550e-40f, -2.4231e-40f, 3.3927e-40f, +-3.9609e-41f, 2.2262e-40f, 1.8866e-40f, + 2.0788e-40f, -1.8012e-40f, -1.9375e-40f, +-4.7530e-03f, -1.2315e-01f, 8.2373e-03f, +-9.2412e-02f, 1.7156e-01f, 1.1176e-02f, +-1.4081e-02f, 1.4694e-02f, -1.9475e-02f, +-1.5269e-02f, -3.8430e-02f, -7.4717e-02f, + 3.3361e-02f, -1.1956e-01f, 4.2304e-01f, +-2.9924e-03f, -3.3035e-02f, -3.6560e-02f, +-1.2386e-02f, 6.3762e-03f, -3.7047e-02f, + 1.3839e-02f, -3.6358e-02f, 4.3609e-02f, +-8.3692e-03f, 4.5794e-01f, -3.0761e-01f, + 2.2287e-02f, 2.5360e-02f, -6.1253e-03f, +-1.8992e-02f, -4.0078e-01f, 7.3821e-02f, + 5.6517e-03f, 4.2348e-02f, -2.5642e-02f, + 5.5659e-40f, -6.1219e-40f, 4.1493e-40f, + 5.7719e-42f, -3.7181e-40f, -3.3260e-40f, +-4.8241e-41f, 5.2207e-40f, -1.2199e-40f, +-1.2074e-02f, 1.7647e-01f, 1.1882e-02f, + 6.4764e-03f, -2.3742e-01f, -1.8033e-01f, + 2.5866e-02f, 6.5985e-02f, 3.7191e-02f, + 5.1047e-02f, -3.0457e-02f, 1.2531e-02f, +-1.3252e-01f, 1.2593e-01f, -6.3717e-02f, + 4.0794e-02f, -1.4786e-02f, 1.7139e-02f, + 2.4343e-40f, -1.7451e-40f, 2.0169e-40f, +-5.5166e-40f, 2.4201e-40f, -2.5701e-40f, + 2.9947e-40f, 2.9321e-40f, -1.6015e-40f, +-3.6598e-02f, -1.8520e-03f, -1.6999e-01f, +-8.6806e-02f, -7.7266e-02f, -9.6042e-02f, +-2.1342e-02f, 2.5793e-02f, -7.2541e-03f, + 3.0667e-02f, -2.6287e-01f, 3.0592e-02f, +-4.5559e-02f, -1.4716e-01f, 2.0932e-01f, +-5.8472e-03f, -1.0023e-02f, 1.2134e-02f, +-1.3284e-02f, 2.0538e-02f, -5.4476e-04f, + 5.8096e-02f, -1.4790e-02f, -2.0158e-02f, +-3.9654e-02f, -2.2069e-01f, -1.5089e-01f, +-1.8966e-01f, -1.6834e-01f, 9.8934e-02f, + 8.2326e-02f, 7.5585e-02f, -1.7188e-02f, +-1.4985e-02f, 2.1823e-02f, -7.7015e-03f, + 1.8353e-40f, 4.8298e-40f, -2.0568e-40f, +-3.7196e-40f, -5.7237e-40f, 1.0648e-40f, + 9.4960e-41f, 3.0411e-40f, 1.3294e-40f, +-1.4884e-02f, 4.9767e-02f, -3.0288e-02f, + 8.9874e-03f, -1.0290e-01f, 3.1344e-01f, + 5.9735e-03f, -2.0813e-01f, -6.6145e-03f, + 1.6592e-02f, 3.0529e-05f, -1.0180e-02f, +-4.8683e-02f, 1.4025e-01f, 2.9237e-02f, +-2.3334e-02f, -9.6638e-02f, -1.0268e-02f, +-4.9497e-41f, -5.6377e-40f, -2.0142e-40f, + 2.1230e-40f, 1.6067e-40f, 3.4830e-40f, +-4.9031e-40f, -3.0290e-40f, -2.9060e-40f, + 3.4053e-02f, -8.9560e-02f, -4.4479e-02f, + 4.2128e-02f, 6.9253e-02f, -7.1096e-03f, + 4.2358e-02f, -1.7215e-02f, 9.0389e-03f, + 1.8129e-02f, -1.4785e-01f, 1.1267e-01f, +-7.1637e-02f, 5.5595e-01f, -1.0569e-02f, + 1.8481e-02f, -4.7556e-02f, -1.1185e-02f, +-1.1766e-02f, -8.5959e-03f, -3.0046e-02f, +-2.1081e-03f, 1.1518e-01f, -8.4419e-02f, +-7.5829e-02f, 1.8199e-01f, -9.7726e-03f, + 3.6473e-02f, 1.8761e-01f, 4.9495e-03f, +-6.9640e-02f, -2.8775e-01f, 3.6149e-02f, + 9.6345e-04f, 1.3967e-02f, -6.0015e-03f, + 2.9861e-40f, 3.9190e-40f, 5.3741e-40f, + 3.8059e-40f, 4.7113e-40f, 5.9498e-40f, +-5.0640e-40f, -4.1610e-40f, 6.2009e-40f, +-2.3464e-03f, -7.3888e-02f, 3.4701e-02f, +-5.2257e-04f, 3.8444e-02f, -5.3735e-01f, +-1.7970e-03f, 9.0298e-02f, 5.3151e-02f, +-2.6033e-02f, 1.2973e-02f, 4.9147e-03f, + 2.3005e-02f, 1.7045e-01f, 2.4715e-02f, + 2.7981e-02f, -8.4662e-02f, -9.4778e-03f, + 5.3019e-40f, -2.1800e-40f, 1.5281e-40f, +-1.0282e-40f, 1.8040e-41f, 1.3929e-40f, +-5.9679e-40f, -5.2958e-40f, 1.4429e-40f, + 3.4325e-02f, -1.7240e-01f, -4.9645e-02f, +-2.4341e-02f, 5.2652e-02f, -1.1188e-02f, +-3.6336e-03f, 4.2148e-04f, 3.3086e-03f, + 5.5059e-03f, 1.7744e-01f, -2.8681e-02f, +-3.4868e-03f, -1.4569e-01f, 1.6508e-02f, + 4.6766e-03f, -1.7963e-02f, -2.6397e-03f, + 4.3618e-03f, -4.2793e-03f, -4.7820e-04f, +-4.2795e-02f, 2.0070e-01f, 3.8402e-02f, + 5.0586e-02f, 2.1910e-01f, -3.4381e-02f, + 5.7625e-02f, 4.2314e-01f, -1.9732e-02f, + 3.4811e-02f, -2.3033e-01f, 1.1477e-02f, +-7.3744e-03f, 1.9112e-02f, 4.2251e-03f +} +}; +__device__ __constant__ static const float biasL[8][8] = +{ +{ + 0.0272f, -0.5743f, -0.0333f, -0.0334f, 0.0082f, -0.0263f, -0.0048f, -0.0167f +} +, +{ +-0.0239f, -0.0385f, 0.0026f, 0.0288f, -0.0225f, 0.0082f, -0.0191f, -0.0185f +} +, +{ +-5.8305e-03f, -8.6574e-02f, 4.2228e-02f, -4.3500e-02f, -8.1892e-04f, 3.3171e-03f, -1.1582e-02f, -4.1205e-40f +} +, +{ +-0.0053f, 0.0053f, -0.0114f, -0.0127f, -0.0039f, -0.0426f, 0.0053f, -0.0017f +} +, +{ +-0.0046f, -0.0104f, -0.0087f, -0.0040f, 0.1077f, 0.0347f, -0.0165f, 0.7296f +} +, +{ + 8.7612e-02f, 5.9126e-01f, 4.6709e-03f, -1.1559e-39f, 2.3381e-02f, -1.2136e-40f, -5.6040e-39f, 3.7100e-02f +} +, +{ +-3.3246e-39f, -1.4536e-02f, -6.3362e-02f, 8.5347e-41f, 7.9956e-02f, 3.0679e-04f, -1.0257e-02f, -1.2037e-02f +} +, +{ +-0.0006f, 0.0117f, 0.0083f, 0.0686f, -0.0046f, 0.0015f, -0.0076f, 0.0079f +} +}; +__device__ __constant__ static const float kernelsL10[4 * 8] = +{ + 0.4908f, -0.0457f, +-0.1716f, -0.2115f, +-0.0015f, -0.3152f, + 0.3045f, 0.0330f, +-0.2981f, 0.0912f, + 0.0122f, 0.2281f, + 0.3331f, 0.2853f, + 0.2210f, 0.2611f, + 0.2364f, 0.0792f, + 0.2885f, -0.7122f, +-0.3715f, 0.1404f, +-0.0260f, 0.2144f, + 0.2378f, 0.1570f, +-0.5734f, 0.2077f, +-0.0851f, 0.2771f, + 0.0415f, -0.1858f +}; + +#include "ACNetCommon.hip" + +DECLARE_ACNET_HDN_INTERFACE_FUNCTION(0) diff --git a/hip/src/ACNetHDNL1.hip b/hip/src/ACNetHDNL1.hip new file mode 100644 index 0000000..04ae473 --- /dev/null +++ b/hip/src/ACNetHDNL1.hip @@ -0,0 +1,1654 @@ +#include "HipHelper.hip" +#include "HipInterface.hpp" +#include + +__device__ __constant__ static const float kernelsL1[9 * 8] = +{ +-6.6326e-02f, -2.2316e-01f, 4.2471e-02f, + 1.7064e-02f, -6.8305e-01f, -1.5978e-01f, + 6.7568e-01f, 3.2212e-01f, 8.3561e-02f, +-4.6649e-01f, -6.8789e-02f, 5.3455e-01f, +-5.0941e-01f, 7.0657e-02f, 4.5647e-01f, +-2.3657e-02f, 3.5302e-02f, -1.8316e-02f, +-2.0316e-01f, 4.7021e-02f, -2.2313e-01f, + 5.3465e-02f, 7.0750e-01f, 9.1366e-02f, +-2.8566e-01f, -2.0521e-02f, -7.1786e-02f, + 4.8186e-02f, -9.3429e-02f, 2.4493e-03f, + 3.4654e-01f, 7.2625e-02f, 1.6615e-01f, + 3.2101e-01f, 3.2923e-01f, -9.8548e-02f, + 1.1916e-02f, 2.0413e-01f, -1.8920e-02f, + 6.0858e-02f, 8.3548e-01f, 1.4060e-01f, +-9.1827e-01f, -2.4551e-01f, -4.6118e-02f, +-5.2737e-02f, 4.3151e-01f, 1.7027e-01f, + 2.6647e-01f, 5.5240e-01f, 3.4745e-03f, + 5.3495e-02f, -4.7059e-02f, -2.6593e-02f, + 1.5691e-01f, 4.7332e-01f, 2.6651e-03f, + 1.7997e-02f, 4.1367e-01f, 1.3239e-02f, + 4.6932e-02f, 1.0278e-01f, 1.0699e-02f, +-3.4319e-02f, -7.6373e-01f, -9.7022e-02f, +-1.4160e-01f, 2.9567e-01f, 6.6220e-01f, + 7.3508e-05f, 1.2683e-01f, -6.3442e-02f +}; +__device__ __constant__ static const float biasL1[8] = +{ +-0.0264f, -0.0229f, -0.3021f, -0.2579f, -0.0327f, -0.0053f, -0.7777f, 0.0232f +}; +__device__ __constant__ static const float kernelsL[8][9 * 8 * 8] = +{ +{ +-7.8588e-41f, -5.0770e-40f, -2.3334e-40f, + 5.7174e-40f, 6.9060e-41f, 2.2264e-40f, +-4.1631e-40f, 4.5667e-40f, -1.8115e-40f, +-3.1000e-40f, 3.1019e-40f, 5.5423e-40f, +-5.8518e-40f, 2.1290e-40f, -5.4579e-40f, +-3.7753e-40f, 3.6029e-40f, -1.7875e-40f, + 4.2296e-40f, 6.5672e-41f, 1.4976e-40f, +-3.1479e-40f, -3.2881e-40f, -5.9818e-40f, + 3.2053e-40f, 3.0821e-40f, 5.1321e-40f, +-2.6557e-17f, -3.8205e-17f, -3.7077e-17f, +-2.5168e-17f, -3.4817e-17f, -3.4186e-17f, +-1.8056e-17f, -2.3105e-17f, -2.2581e-17f, + 5.9355e-40f, 2.4052e-40f, -1.0027e-40f, + 2.2060e-40f, 3.4864e-40f, -5.7403e-40f, + 4.6936e-40f, -3.3951e-40f, -4.7715e-40f, +-9.7917e-11f, -1.0331e-10f, -9.6141e-11f, +-1.0581e-10f, -1.1173e-10f, -1.0317e-10f, +-1.0192e-10f, -1.0681e-10f, -9.8738e-11f, +-1.0402e-29f, -2.3233e-29f, -1.7882e-29f, +-1.4804e-29f, -3.7821e-29f, -3.0750e-29f, +-1.0448e-29f, -2.6740e-29f, -2.1676e-29f, + 4.2124e-40f, 2.5024e-40f, 4.5312e-40f, +-2.4880e-40f, 2.9838e-41f, -2.7215e-41f, +-2.6347e-40f, 1.5950e-40f, 9.3734e-41f, +-1.4936e-01f, -1.0438e-01f, 2.9827e-02f, + 1.4751e-02f, -1.6854e-01f, -8.8101e-02f, + 4.9228e-02f, -3.0744e-02f, -1.1512e-01f, +-3.4996e-02f, -2.5024e-02f, -1.8880e-02f, + 3.0008e-02f, 4.8689e-02f, -1.3415e-01f, +-9.1698e-03f, -1.1019e-02f, -5.0655e-02f, +-6.6579e-02f, -2.6447e-02f, 1.9791e-02f, +-4.1727e-02f, 3.6433e-02f, 3.1516e-02f, +-5.7619e-02f, 2.3401e-02f, 3.0785e-02f, +-3.3610e-02f, 1.2263e-01f, 2.4351e-02f, + 1.7148e-02f, 1.7144e-01f, 4.0305e-02f, + 8.7902e-03f, -7.0077e-02f, -1.0688e-01f, + 4.7460e-02f, -1.4093e-03f, -1.5911e-02f, +-2.2978e-02f, 9.9025e-02f, 1.2867e-02f, + 3.4704e-02f, 1.4672e-01f, 7.9188e-02f, +-4.4222e-02f, -3.9480e-02f, -1.9193e-01f, +-3.1897e-02f, 1.0776e-01f, -5.2742e-02f, + 8.0377e-02f, 2.5764e-01f, -9.7330e-02f, +-1.1593e-01f, -5.3753e-02f, -2.8918e-02f, + 6.7939e-02f, 2.3963e-01f, 2.0856e-01f, + 2.7964e-02f, 2.7781e-01f, 2.1859e-01f, +-1.5196e-02f, 9.6704e-03f, -8.0136e-02f, + 8.9441e-02f, 1.0314e-01f, -2.0204e-02f, +-3.3970e-02f, -1.4562e-02f, 3.4723e-02f, + 2.3357e-40f, -1.4361e-40f, 2.0498e-40f, +-5.2355e-40f, -6.0151e-40f, -2.9264e-40f, + 1.9715e-41f, 5.9793e-41f, -1.3675e-40f, + 5.3771e-40f, 6.5637e-41f, -3.8471e-40f, +-3.0820e-40f, -1.7004e-40f, -1.9371e-40f, +-5.1159e-40f, 7.3244e-41f, 3.5861e-41f, + 2.8441e-40f, 4.5248e-41f, 1.9771e-40f, +-2.4681e-40f, 3.6054e-40f, 3.3496e-40f, +-6.5048e-42f, -1.6001e-40f, 4.8243e-41f, +-1.0165e-08f, -9.9140e-09f, -9.6054e-09f, +-1.0511e-08f, -1.0256e-08f, -9.9066e-09f, +-1.0521e-08f, -1.0320e-08f, -9.9896e-09f, + 2.6042e-40f, 4.2016e-40f, 5.3537e-40f, + 1.4594e-40f, 1.1344e-40f, 3.5144e-40f, +-2.5736e-37f, -1.3591e-39f, 2.1029e-40f, +-3.1420e-07f, -3.0309e-07f, -2.9630e-07f, +-3.1196e-07f, -2.9967e-07f, -2.9249e-07f, +-3.1296e-07f, -3.0086e-07f, -2.9332e-07f, +-6.1256e-12f, -5.9283e-12f, -5.6508e-12f, +-6.5297e-12f, -6.4118e-12f, -6.0667e-12f, +-6.8382e-12f, -6.8547e-12f, -6.5225e-12f, +-5.0327e-26f, -1.0795e-25f, -1.8952e-25f, +-2.4220e-26f, -5.9067e-26f, -1.1323e-25f, +-2.1499e-27f, -5.5342e-27f, -1.0333e-26f, + 4.5039e-03f, -1.3303e-02f, 1.6183e-01f, + 6.5951e-02f, -7.1353e-02f, 1.7254e-01f, +-1.8671e-03f, 1.0593e-01f, -3.6872e-02f, + 4.9102e-02f, -2.4075e-03f, 4.8194e-02f, +-7.0892e-02f, -1.8948e-01f, -1.6586e-01f, +-2.8102e-02f, 2.0870e-02f, 5.9228e-02f, + 1.2673e-02f, 3.3908e-02f, 4.8282e-02f, + 4.4369e-02f, 5.6304e-02f, 1.2225e-02f, + 4.1855e-02f, 1.1990e-01f, 6.3799e-02f, +-7.3884e-02f, 1.4153e-02f, 9.5825e-02f, + 4.2850e-02f, -3.5337e-02f, 1.3615e-01f, +-2.0900e-01f, -2.2835e-02f, -8.6987e-02f, +-6.7793e-02f, 1.3547e-01f, -9.9666e-02f, + 3.5498e-02f, 5.3725e-02f, 1.1501e-01f, +-1.2238e-01f, 3.5354e-02f, 7.4216e-02f, +-3.5288e-02f, 7.0111e-03f, 2.4820e-02f, +-1.0649e-02f, 1.6715e-01f, 1.2825e-01f, + 3.1145e-02f, 1.2097e-01f, -1.2073e-02f, +-7.0603e-02f, 5.5574e-02f, -5.0025e-02f, +-8.2885e-02f, 1.0957e-01f, 1.3311e-01f, + 2.9147e-02f, -1.1849e-02f, 8.9953e-02f, +-3.2247e-02f, -1.0747e-02f, 9.1431e-03f, + 1.2114e-01f, -5.9780e-02f, 5.4821e-02f, +-5.2592e-02f, -6.9082e-02f, -7.5981e-02f, +-7.8533e-02f, 1.3658e-01f, 1.0923e-01f, +-3.2530e-02f, -2.1342e-01f, -1.2200e-01f, +-1.9196e-02f, 1.0450e-01f, -8.9044e-02f, +-2.0110e-02f, 6.1439e-02f, -2.7405e-02f, + 6.0823e-02f, -6.4268e-03f, -9.1778e-03f, + 6.4877e-02f, -6.1227e-02f, -5.4466e-02f, + 9.6375e-02f, 1.7519e-01f, 5.0725e-03f, + 1.9159e-01f, 3.9725e-01f, 1.2851e-01f, +-6.9197e-02f, 4.9372e-02f, -3.4221e-02f, + 1.1583e-01f, 1.3389e-01f, 2.9135e-01f, + 1.0290e-02f, 1.1214e-01f, 1.7560e-01f, +-1.8048e-02f, 8.4782e-02f, 4.9925e-02f, +-3.8447e-02f, -1.3156e-01f, -1.1072e-01f, + 1.8256e-01f, 2.2831e-01f, -1.6508e-01f, + 4.6781e-02f, 1.4913e-01f, -8.6956e-02f, + 5.1365e-04f, 6.7873e-02f, -3.4787e-03f, + 1.7689e-01f, 1.8414e-01f, 2.2286e-01f, + 1.2571e-01f, 1.7687e-01f, 1.5949e-01f, + 5.9904e-02f, 1.6259e-01f, 1.4313e-01f, + 2.2234e-01f, 4.0943e-01f, 3.1469e-01f, + 1.9799e-01f, 4.3052e-01f, 3.0510e-01f, + 1.2259e-01f, -1.0778e-02f, 6.2284e-03f, + 1.4508e-02f, -6.9073e-02f, 5.0998e-02f, + 5.2962e-02f, -1.5291e-01f, -1.0491e-02f, +-8.6903e-02f, -1.0430e-01f, 3.0130e-02f, + 4.1691e-02f, -1.2675e-01f, -5.5169e-01f, + 8.9644e-02f, 3.6910e-02f, -1.5459e-01f, + 5.3656e-03f, 6.7936e-02f, 1.0793e-01f, +-2.7424e-02f, -1.7652e-01f, -3.5776e-01f, + 2.4593e-02f, -5.6237e-01f, -5.9038e-01f, +-9.4807e-02f, -7.5681e-02f, -3.6990e-02f, + 8.7385e-03f, -5.7989e-02f, -4.9573e-02f, +-7.7422e-02f, -1.1899e-01f, -7.4023e-02f, + 9.1539e-03f, -1.1760e-01f, 4.6825e-02f, + 1.9901e-02f, -3.9718e-02f, 1.2997e-02f, + 4.2209e-02f, -5.2119e-02f, -1.2255e-01f, + 2.4262e-02f, 5.3676e-02f, -2.4767e-01f, +-4.2933e-02f, -2.2473e-01f, -4.0310e-01f, +-3.5160e-02f, 1.9858e-01f, -1.5943e-01f, + 1.3208e-01f, -1.0493e-01f, -6.7076e-02f, +-2.5244e-01f, 1.1175e-02f, 2.5568e-01f, +-3.3867e-01f, 3.1953e-02f, 5.9426e-01f, + 4.0551e-02f, 4.4914e-03f, -1.9348e-02f, +-6.7386e-02f, -1.5543e-01f, -3.0883e-02f, + 8.9177e-02f, -4.6432e-02f, 6.8227e-02f, + 8.7784e-02f, 3.6127e-02f, -2.0375e-02f, + 4.5461e-02f, -4.9071e-02f, 9.9435e-02f, +-2.5700e-01f, -2.7706e-01f, 6.2776e-02f, +-6.9571e-02f, -5.7888e-03f, 9.3852e-02f, + 2.8490e-02f, -2.7854e-01f, 1.4209e-01f, + 1.5373e-02f, -4.3503e-02f, 9.6895e-02f, + 1.1682e-02f, 1.5608e-01f, 1.5844e-01f, + 5.8027e-02f, 2.6632e-02f, -8.5479e-03f, + 1.2836e-01f, 2.0714e-01f, 1.0228e-01f, + 1.4647e-02f, 5.7609e-02f, -1.6728e-02f, + 2.1212e-01f, 3.2673e-01f, 4.5670e-02f, +-6.0844e-02f, -1.1768e-01f, -1.1233e-01f, + 5.0123e-04f, 6.3947e-02f, -1.8356e-01f, + 1.4091e-01f, -2.1568e-02f, 8.5933e-02f, +-3.9406e-02f, 8.2921e-02f, -1.0601e-01f, + 4.1284e-02f, -7.3138e-02f, 1.7264e-01f, + 2.5883e-02f, 5.2945e-01f, 2.4510e-01f, + 2.7291e-03f, 4.0173e-02f, 7.8221e-03f, +-3.5795e-02f, -4.8631e-03f, -2.2715e-01f, + 1.2330e-01f, 7.1739e-01f, -4.1725e-01f, + 7.5106e-02f, 2.5267e-02f, -2.8655e-01f, +-7.8731e-02f, -7.5747e-03f, -5.5601e-02f, + 7.9764e-02f, 1.0524e-01f, 8.6742e-03f, + 2.1791e-02f, 3.7304e-02f, -1.1534e-01f, +-1.2011e-01f, -7.5160e-02f, 1.3737e-02f, +-2.9470e-01f, 2.6613e-01f, -2.3740e-02f, + 1.2957e-01f, 1.4752e-01f, -9.3655e-02f, + 2.9828e-02f, 2.0664e-01f, 1.9731e-02f, +-8.0378e-02f, -3.9481e-01f, -1.5395e-01f, +-5.7944e-02f, -8.6343e-02f, -5.4324e-02f, + 7.1664e-02f, 1.5294e-01f, -1.2112e-02f, + 2.1023e-02f, 1.1945e-01f, -7.2998e-02f, +-1.1693e-02f, -1.8818e-01f, -9.8693e-02f, +-6.7017e-02f, 6.9767e-02f, -5.0268e-02f, +-9.1106e-03f, 2.4267e-01f, 6.0277e-02f, + 3.5269e-02f, 7.7376e-02f, 1.6642e-02f, +-5.2600e-02f, -1.8864e-01f, -1.1195e-01f, + 3.2119e-01f, -9.7913e-02f, 1.4734e-01f, + 8.6988e-02f, -5.3563e-03f, -2.6136e-03f, +-9.1528e-03f, 2.8186e-01f, -1.5933e-01f, + 4.8499e-02f, 4.5189e-01f, -1.6399e-01f, + 5.8164e-02f, 6.3251e-02f, -2.8738e-02f, + 2.0424e-01f, -7.2819e-02f, 2.1903e-02f, +-3.5630e-01f, 1.3171e-01f, -7.6749e-02f, + 3.8848e-02f, 1.7902e-01f, -1.1902e-01f, +-4.4221e-02f, 1.5032e-02f, 2.9078e-02f, +-1.9738e-01f, -1.4878e-02f, 1.3315e-02f, + 1.3956e-02f, 1.2856e-01f, 7.0688e-02f, + 2.0933e-01f, 1.7286e-01f, 6.7601e-02f, + 5.5136e-01f, 4.6866e-01f, 1.8402e-01f, + 2.2362e-01f, 2.4124e-01f, 1.3167e-01f +} +, +{ +-5.2308e-12f, -5.4024e-12f, -5.0039e-12f, +-5.4553e-12f, -5.6928e-12f, -5.2812e-12f, +-5.0230e-12f, -5.2150e-12f, -4.9133e-12f, + 5.7994e-02f, 1.0051e-01f, -1.0618e-01f, + 6.8090e-02f, 1.2789e-01f, 1.1380e-01f, +-1.5882e-01f, 8.2323e-03f, -9.1424e-02f, + 2.0132e-07f, 2.0907e-07f, 2.1344e-07f, + 2.1179e-07f, 2.2018e-07f, 2.2381e-07f, + 2.1095e-07f, 2.1920e-07f, 2.2150e-07f, + 2.9336e-02f, 5.4427e-02f, -1.2082e-01f, + 5.8399e-02f, 2.2261e-01f, 1.1165e-01f, +-9.6098e-02f, 8.3175e-02f, -6.5909e-02f, + 1.2007e-01f, 1.9776e-01f, 7.7464e-02f, + 6.7018e-02f, 3.6536e-01f, 1.3796e-01f, + 6.0724e-02f, 4.6161e-02f, 2.3740e-01f, +-2.1117e-02f, -2.0200e-02f, 9.3703e-02f, +-4.6932e-02f, -1.5910e-01f, 8.8094e-02f, +-5.6641e-02f, -1.7146e-01f, -1.0502e-01f, +-2.5624e-01f, 1.6049e-01f, -3.3267e-02f, +-2.3248e-01f, 5.4036e-01f, 1.0027e-01f, +-2.1680e-01f, -7.0096e-03f, -1.0692e-01f, +-4.8357e-02f, 2.5107e-01f, 4.8323e-02f, + 9.7245e-02f, 5.5015e-01f, -3.4641e-01f, + 1.2458e-02f, -1.3626e-01f, -4.1992e-01f, +-2.1359e-40f, -1.4250e-40f, -4.7123e-40f, +-5.9433e-41f, 1.9903e-41f, -1.7701e-40f, +-5.9941e-40f, -5.8562e-40f, -5.0226e-40f, +-2.6581e-40f, 1.3006e-40f, -1.4201e-40f, + 5.4264e-40f, 2.3848e-40f, 5.6412e-40f, +-2.6378e-41f, -5.7132e-40f, -4.1343e-40f, +-3.2848e-22f, -3.6697e-22f, -3.4147e-22f, +-3.5780e-22f, -3.9435e-22f, -3.5989e-22f, +-3.1212e-22f, -3.4305e-22f, -3.0670e-22f, +-1.1749e-08f, -1.1602e-08f, -1.1494e-08f, +-1.2125e-08f, -1.1918e-08f, -1.1718e-08f, +-1.1779e-08f, -1.1623e-08f, -1.1559e-08f, +-5.0237e-07f, -4.9179e-07f, -4.6744e-07f, +-5.1967e-07f, -5.0826e-07f, -4.8421e-07f, +-5.0226e-07f, -4.9668e-07f, -4.8019e-07f, + 5.6433e-41f, -3.0514e-40f, -5.4526e-40f, + 1.1125e-41f, 2.9485e-40f, 5.5282e-40f, + 3.0229e-40f, 1.5915e-40f, 5.3759e-40f, +-6.1144e-27f, -9.2380e-26f, -2.4302e-25f, +-9.3834e-25f, -1.0289e-23f, -1.9513e-23f, +-4.3746e-24f, -4.4359e-23f, -7.0505e-23f, +-8.1604e-36f, -3.2928e-37f, -2.2994e-40f, +-3.9543e-37f, -9.9513e-39f, 7.4616e-41f, +-4.0044e-39f, 4.4392e-40f, 4.8856e-40f, +-3.3447e-40f, -3.9935e-40f, 2.4649e-40f, + 2.0207e-40f, -3.0245e-40f, -7.1986e-41f, + 6.2938e-40f, -3.6922e-40f, 1.5296e-40f, +-6.4982e-41f, 5.0849e-41f, 5.7873e-40f, + 1.4327e-40f, -4.2163e-40f, 1.3807e-40f, + 2.8569e-40f, 1.9139e-40f, 3.2985e-40f, +-5.4410e-40f, 2.3070e-40f, 2.1690e-40f, +-1.5964e-40f, -2.2781e-40f, 5.6766e-40f, + 2.2533e-42f, -2.5532e-40f, -5.5822e-40f, + 5.7249e-40f, 5.3555e-40f, -4.9107e-41f, + 1.7538e-40f, -1.2312e-40f, 5.0077e-40f, + 6.1500e-40f, 1.9980e-40f, 6.2953e-40f, +-7.5314e-23f, -9.4299e-23f, -7.1342e-23f, +-8.5139e-23f, -1.1237e-22f, -9.0478e-23f, +-6.2038e-23f, -8.5180e-23f, -7.3015e-23f, + 5.0613e-40f, 1.5224e-40f, -1.8977e-40f, + 2.4108e-41f, -5.1771e-40f, 6.2317e-40f, + 1.0465e-40f, 2.8816e-41f, 6.2500e-40f, + 3.5727e-40f, 4.2717e-40f, -3.5900e-40f, +-4.4831e-40f, 3.4260e-40f, -4.8293e-40f, +-2.4133e-40f, 3.1140e-40f, -2.0777e-40f, +-2.2906e-41f, 3.5923e-40f, -4.4443e-40f, +-4.6615e-40f, -2.1123e-40f, 4.5700e-40f, +-4.6360e-40f, -3.6052e-40f, -3.4319e-40f, +-3.6575e-40f, -3.5707e-40f, -3.0530e-41f, + 4.2531e-40f, -1.2255e-40f, -3.9607e-40f, + 3.5903e-40f, -5.4630e-40f, -3.1460e-40f, + 2.8820e-40f, 4.9460e-40f, 6.1461e-40f, + 8.9118e-41f, -4.6579e-40f, -2.4172e-40f, +-5.5474e-40f, -8.1848e-41f, -1.6910e-40f, +-1.6272e-25f, -1.8802e-25f, -1.7229e-25f, +-1.7850e-25f, -2.0338e-25f, -1.8235e-25f, +-1.4715e-25f, -1.6733e-25f, -1.4681e-25f, +-5.5471e-09f, -5.6862e-09f, -5.7043e-09f, +-5.8727e-09f, -5.9823e-09f, -5.8983e-09f, +-5.8040e-09f, -5.8670e-09f, -5.7388e-09f, +-9.7253e-07f, -9.7248e-07f, -9.4623e-07f, +-1.0149e-06f, -1.0042e-06f, -9.6709e-07f, +-1.0139e-06f, -9.9930e-07f, -9.5295e-07f, +-4.5042e-40f, 2.6725e-40f, 2.3181e-40f, +-4.6274e-41f, -1.1799e-40f, 5.0685e-40f, +-1.0765e-40f, 3.3322e-40f, -6.1905e-40f, +-1.3653e-34f, -3.4690e-33f, -1.1578e-32f, +-1.4444e-31f, -2.1995e-30f, -4.8668e-30f, +-1.2965e-30f, -2.0189e-29f, -3.3962e-29f, +-2.5057e-40f, 7.2876e-41f, 4.5731e-41f, +-1.6525e-40f, 5.0987e-40f, -5.4683e-40f, + 8.1836e-41f, 6.2722e-40f, -3.1057e-40f, + 4.0987e-40f, 3.5941e-40f, 5.1680e-40f, + 5.5563e-40f, 3.1011e-40f, 4.7068e-40f, + 1.0426e-40f, -1.0803e-40f, 4.4867e-40f, +-4.9675e-03f, 1.5412e-01f, -4.1930e-03f, +-6.1089e-02f, 2.0405e-01f, 1.9587e-01f, + 3.8772e-02f, 1.6894e-01f, -2.6163e-02f, + 1.0839e-30f, 1.8608e-30f, 1.1386e-30f, + 1.4863e-29f, 1.9422e-29f, 1.1639e-29f, + 1.7504e-29f, 2.2177e-29f, 1.3629e-29f, + 6.4484e-02f, 6.6296e-02f, 2.2838e-01f, +-1.0213e-01f, 7.5883e-02f, -1.7531e-01f, +-1.4869e-01f, 1.0736e-01f, 1.4129e-01f, +-2.8235e-02f, -2.9232e-02f, -9.3912e-02f, + 5.1317e-02f, 9.0256e-02f, -2.4669e-02f, +-3.2465e-02f, 5.8099e-02f, 9.8402e-02f, +-2.3135e-01f, -1.3786e-01f, 2.8581e-01f, +-3.2410e-01f, -2.6623e-01f, 6.1583e-02f, + 1.8696e-01f, 4.7251e-02f, -2.3520e-01f, + 2.5630e-02f, -1.2358e-01f, -1.5735e-01f, +-1.2198e-01f, 5.1970e-01f, 1.9976e-01f, +-1.2515e-01f, 9.8768e-02f, 5.8917e-02f, +-3.8569e-02f, -9.2729e-02f, -1.8982e-01f, + 1.1378e-01f, 5.7195e-01f, -1.8265e-01f, +-3.5724e-02f, -2.1379e-01f, -2.2129e-01f, +-5.1198e-40f, -3.4709e-40f, 6.2940e-40f, +-2.2134e-41f, -3.6133e-40f, -2.7075e-40f, +-5.9664e-40f, -2.3937e-40f, 3.0876e-40f, + 9.1814e-41f, 9.5898e-41f, -3.1892e-40f, + 3.1093e-40f, 2.7935e-40f, 1.7966e-40f, +-2.3967e-40f, 4.0806e-40f, 6.2012e-40f, + 5.3771e-41f, 6.1000e-40f, -4.6695e-40f, + 5.9474e-41f, -4.9675e-40f, 5.7403e-41f, + 4.7091e-40f, -5.0751e-41f, 3.9864e-41f, +-9.7756e-41f, 2.7978e-40f, -5.0791e-40f, +-3.4321e-40f, -7.0774e-41f, -5.2651e-40f, + 2.8034e-40f, -3.3452e-40f, 1.9535e-40f, +-6.2300e-40f, -1.8372e-40f, -1.9038e-40f, +-5.6564e-40f, -6.1257e-40f, -1.0338e-40f, +-1.7191e-41f, -1.2843e-41f, 5.0707e-40f, +-4.4587e-40f, 2.7128e-40f, -1.4155e-40f, +-5.7475e-40f, -3.4612e-40f, -4.7424e-40f, + 1.7235e-40f, -6.0028e-40f, -1.6342e-40f, +-5.1072e-40f, -2.4721e-40f, -2.8477e-41f, + 2.6598e-40f, -4.4078e-40f, 4.1763e-40f, +-3.3947e-40f, -5.5626e-40f, 4.9713e-40f, + 2.1733e-40f, -2.9024e-40f, -4.5514e-42f, +-3.4873e-40f, -1.0737e-40f, -1.4297e-40f, + 2.8514e-40f, 2.6283e-40f, 2.2827e-40f, + 3.8908e-40f, -4.2140e-40f, 6.1433e-40f, +-4.7825e-40f, -3.0140e-40f, -5.9563e-40f, + 1.5280e-40f, 2.6156e-40f, 5.0361e-40f, + 1.9497e-01f, 2.3140e-01f, -3.5244e-02f, + 1.6876e-01f, -1.7646e-02f, -2.0413e-01f, + 9.8052e-02f, -6.7906e-02f, -3.9834e-02f, +-5.9252e-15f, -6.7431e-15f, -8.1865e-15f, +-5.7350e-15f, -6.6893e-15f, -8.9833e-15f, +-8.4106e-15f, -1.0631e-14f, -1.5948e-14f, + 8.9389e-02f, 6.6460e-02f, 6.8477e-02f, + 6.1099e-03f, -8.7536e-02f, 1.1792e-01f, +-1.0079e-01f, 1.5293e-01f, 4.3945e-02f, + 1.0168e-01f, 1.0281e-01f, -7.9173e-02f, + 2.0855e-01f, 1.7537e-01f, -7.1000e-02f, +-1.4157e-01f, -3.8478e-02f, -2.7478e-01f, + 2.2156e-01f, -6.4262e-02f, -7.2841e-02f, +-3.2334e-01f, 6.5591e-02f, 1.1163e-01f, + 7.2151e-02f, -1.6943e-01f, 5.9049e-02f, +-1.4813e-01f, -2.0904e-01f, -8.8010e-02f, +-2.7215e-01f, 5.7668e-01f, 1.7618e-02f, +-7.1365e-02f, 1.2976e-01f, -1.0169e-01f, +-8.9229e-02f, 3.3971e-02f, 1.8295e-01f, + 1.7204e-01f, 3.8082e-01f, 3.7415e-02f, + 5.9309e-02f, -4.9550e-04f, 5.1555e-01f, +-5.1006e-18f, -5.6038e-18f, -5.8724e-18f, +-5.8910e-18f, -5.8379e-18f, -5.6311e-18f, +-5.2596e-18f, -5.1835e-18f, -4.6300e-18f, + 6.4067e-02f, 1.8889e-02f, -1.0634e-01f, + 1.7316e-04f, 1.9935e-01f, -1.1854e-02f, +-9.3669e-02f, -1.1924e-01f, -1.8981e-02f, + 1.7465e-08f, 1.7340e-08f, 1.7565e-08f, + 1.8234e-08f, 1.8008e-08f, 1.8017e-08f, + 1.9226e-08f, 1.8956e-08f, 1.8651e-08f, +-1.7294e-01f, -1.2200e-01f, -4.9577e-02f, +-3.5087e-02f, -1.2526e-01f, 9.3445e-03f, +-7.4374e-02f, -1.1350e-01f, 2.7510e-03f, + 8.5153e-02f, 4.2080e-02f, -5.0111e-02f, + 1.2845e-01f, 1.9630e-01f, 1.0542e-01f, +-1.0095e-01f, 6.2631e-02f, 8.8734e-02f, + 3.4836e-01f, 5.4389e-01f, -2.2360e-01f, + 5.1721e-01f, 5.7094e-01f, -6.7491e-02f, +-3.5972e-02f, 1.0590e-01f, -2.2984e-01f, +-1.5483e-01f, -5.1271e-03f, 4.9780e-02f, +-1.3184e-01f, 2.8028e-01f, -1.1427e-02f, +-3.4093e-02f, -6.7622e-02f, -1.2359e-02f, + 1.3184e-02f, 1.2125e-01f, -1.2502e-02f, + 9.2730e-02f, -6.5974e-02f, -1.6519e-01f, + 1.9546e-01f, -1.5188e-01f, -8.1752e-02f +} +, +{ +-3.4905e-04f, -3.5739e-04f, -3.2920e-04f, +-3.8506e-04f, -3.9121e-04f, -3.5635e-04f, +-3.7303e-04f, -3.7698e-04f, -3.4190e-04f, + 2.8622e-41f, -1.2033e-41f, 1.2609e-40f, +-4.9379e-40f, -5.1047e-40f, 5.5085e-41f, +-4.7002e-40f, -5.0136e-40f, -4.5629e-40f, +-5.1095e-40f, 1.8741e-40f, 1.8435e-40f, + 4.1851e-40f, -8.9558e-41f, -9.6681e-41f, +-1.8244e-40f, 2.7992e-40f, 1.8116e-40f, + 2.8655e-40f, -3.0193e-40f, 2.2293e-40f, + 1.6805e-40f, 3.3049e-40f, 6.9542e-41f, +-3.3329e-40f, 4.2212e-40f, -1.3453e-40f, +-8.4502e-15f, -1.1099e-14f, -9.4174e-15f, +-9.8778e-15f, -1.1768e-14f, -9.4875e-15f, +-6.7805e-15f, -7.4561e-15f, -5.8023e-15f, + 6.0452e-40f, 6.9262e-41f, 2.9300e-40f, +-6.1511e-40f, -4.1269e-40f, 4.4012e-40f, + 1.3340e-42f, -2.9020e-40f, -4.5529e-40f, +-1.2289e-22f, -1.3972e-21f, -5.5694e-21f, +-1.7854e-21f, -1.7743e-20f, -5.6749e-20f, +-6.8510e-21f, -6.2353e-20f, -1.6203e-19f, +-5.0003e-07f, -5.1950e-07f, -4.7654e-07f, +-5.5510e-07f, -5.7995e-07f, -5.2753e-07f, +-5.3262e-07f, -5.5802e-07f, -5.0971e-07f, +-1.4922e-02f, -1.1926e-01f, -1.9067e-02f, +-2.6298e-03f, 2.1756e-01f, 3.0148e-02f, + 1.4372e-01f, 3.5066e-02f, -1.0184e-02f, +-4.1698e-12f, -4.8798e-12f, -6.4033e-12f, +-2.3169e-12f, -2.7879e-12f, -3.7276e-12f, +-1.6177e-12f, -2.0021e-12f, -2.6440e-12f, +-5.9514e-40f, -4.4339e-40f, -3.0315e-40f, + 3.5756e-40f, 2.5390e-40f, -1.2253e-40f, + 2.1417e-40f, 4.0569e-40f, 5.3962e-40f, +-5.5825e-13f, -6.8528e-13f, -9.3486e-13f, +-2.9163e-13f, -3.6959e-13f, -5.1183e-13f, +-1.8703e-13f, -2.4740e-13f, -3.4019e-13f, +-2.7137e-01f, -4.5025e-01f, 2.6405e-02f, +-7.9580e-02f, 5.0698e-01f, -7.8794e-02f, +-3.7540e-02f, -7.1115e-03f, -3.9741e-01f, +-5.9910e-40f, -5.5101e-40f, 3.1274e-41f, +-6.9384e-41f, -4.9294e-40f, -1.0818e-40f, +-3.5484e-40f, -4.7965e-41f, -5.2508e-41f, + 4.1917e-01f, -1.6207e-02f, -6.8506e-02f, +-2.7060e-02f, 5.6162e-01f, 1.6696e-01f, +-1.7677e-03f, 1.8842e-01f, -6.0493e-02f, +-3.0696e-01f, -1.7293e-01f, -8.7143e-02f, +-1.6740e-01f, 1.8861e-02f, -1.7112e-01f, + 8.6594e-02f, 3.0025e-01f, -7.6141e-02f, + 1.1317e-02f, 1.0678e-01f, -5.1283e-02f, +-1.2872e-01f, 4.2580e-01f, 4.9678e-02f, +-2.8372e-01f, -1.3479e-01f, -7.3813e-02f, +-1.7038e-15f, -1.1156e-15f, -7.3385e-16f, +-2.6350e-15f, -1.6234e-15f, -1.0598e-15f, +-7.7860e-15f, -4.6981e-15f, -3.0030e-15f, +-3.0246e-40f, -4.1596e-40f, 2.9013e-40f, + 8.5195e-41f, -2.2396e-40f, -2.0322e-40f, +-5.6200e-40f, 2.4820e-40f, 3.1309e-40f, +-3.1822e-17f, -1.6585e-17f, -8.8616e-18f, +-5.9907e-17f, -2.9812e-17f, -1.6126e-17f, +-2.4410e-16f, -1.2541e-16f, -6.7867e-17f, + 1.5795e-01f, -1.4429e-01f, -6.0501e-02f, + 5.9113e-02f, 3.4391e-01f, 1.4165e-01f, + 5.2564e-02f, -1.8209e-01f, -6.8176e-02f, +-7.7363e-41f, 5.9969e-40f, 5.9290e-40f, +-7.4888e-41f, -7.0945e-41f, 5.3120e-40f, + 1.3612e-40f, -4.6718e-40f, -1.0677e-40f, +-1.1498e-01f, -1.2925e-02f, 2.6735e-02f, +-8.1469e-02f, 2.9678e-01f, 1.8971e-01f, + 2.0149e-02f, 2.4207e-03f, -1.2549e-01f, +-6.6799e-02f, -3.5900e-02f, -5.6111e-02f, + 9.5181e-02f, 2.1216e-02f, 2.0477e-01f, + 8.5923e-03f, 6.8615e-03f, 3.8252e-02f, + 4.5098e-03f, 2.1321e-01f, 3.4612e-03f, + 3.5662e-01f, 4.7532e-02f, 2.5319e-01f, + 4.1275e-02f, 1.7951e-01f, 3.2239e-02f, +-2.6628e-21f, -7.7165e-22f, -4.9086e-22f, +-1.4320e-21f, -2.7134e-22f, -1.2712e-22f, +-1.9648e-21f, -3.4172e-22f, -1.3895e-22f, +-2.2836e-40f, 3.2091e-40f, -4.4396e-40f, + 2.9048e-40f, 6.0866e-40f, 3.7804e-40f, +-3.0676e-40f, -2.4897e-40f, 4.9891e-40f, +-1.8955e-28f, -3.4994e-29f, -1.2914e-29f, +-4.7737e-29f, -3.5212e-30f, -6.4003e-31f, +-8.2908e-29f, -3.1692e-30f, -3.6909e-31f, +-9.3327e-02f, 1.5314e-01f, 1.0676e-01f, + 2.5979e-01f, -6.6826e-01f, 2.3727e-01f, + 1.4855e-01f, 1.9205e-01f, 8.8246e-02f, +-5.5197e-40f, 5.3162e-41f, -5.2933e-40f, + 1.0846e-41f, -5.8128e-40f, -3.1273e-40f, +-2.8408e-40f, 1.6989e-40f, 4.8221e-41f, + 7.8403e-02f, 1.6407e-01f, 7.9932e-02f, + 3.2253e-01f, -2.6036e-01f, -8.9727e-02f, +-7.5145e-02f, 1.5536e-02f, -8.2710e-02f, +-2.1608e-01f, -4.4619e-01f, -4.4470e-02f, +-3.9430e-01f, -8.2373e-01f, -7.0646e-01f, +-6.9004e-03f, -4.9697e-01f, -1.4212e-01f, +-1.8932e-06f, -1.8356e-06f, -1.6373e-06f, +-1.9427e-06f, -1.9113e-06f, -1.7028e-06f, +-1.8843e-06f, -1.8616e-06f, -1.6818e-06f, +-4.7452e-29f, -4.4894e-29f, -2.5364e-29f, +-5.6268e-29f, -5.4363e-29f, -3.0876e-29f, +-4.3808e-29f, -4.2767e-29f, -2.4573e-29f, + 3.8855e-40f, 3.5152e-40f, -4.8707e-40f, + 4.3606e-41f, -1.7886e-40f, 5.1970e-40f, + 6.2864e-40f, 5.9972e-40f, 2.2197e-40f, +-2.1903e-37f, -1.9174e-37f, -7.0785e-38f, +-2.7149e-37f, -2.4810e-37f, -9.5619e-38f, +-1.8463e-37f, -1.7136e-37f, -6.7163e-38f, +-2.9062e-30f, -3.1324e-30f, -1.0876e-30f, +-2.7434e-30f, -3.7036e-30f, -1.2821e-30f, +-6.8828e-31f, -9.8708e-31f, -3.7930e-31f, +-6.3329e-41f, -3.8604e-41f, -2.8272e-40f, +-3.3350e-40f, -1.5210e-40f, -4.2620e-41f, +-1.7669e-41f, 5.2291e-40f, -3.3205e-40f, +-3.0738e-25f, -8.2305e-24f, -2.1451e-23f, +-1.4470e-24f, -4.5131e-23f, -1.2177e-22f, +-4.2841e-24f, -1.3077e-22f, -3.5946e-22f, +-8.5637e-08f, -8.4715e-08f, -7.7597e-08f, +-8.7326e-08f, -8.7480e-08f, -8.0290e-08f, +-8.4525e-08f, -8.4963e-08f, -7.8582e-08f, +-5.8581e-27f, -8.8483e-27f, -8.1150e-27f, +-7.4336e-27f, -1.2036e-26f, -1.1909e-26f, +-6.6006e-27f, -1.0685e-26f, -1.0809e-26f, +-5.6355e-40f, -2.3469e-40f, -3.5885e-40f, +-2.0755e-40f, 2.0377e-40f, 3.2259e-40f, +-5.3947e-40f, 4.2747e-41f, 4.8967e-41f, + 4.5073e-41f, 5.0069e-40f, 2.6114e-40f, +-4.8225e-40f, -4.8317e-40f, -5.4316e-40f, +-5.4335e-40f, -5.2994e-40f, 2.6295e-40f, +-1.1702e-40f, -2.3137e-41f, -4.5405e-40f, +-4.6797e-40f, 6.5582e-41f, 1.8111e-40f, + 6.1477e-40f, -1.6827e-40f, -2.0288e-40f, +-2.4220e-41f, 4.7774e-40f, 5.1050e-40f, + 4.9844e-40f, 5.6437e-41f, 4.7749e-40f, +-6.8037e-41f, -5.5944e-41f, -5.2248e-40f, +-2.9382e-40f, 2.3800e-41f, 1.5850e-40f, +-4.5290e-40f, -5.2260e-41f, 2.3726e-40f, +-1.9232e-40f, -2.3502e-40f, -2.9736e-40f, +-2.8081e-40f, -5.2929e-40f, -4.0786e-40f, +-3.0303e-41f, 3.1336e-40f, -5.8450e-40f, +-1.5091e-40f, -2.7371e-40f, -4.5927e-40f, +-4.0985e-38f, -6.9102e-38f, -5.4450e-38f, +-6.2744e-38f, -1.1526e-37f, -9.9374e-38f, +-4.8587e-38f, -9.1819e-38f, -8.0593e-38f, +-2.9266e-29f, -4.5005e-29f, -3.9891e-29f, +-3.8505e-29f, -6.3370e-29f, -6.0017e-29f, +-3.2761e-29f, -5.4145e-29f, -5.1812e-29f, + 3.3692e-40f, 1.0044e-40f, -6.6821e-41f, + 9.2910e-41f, 6.2137e-40f, -3.5625e-40f, + 1.8601e-40f, 3.1653e-40f, -1.1506e-40f, + 1.2093e-40f, -5.7191e-40f, 5.6828e-40f, +-2.3177e-40f, -2.1648e-40f, 5.3642e-40f, + 4.8826e-40f, 5.2760e-40f, -4.9059e-40f, +-2.0721e-40f, 2.0122e-40f, -5.9485e-40f, + 3.8843e-40f, -6.0861e-41f, -4.0542e-40f, +-3.4308e-40f, -4.2822e-40f, -3.9605e-40f, +-5.7429e-40f, 4.9242e-40f, -5.9141e-40f, + 4.6267e-40f, -2.4953e-40f, -2.9300e-40f, + 5.3466e-40f, -5.2403e-40f, 3.5178e-40f, +-1.8309e-40f, 2.9157e-40f, -7.7367e-41f, +-5.8922e-40f, 3.2359e-40f, -6.1293e-40f, + 6.1138e-40f, 2.2121e-40f, -5.0657e-42f, + 4.7910e-40f, -1.4080e-40f, 1.9220e-40f, +-3.5670e-40f, 3.4204e-40f, -5.0215e-40f, + 1.1877e-41f, 2.3114e-40f, -4.7794e-40f, +-3.6520e-40f, 4.3222e-40f, -5.2866e-40f, +-6.0703e-40f, -4.0896e-40f, -1.2521e-40f, +-4.1981e-40f, 5.4404e-41f, 3.3337e-40f, + 1.3733e-01f, 1.8485e-01f, 7.6179e-02f, + 8.1719e-02f, 3.3343e-01f, 2.9857e-02f, +-4.2753e-03f, 2.0957e-01f, 1.8582e-02f, + 2.9948e-07f, 3.3403e-07f, 3.7619e-07f, + 3.4854e-07f, 3.8224e-07f, 4.1507e-07f, + 3.7511e-07f, 4.0398e-07f, 4.3743e-07f, +-1.7150e-41f, -2.4088e-41f, -1.5593e-40f, + 6.3817e-41f, 4.8004e-41f, -1.1053e-40f, +-2.5225e-40f, -2.7111e-40f, -4.2970e-40f, + 1.0496e-06f, 1.0916e-06f, 1.1376e-06f, + 1.1364e-06f, 1.1756e-06f, 1.2051e-06f, + 1.1762e-06f, 1.2105e-06f, 1.2358e-06f, + 1.0037e-02f, 1.4957e-01f, -4.9010e-02f, + 2.6877e-02f, 1.9067e-01f, -1.9339e-03f, +-2.2081e-02f, -1.5137e-01f, -1.6088e-01f, + 1.6880e-41f, -2.0352e-41f, -4.1857e-42f, + 2.0926e-40f, -2.1394e-41f, -5.4341e-40f, + 4.6824e-40f, 6.2682e-40f, 4.9865e-40f, +-3.2967e-01f, -2.5981e-01f, -1.3016e-01f, +-2.6507e-01f, 3.2282e-01f, 4.3204e-01f, +-7.0936e-02f, 1.9800e-01f, 9.4916e-02f, +-1.0122e-02f, 7.4127e-02f, -7.1554e-02f, + 7.7869e-02f, 1.5734e-01f, 1.3287e-01f, +-9.5431e-02f, 1.0984e-01f, -7.6759e-02f +} +, +{ +-5.5262e-40f, 3.7699e-40f, -1.4920e-40f, + 4.0064e-40f, -2.0632e-40f, -4.4801e-41f, +-3.6749e-40f, 5.9043e-40f, -1.5942e-40f, +-5.9219e-42f, -4.1286e-40f, -1.6920e-40f, +-2.5927e-40f, -4.5458e-41f, 2.0990e-40f, +-4.6860e-40f, 5.0483e-40f, 2.8004e-40f, +-4.0641e-40f, 6.0770e-40f, -3.8297e-42f, + 5.7537e-40f, 5.7772e-40f, -1.0048e-40f, + 1.5945e-40f, 3.9582e-40f, -2.6190e-40f, +-5.1046e-40f, -5.5028e-40f, 5.8786e-40f, +-3.5033e-40f, -1.2031e-40f, -3.4156e-40f, + 3.0058e-40f, 4.3043e-40f, 5.9825e-40f, + 4.9197e-40f, 2.5974e-40f, -4.3461e-41f, +-4.1935e-40f, -1.6383e-41f, -1.4680e-40f, +-5.3501e-40f, -2.6348e-40f, 3.0631e-40f, +-5.2019e-40f, -4.4123e-40f, 2.3984e-40f, +-4.4682e-41f, -4.6000e-40f, -5.0418e-40f, +-4.1263e-40f, 4.5391e-40f, 2.8844e-40f, + 5.2179e-40f, -1.3188e-40f, 5.1600e-40f, +-2.2913e-40f, -3.1127e-40f, 5.4478e-40f, + 2.3395e-41f, 5.4758e-40f, 2.0998e-40f, +-1.9914e-10f, -2.0700e-10f, -1.9815e-10f, +-2.1098e-10f, -2.1989e-10f, -2.1131e-10f, +-2.0797e-10f, -2.1693e-10f, -2.0860e-10f, +-2.1061e-40f, -2.1208e-40f, -3.3698e-40f, + 3.2370e-40f, 2.9276e-40f, -3.6860e-40f, + 3.4752e-40f, -2.0660e-40f, -3.8183e-40f, +-8.0136e-02f, 1.3809e-02f, 1.6846e-03f, + 3.7960e-02f, 8.7557e-02f, -3.5498e-01f, + 9.8165e-03f, 9.8384e-02f, 1.2395e-01f, +-2.8751e-02f, 9.9172e-02f, 5.5841e-02f, +-4.0383e-02f, 1.0856e-01f, -5.4339e-01f, + 1.3245e-02f, -4.7642e-02f, -1.0427e-01f, +-7.4696e-03f, 5.0806e-02f, -1.7179e-01f, + 5.0303e-02f, -4.0322e-01f, 7.4760e-01f, +-9.2342e-02f, 1.1958e-01f, -1.8871e-01f, + 3.7044e-40f, -4.6951e-40f, -1.9873e-40f, + 5.3289e-41f, 2.7689e-40f, -4.6994e-41f, +-3.1404e-40f, -5.9106e-40f, 6.0436e-40f, +-6.0294e-40f, -3.6565e-40f, -1.1884e-40f, + 5.5933e-40f, -9.5741e-41f, 4.4736e-40f, + 4.3267e-40f, -4.9583e-40f, 3.4437e-40f, +-1.7432e-40f, 1.4518e-40f, 2.1033e-40f, +-3.4667e-40f, 1.7222e-40f, -2.5651e-40f, +-5.2517e-40f, 2.8983e-41f, -1.3832e-40f, +-1.4153e-01f, 9.4023e-02f, -9.8526e-02f, + 2.0678e-01f, 4.0842e-01f, -1.1853e-01f, +-1.4108e-01f, -1.1005e-01f, -8.1274e-02f, + 3.4336e-41f, 1.5625e-40f, 2.7213e-40f, +-5.3447e-40f, -3.7330e-40f, -3.3637e-40f, +-4.3563e-40f, -3.7094e-40f, 1.2820e-41f, +-8.1700e-02f, -1.8215e-01f, -1.6011e-01f, +-1.4203e-01f, 5.3791e-02f, -3.7663e-02f, +-1.1705e-01f, -1.2604e-01f, -8.4890e-03f, +-6.1578e-02f, -3.3907e-01f, 2.2344e-03f, + 1.5060e-01f, -1.9199e-01f, -5.5274e-02f, + 6.2300e-02f, 9.1084e-02f, 1.3788e-02f, + 4.9025e-02f, 3.3738e-01f, -1.8104e-01f, +-2.5051e-01f, 8.2363e-02f, 2.0325e-01f, + 5.6988e-02f, -1.5118e-01f, 6.8897e-02f, +-4.6233e-40f, 1.2244e-40f, -3.9802e-40f, + 5.8530e-40f, -2.4162e-40f, 4.6793e-40f, +-4.8362e-40f, 3.3071e-40f, 1.7094e-40f, + 3.5249e-40f, -4.8579e-40f, 1.9374e-40f, + 6.2372e-42f, 5.8402e-41f, 3.2851e-40f, + 6.1488e-40f, 1.8086e-40f, -5.2451e-40f, +-3.0723e-40f, -5.6704e-40f, -5.9899e-40f, +-3.5975e-40f, -1.3818e-40f, -2.7285e-40f, + 2.4468e-40f, 8.3606e-41f, 1.8818e-40f, +-2.3749e-01f, -2.7008e-01f, -1.5222e-03f, + 1.4806e-01f, 9.0783e-02f, 2.7170e-02f, + 1.8706e-01f, 1.8162e-01f, -1.1799e-01f, +-1.9852e-40f, -4.8879e-40f, -3.1971e-40f, +-1.0245e-40f, 9.1421e-41f, 5.3018e-40f, + 2.2240e-40f, -1.4666e-40f, -4.4259e-40f, + 1.1835e-01f, -2.7624e-01f, 1.1446e-01f, + 1.3574e-01f, 4.3109e-01f, 1.3227e-01f, + 3.2554e-02f, 1.7139e-01f, -1.1988e-01f, + 3.5376e-02f, 8.9191e-02f, 6.7643e-02f, +-8.2716e-02f, 2.4178e-01f, 6.0818e-02f, +-6.7722e-02f, -3.3712e-02f, 3.0664e-02f, +-6.6948e-02f, 2.2886e-01f, 1.8143e-01f, + 1.8636e-01f, -2.4800e-01f, 1.7185e-01f, +-6.5479e-03f, 1.8828e-01f, -7.4464e-02f, +-2.8281e-30f, -5.8969e-31f, -2.3180e-31f, +-1.6163e-30f, -3.8426e-31f, -1.6788e-31f, +-1.9412e-30f, -4.1995e-31f, -1.7651e-31f, +-2.0525e-40f, 4.6680e-40f, 5.9108e-41f, + 1.0336e-40f, -5.7226e-41f, -6.1906e-40f, +-1.8693e-40f, 5.5777e-40f, 6.0898e-40f, +-3.4735e-41f, -3.2674e-40f, -2.3864e-41f, +-3.3596e-40f, 3.3107e-40f, 1.0843e-40f, + 5.1103e-40f, 6.0598e-40f, -3.6267e-40f, +-4.5583e-03f, -1.0635e-01f, -7.4962e-02f, +-1.2741e-01f, 2.7234e-01f, 1.0508e-01f, +-2.1207e-01f, 9.6720e-02f, 3.4641e-02f, + 1.1304e-12f, 1.1614e-12f, 9.7086e-13f, + 1.3361e-12f, 1.3697e-12f, 1.1286e-12f, + 1.2620e-12f, 1.2938e-12f, 1.0680e-12f, +-8.4197e-02f, 6.3834e-02f, 2.3157e-02f, +-2.1280e-02f, 2.9074e-01f, 8.5883e-02f, +-1.3695e-01f, -1.6047e-01f, -4.5834e-02f, +-1.3848e-01f, -6.6090e-02f, -7.7201e-02f, +-5.1963e-02f, 6.0643e-02f, -4.9932e-02f, + 1.1779e-01f, 1.7521e-01f, 3.0366e-02f, + 4.7601e-03f, 4.3941e-02f, -3.5985e-02f, + 1.7692e-02f, -2.3705e-01f, 2.1062e-01f, + 7.7174e-02f, -7.6616e-02f, 2.0102e-02f, +-3.6353e-06f, -3.5534e-06f, -3.2461e-06f, +-3.6813e-06f, -3.6196e-06f, -3.3222e-06f, +-3.5581e-06f, -3.5179e-06f, -3.2504e-06f, +-7.3892e-11f, -7.2930e-11f, -6.8104e-11f, +-7.9244e-11f, -7.7770e-11f, -7.2319e-11f, +-7.7297e-11f, -7.5673e-11f, -7.0195e-11f, +-1.5180e-10f, -1.5027e-10f, -1.4244e-10f, +-1.6013e-10f, -1.5761e-10f, -1.4940e-10f, +-1.5682e-10f, -1.5395e-10f, -1.4553e-10f, +-9.1167e-02f, 1.2374e-01f, -3.8304e-02f, + 2.2641e-01f, 2.4855e-01f, -4.3174e-02f, + 1.4364e-01f, 1.8438e-01f, 1.1617e-02f, + 6.1925e-40f, 3.3333e-40f, 1.8962e-40f, + 3.2481e-40f, -1.7566e-40f, -3.0456e-40f, + 2.7654e-40f, 3.8422e-41f, 4.9191e-40f, + 7.5657e-02f, -1.0697e-03f, 3.0319e-02f, +-4.7642e-02f, -9.4454e-02f, -2.6543e-02f, +-5.3129e-02f, -1.9667e-01f, -1.0851e-01f, +-8.5909e-03f, 1.2177e-01f, 2.6434e-01f, + 2.4468e-02f, 5.0484e-02f, 3.4698e-01f, +-1.4764e-03f, 3.7374e-02f, 1.2658e-01f, + 2.0602e-02f, -2.4624e-02f, 1.3741e-01f, + 1.8641e-02f, 4.0484e-01f, 3.2976e-01f, +-4.4809e-01f, -3.2104e-03f, 1.6290e-03f, + 8.1306e-41f, 2.0311e-40f, 2.9683e-40f, +-5.7636e-40f, 4.4291e-40f, 4.3356e-40f, +-7.1797e-41f, 4.5366e-40f, 3.9953e-40f, +-4.5418e-40f, 4.1805e-40f, -3.2458e-41f, +-9.4881e-41f, -8.6365e-41f, -1.9294e-40f, + 7.1954e-41f, -9.8565e-41f, -5.5540e-40f, +-5.3769e-40f, 1.4094e-40f, -1.5355e-40f, + 8.8038e-41f, -3.6848e-40f, -1.2237e-40f, +-2.8267e-41f, -1.7583e-40f, -5.9647e-40f, + 1.0929e-01f, 2.9895e-02f, -1.4923e-01f, +-1.1234e-01f, -1.0514e-01f, -1.3280e-02f, + 2.2255e-01f, 6.4152e-03f, -1.6309e-02f, +-1.5899e-40f, -7.2549e-41f, -2.6734e-40f, +-3.3842e-40f, 3.3255e-40f, 4.2694e-40f, + 5.2940e-40f, 3.2455e-40f, -3.7081e-40f, + 6.3639e-02f, -3.3720e-02f, -2.3453e-02f, + 1.9477e-01f, 5.2267e-02f, 1.8565e-02f, + 1.6048e-01f, 2.7636e-01f, 1.5930e-02f, + 1.7673e-03f, 6.3646e-02f, -1.5127e-02f, +-3.7787e-02f, -1.4037e-01f, -3.6231e-02f, +-1.5636e-02f, -7.8742e-02f, -2.4137e-02f, +-5.0748e-02f, 6.5641e-02f, -2.5353e-03f, + 8.4955e-02f, 7.4231e-01f, 1.3795e-01f, +-1.4552e-01f, 2.0869e-01f, 4.0739e-02f, +-2.0015e-41f, 5.2988e-40f, 2.7578e-40f, + 4.1051e-40f, 1.2834e-40f, -3.4898e-40f, +-1.1975e-40f, 4.2374e-40f, -3.0404e-41f, +-6.3014e-40f, 4.6330e-40f, -4.4141e-41f, + 2.5442e-41f, 5.7456e-40f, 2.3848e-40f, +-1.0788e-40f, -5.0563e-40f, -5.3638e-41f, + 3.5728e-40f, 1.9752e-40f, 6.1004e-40f, + 2.8189e-41f, -6.2151e-40f, 1.1807e-41f, + 6.5305e-41f, 5.2028e-40f, 1.3692e-40f, + 6.4391e-02f, -1.3079e-01f, -3.7980e-02f, +-3.2362e-01f, -3.7239e-01f, -8.0182e-02f, +-2.6787e-01f, -3.1240e-01f, -1.2798e-02f, +-1.2072e-40f, 5.3996e-40f, -3.4352e-40f, +-8.0996e-41f, -3.0208e-40f, 3.1848e-40f, +-5.6407e-40f, 2.4674e-41f, -2.1055e-40f, +-9.2897e-02f, 1.8040e-01f, -4.3269e-01f, +-7.6669e-02f, 4.3554e-01f, -4.4870e-02f, +-2.3249e-02f, -1.1805e-01f, 1.0507e-01f, +-5.2540e-02f, -3.6856e-01f, 1.1246e-01f, +-2.3632e-02f, 1.3165e-01f, -1.5380e-02f, +-1.1467e-02f, -5.3754e-02f, -4.1619e-02f, +-1.5635e-01f, 3.8584e-01f, -1.4434e-01f, + 1.7523e-01f, 3.7253e-02f, 4.9784e-01f, + 5.8484e-02f, -8.4711e-02f, -7.7498e-02f, +-1.6956e-40f, 5.4293e-41f, -2.5140e-40f, +-3.1995e-40f, -4.8337e-40f, 2.5539e-40f, +-1.1449e-40f, 1.9503e-40f, -1.7368e-40f, + 5.4753e-40f, 5.9720e-40f, -4.7821e-40f, + 3.8830e-40f, -3.1984e-40f, -2.7163e-40f, +-5.3411e-40f, 7.2638e-41f, 4.3186e-40f, + 4.6654e-40f, -5.9540e-40f, -2.8155e-40f, +-1.4801e-40f, -1.6945e-40f, 1.9723e-40f, + 5.8380e-40f, -6.1587e-40f, 3.3667e-40f, +-2.9327e-02f, -4.2746e-02f, -1.5018e-01f, + 8.6354e-02f, 2.8140e-01f, 1.2970e-02f, +-2.0755e-01f, 6.7548e-02f, -3.6049e-02f +} +, +{ + 9.5728e-41f, 5.3991e-40f, -1.3764e-40f, +-2.0389e-40f, 2.4254e-40f, 3.3492e-40f, + 6.5289e-41f, -3.0842e-40f, 5.5850e-40f, + 7.7599e-02f, 2.5043e-02f, -1.4099e-02f, +-3.3184e-02f, 5.6863e-01f, -2.7001e-02f, +-5.2659e-02f, 5.4713e-02f, 2.3991e-03f, + 2.2010e-02f, -3.9120e-02f, -1.1558e-01f, + 9.1633e-02f, 1.3070e-01f, 1.2489e-01f, +-4.4040e-02f, -1.6324e-02f, -4.9631e-02f, +-7.3548e-02f, -2.0492e-01f, 1.4043e-01f, +-6.0411e-02f, 5.7710e-02f, -3.6840e-02f, + 1.3173e-02f, 2.3215e-03f, 1.1820e-02f, + 2.5772e-02f, -1.3436e-01f, -5.9285e-02f, +-9.3983e-02f, 1.1545e-01f, 1.1602e-01f, +-1.8505e-02f, 6.1498e-02f, -1.3097e-02f, + 9.8690e-03f, -2.1338e-02f, -1.2175e-01f, + 1.7936e-02f, -2.7811e-02f, 6.7037e-02f, +-5.1401e-03f, 7.6421e-02f, -1.0794e-01f, + 4.6409e-02f, 3.4701e-01f, 2.6587e-02f, + 8.4175e-02f, 5.2712e-01f, 6.8999e-02f, +-8.0756e-02f, 1.9648e-01f, -8.4639e-02f, + 1.2818e-01f, 4.0660e-02f, 7.6715e-02f, + 8.7991e-02f, 4.6556e-01f, -4.0025e-02f, + 2.1251e-03f, -8.3784e-03f, 5.9859e-02f, + 1.9835e-40f, -3.4675e-40f, -7.9692e-41f, +-1.4304e-40f, 2.3927e-40f, -5.9796e-40f, + 3.8209e-40f, -6.3260e-41f, -9.2501e-41f, + 3.2007e-01f, 1.5800e-01f, -1.9594e-02f, +-4.5315e-02f, 1.0536e-01f, -8.0692e-02f, + 2.1185e-01f, -3.1418e-01f, -1.5257e-01f, + 8.6294e-02f, -1.3398e-01f, -1.0694e-01f, + 8.6084e-02f, -1.2393e-03f, 1.7549e-02f, +-1.5504e-01f, -1.3112e-01f, -3.5905e-02f, +-3.8190e-01f, 3.8393e-01f, 1.6587e-02f, + 1.5002e-01f, 1.9586e-01f, -2.6260e-01f, +-4.0159e-02f, -8.2891e-02f, -1.7761e-01f, +-1.8611e-01f, -1.1241e-02f, -4.2538e-02f, +-5.7898e-02f, 2.4583e-01f, 4.1590e-02f, + 2.4890e-02f, 7.9409e-03f, -2.7418e-02f, + 6.6194e-03f, -4.2441e-02f, -1.1167e-01f, +-1.3236e-01f, -7.9642e-02f, -6.0623e-02f, +-4.7198e-03f, 5.6904e-02f, 1.2651e-01f, + 1.2925e-01f, -5.9162e-02f, -9.1949e-04f, + 1.8668e-02f, -2.6361e-02f, -7.1042e-03f, +-4.3178e-02f, 2.6050e-04f, 4.4799e-02f, + 7.9674e-02f, 2.7656e-02f, 7.1211e-03f, + 1.1463e-01f, 1.0765e-01f, 7.6066e-02f, +-8.0780e-02f, -5.4875e-02f, 1.5209e-02f, +-3.7365e-13f, -3.7819e-13f, -3.5929e-13f, +-4.0298e-13f, -4.0881e-13f, -3.9033e-13f, +-3.9409e-13f, -3.9950e-13f, -3.8277e-13f, +-1.7847e-02f, -1.7537e-02f, -3.7313e-03f, + 2.6531e-02f, 7.5951e-02f, -4.0134e-03f, + 1.7387e-02f, 6.0044e-02f, -9.0211e-02f, + 2.7091e-02f, 8.8333e-02f, 1.0619e-01f, + 5.0470e-02f, 1.2406e-02f, 1.5503e-01f, +-1.5936e-02f, -2.2422e-01f, -2.4640e-02f, +-8.2430e-03f, -1.4097e-02f, -6.2474e-02f, + 8.0534e-02f, 1.8603e-01f, -3.1725e-02f, +-3.1621e-03f, 2.0362e-03f, -1.4002e-01f, +-7.3799e-03f, 1.5881e-01f, 6.7195e-02f, + 4.5946e-02f, 2.4358e-01f, 1.4677e-01f, +-7.4788e-02f, 6.7297e-02f, 9.0735e-02f, +-8.4553e-03f, -1.1877e-02f, 4.4209e-02f, +-1.4281e-02f, -6.8849e-02f, -4.1386e-03f, + 3.2286e-02f, 4.7128e-02f, -1.2988e-02f, +-2.2990e-02f, -8.9265e-02f, 6.4050e-02f, +-2.3354e-02f, 1.3846e-01f, -1.6256e-01f, +-6.5661e-02f, -2.8983e-02f, -4.3497e-02f, + 1.0597e-02f, -2.3534e-02f, -2.6068e-02f, +-7.8812e-02f, 1.9502e-01f, 6.8938e-03f, + 3.2025e-02f, 2.3353e-02f, 4.9225e-02f, +-5.0273e-40f, 1.2403e-41f, 5.8127e-40f, + 3.2777e-40f, -3.5740e-40f, 4.9781e-40f, +-2.4198e-40f, -4.6311e-40f, 1.3330e-40f, +-3.0803e-01f, 1.7804e-01f, 1.0604e-01f, + 4.1405e-01f, 1.9740e-01f, -5.3067e-02f, + 2.3738e-01f, -1.6828e-01f, 1.5338e-01f, + 6.6857e-03f, 1.8623e-01f, -1.2126e-01f, +-1.6323e-01f, -1.2719e-02f, -1.7743e-01f, +-1.3612e-01f, -3.4442e-02f, -1.0552e-01f, +-1.4560e-01f, 1.8771e-01f, 8.4508e-02f, + 5.8732e-02f, -2.2378e-01f, 1.2673e-01f, + 3.0455e-03f, 3.8438e-02f, -6.2235e-02f, + 1.9951e-02f, 2.6963e-01f, -1.8594e-01f, +-8.6550e-02f, -1.3097e-01f, -3.5032e-02f, + 2.0423e-02f, -9.0499e-02f, 1.7130e-01f, +-1.8592e-01f, 6.6808e-02f, -1.5768e-01f, +-6.4402e-02f, -1.2265e-01f, 6.8487e-02f, + 1.9899e-02f, 9.3376e-02f, 7.8577e-02f, +-1.3384e-01f, -7.6429e-02f, 1.7142e-02f, +-1.2385e-01f, -1.1821e-01f, -1.2716e-03f, + 5.3770e-02f, 1.4973e-01f, 1.4762e-01f, +-4.7688e-02f, -1.1733e-01f, -1.5032e-01f, +-2.0699e-01f, -9.4949e-02f, -2.6374e-02f, + 4.4489e-02f, 1.8376e-02f, -7.6844e-02f, + 1.8831e-40f, -2.6056e-40f, -4.7602e-40f, +-3.4079e-40f, 1.5054e-40f, 1.2387e-40f, + 2.3040e-40f, 1.4644e-40f, 5.6365e-40f, +-2.0809e-02f, 5.3674e-03f, 1.7057e-03f, + 2.4160e-01f, 4.1348e-01f, 3.5215e-02f, + 8.2154e-02f, 2.0431e-01f, 1.0366e-01f, +-1.5149e-02f, 1.0521e-01f, -4.1706e-02f, +-5.0651e-02f, 2.3615e-02f, -9.3860e-02f, +-1.0823e-01f, -6.3645e-02f, -1.1573e-01f, +-2.4116e-02f, 1.3546e-02f, -1.0298e-03f, + 1.2102e-02f, 2.2630e-02f, 1.1375e-01f, + 1.3966e-02f, 1.0754e-01f, 1.6621e-01f, + 1.6213e-02f, 2.0816e-01f, 8.9441e-02f, +-7.5452e-02f, 3.4580e-03f, -3.3317e-01f, + 5.0917e-02f, 1.3898e-01f, -1.0723e-01f, + 6.0473e-03f, 8.9741e-02f, -6.8206e-02f, +-7.1770e-02f, -3.5661e-01f, -2.8935e-01f, +-1.6324e-02f, 2.5728e-02f, -1.1281e-02f, +-1.3390e-01f, -9.3090e-02f, 4.3366e-02f, + 4.8620e-02f, 1.4917e-01f, 1.6295e-01f, + 2.4123e-03f, -7.6347e-02f, -8.0226e-02f, + 6.0740e-03f, 3.7065e-02f, 4.5518e-04f, +-1.3793e-01f, 2.3848e-01f, -1.1199e-01f, + 1.0422e-01f, 1.1214e-01f, 3.3457e-02f, +-3.2827e-40f, 5.9135e-40f, 3.3773e-40f, +-5.8903e-40f, -5.9439e-41f, 1.9973e-40f, +-3.6141e-40f, -4.7563e-40f, -1.0222e-40f, + 7.3457e-02f, -8.2031e-02f, -2.9504e-02f, +-5.3420e-02f, 4.9697e-02f, 7.6779e-03f, + 2.1180e-02f, 1.1069e-02f, -1.1940e-02f, + 1.7302e-02f, 9.9063e-02f, 4.8847e-02f, + 4.9513e-02f, 2.4240e-01f, 2.7174e-01f, + 2.7487e-01f, 1.9410e-01f, 3.1165e-01f, +-6.7532e-03f, -1.1608e-01f, -5.0876e-02f, + 1.2107e-01f, 3.1073e-01f, 7.1681e-02f, +-1.1411e-01f, -1.7902e-01f, 7.8898e-02f, +-2.0117e-02f, 3.6394e-01f, 1.4546e-01f, +-8.0861e-03f, -4.3956e-02f, -1.3473e-01f, + 5.1519e-02f, -3.1122e-01f, -4.6847e-02f, + 5.0405e-02f, -1.0611e-02f, -1.0557e-01f, +-4.4346e-02f, -1.4505e-01f, 5.3977e-02f, +-2.6288e-01f, 1.8247e-02f, -1.1606e-01f, + 1.0706e-01f, -9.3675e-02f, 1.1757e-01f, +-5.0440e-02f, -1.1784e-01f, -4.0599e-02f, + 1.9618e-01f, 9.9370e-02f, 8.2258e-02f, + 2.6762e-02f, -5.0740e-02f, -1.8302e-02f, + 5.3340e-02f, 6.5710e-02f, 6.1552e-03f, +-7.2158e-02f, -3.5563e-02f, 8.2140e-02f, + 3.1534e-40f, 3.6427e-40f, 3.0437e-40f, + 4.2856e-41f, -4.7870e-40f, 5.6317e-40f, +-2.4673e-40f, -6.9736e-41f, 8.1050e-41f, + 1.4544e-01f, 8.2490e-02f, -9.2349e-03f, + 2.6124e-01f, 2.7494e-01f, -5.4946e-02f, + 1.8233e-01f, 1.2428e-01f, -6.7498e-03f, + 9.7639e-02f, -6.2085e-03f, 4.8154e-02f, + 2.7379e-02f, -1.8443e-01f, 4.0402e-02f, + 1.8893e-03f, -5.2282e-03f, 6.7548e-03f, +-1.6559e-01f, 9.7901e-02f, -1.1869e-01f, +-2.1287e-01f, 4.1023e-01f, -9.7379e-02f, +-1.3767e-03f, -1.6343e-01f, -9.5059e-02f, +-1.3547e-01f, 2.0094e-01f, 1.0102e-01f, +-2.1311e-01f, -1.5088e-01f, 1.8175e-01f, + 4.6946e-02f, -1.3963e-01f, 1.0220e-01f, + 1.7536e-01f, -2.4758e-01f, -1.1481e-02f, + 6.1596e-02f, -4.0352e-01f, -1.4348e-01f, + 3.1690e-02f, 1.7240e-01f, 7.0780e-02f, + 9.9953e-02f, -1.4154e-01f, -8.3038e-02f, + 1.4527e-01f, -2.1430e-01f, -7.5840e-02f, + 1.6146e-01f, 3.7508e-02f, 5.3833e-02f, + 1.6723e-01f, 1.7113e-01f, -4.8512e-02f, + 2.1319e-01f, 4.7031e-01f, 1.1570e-01f, + 2.0330e-01f, 2.4636e-01f, 6.9924e-02f, +-2.1165e-40f, -1.9259e-40f, -5.0990e-41f, +-7.1298e-42f, -4.2590e-41f, 3.1709e-40f, + 4.1065e-40f, -4.2585e-41f, 3.4243e-40f, +-1.0338e-40f, 4.6039e-40f, -3.3818e-40f, +-3.9589e-41f, 5.9574e-40f, -5.8014e-41f, + 1.4505e-41f, -3.5326e-40f, -3.9806e-40f, + 4.2423e-40f, -1.7055e-40f, -4.9666e-40f, + 2.2853e-40f, -2.4684e-40f, -1.3794e-40f, +-5.6764e-40f, -1.7905e-40f, -5.8915e-40f, +-1.4755e-27f, -2.0405e-28f, -4.8677e-30f, +-7.1151e-28f, -9.7603e-29f, -3.5264e-30f, +-2.7455e-29f, -5.7734e-30f, -2.8633e-31f, +-5.9960e-06f, -5.9595e-06f, -5.8686e-06f, +-6.0381e-06f, -6.0191e-06f, -5.9605e-06f, +-5.9849e-06f, -5.9981e-06f, -5.9654e-06f, +-4.8277e-22f, -7.0529e-22f, -8.7179e-22f, +-4.6334e-22f, -6.3505e-22f, -8.8438e-22f, +-3.3883e-22f, -4.2421e-22f, -5.9002e-22f, +-2.9574e-40f, 4.0860e-40f, -1.5966e-40f, +-6.7527e-41f, 7.6661e-41f, -5.9491e-40f, + 3.0843e-40f, 8.1079e-41f, -2.5140e-40f, +-3.7315e-40f, 9.4787e-41f, 4.6794e-40f, + 1.9383e-40f, 5.0336e-41f, 3.0561e-40f, +-5.4286e-40f, 5.5999e-40f, -4.6977e-40f +} +, +{ +-1.7778e-01f, 5.2351e-03f, 1.6035e-02f, +-9.7482e-02f, -1.1056e-02f, -5.0999e-02f, + 1.7460e-01f, -4.0005e-02f, -5.0911e-02f, +-9.3843e-02f, 1.2640e-01f, -1.5016e-02f, +-5.2880e-01f, 1.9469e-01f, -9.0037e-02f, +-8.9136e-02f, 9.8632e-02f, -1.5009e-01f, +-1.8080e-01f, 1.1396e-01f, -2.6178e-02f, +-1.6689e-02f, 1.4132e-01f, -6.7769e-03f, +-2.1120e-02f, 6.8616e-02f, -7.8209e-02f, + 4.8237e-02f, -2.5303e-02f, 1.7882e-02f, +-4.2852e-02f, -1.5071e-02f, -3.3818e-02f, + 1.3635e-01f, 4.5330e-01f, 2.1489e-01f, + 2.7362e-02f, -7.4152e-02f, 2.3185e-03f, + 1.8771e-01f, -2.0827e-02f, -7.5581e-02f, + 1.4675e-01f, -6.5552e-02f, 4.2292e-02f, + 1.3990e-01f, -4.1598e-01f, 2.1609e-03f, + 1.5997e-01f, 1.1375e-01f, -1.8272e-02f, + 1.9045e-02f, -4.2702e-02f, -2.5602e-02f, + 1.6432e-01f, -1.2783e-01f, -1.8285e-03f, + 2.9414e-01f, 1.7401e-01f, -2.6321e-01f, +-1.0125e-01f, 1.3565e-01f, 1.5894e-02f, +-3.7351e-40f, 6.3010e-40f, -1.2071e-40f, +-4.6380e-40f, 1.8442e-40f, -3.5994e-40f, +-2.1459e-40f, -4.3455e-40f, -6.1978e-41f, +-2.3638e-40f, -4.6965e-40f, -3.4232e-40f, +-1.6517e-40f, 4.7178e-40f, -1.6757e-40f, + 6.7890e-41f, -4.3000e-40f, 1.8323e-40f, + 4.5416e-40f, -2.9010e-40f, -1.5200e-40f, +-3.5533e-40f, -8.7351e-41f, 6.5595e-42f, + 5.1625e-40f, -6.0418e-40f, -2.7846e-40f, +-2.1861e-10f, -2.2422e-10f, -2.1298e-10f, +-2.2653e-10f, -2.3500e-10f, -2.2512e-10f, +-2.1802e-10f, -2.2681e-10f, -2.1608e-10f, +-3.2862e-40f, 3.4241e-40f, -1.3264e-40f, + 2.8762e-40f, 1.3843e-40f, 3.0949e-40f, +-3.7702e-40f, 2.6194e-40f, 2.1451e-40f, +-3.2283e-40f, -5.5487e-40f, 5.8744e-40f, + 1.6124e-40f, 3.3512e-40f, 3.1454e-40f, +-3.5417e-40f, -5.7692e-40f, 5.5184e-40f, + 3.5641e-40f, -4.3187e-40f, -3.5314e-40f, + 4.9246e-40f, 5.9593e-40f, 8.3132e-41f, +-2.3841e-40f, -5.6196e-40f, -3.2230e-41f, + 4.3824e-40f, -3.8344e-40f, -9.9086e-42f, +-2.9323e-40f, 2.1916e-40f, 4.4739e-40f, + 5.6837e-41f, 5.1796e-41f, -2.4338e-40f, +-2.2853e-40f, -3.8920e-40f, 6.1587e-40f, +-2.9474e-41f, 4.6214e-40f, -3.6292e-40f, +-1.4928e-40f, -3.6708e-41f, 5.2020e-40f, +-1.2983e-12f, -2.6539e-12f, -1.9817e-12f, +-6.5613e-12f, -1.0255e-11f, -6.6919e-12f, +-8.3217e-12f, -1.7832e-11f, -1.1086e-11f, +-4.9138e-40f, -9.0061e-42f, 4.6251e-40f, +-2.9970e-41f, -2.5468e-40f, -3.5660e-40f, + 2.5450e-40f, -9.5634e-38f, -3.2369e-32f, +-1.0233e-06f, -8.2108e-07f, -1.1668e-06f, +-5.9592e-07f, -3.9529e-07f, -5.7435e-07f, +-6.0253e-07f, -3.8785e-07f, -4.9365e-07f, +-8.9372e-37f, -2.1590e-36f, -2.1060e-40f, +-1.5666e-35f, -1.1466e-38f, -2.3366e-40f, +-5.4077e-38f, 5.0487e-40f, -3.3736e-40f, +-1.5357e-13f, -8.4607e-14f, -1.9206e-16f, +-5.5373e-13f, -3.0787e-13f, -1.0513e-15f, +-1.0468e-13f, -8.6069e-14f, -2.2453e-16f, +-4.7501e-14f, -1.3426e-13f, -1.1133e-13f, +-1.3801e-14f, -2.4024e-14f, -3.5120e-14f, +-1.9817e-17f, -1.3229e-17f, -3.2854e-17f, +-1.4365e-18f, -4.1143e-15f, -9.2614e-14f, +-1.1174e-19f, -1.6235e-15f, -1.5600e-13f, +-1.2643e-21f, -3.9578e-17f, -1.2038e-14f, +-2.9789e-40f, -4.6452e-40f, 1.5649e-40f, +-1.8445e-40f, -5.2942e-40f, 2.5130e-40f, + 6.2269e-40f, 3.9166e-41f, -2.4197e-40f, + 9.0835e-02f, -5.2035e-03f, -2.5980e-02f, +-1.0090e-01f, -7.4167e-02f, 1.3364e-01f, + 1.0302e-01f, -1.5250e-01f, 1.2417e-01f, + 4.7205e-02f, -2.3839e-01f, -1.4983e-02f, + 5.6824e-02f, -1.8259e-02f, 9.6426e-02f, + 5.9740e-03f, -1.4198e-01f, -2.1076e-01f, +-1.5837e-01f, 6.4749e-02f, -2.1417e-01f, +-3.4048e-02f, 4.9638e-01f, 2.0984e-03f, +-1.4335e-01f, 4.8295e-02f, -9.2209e-02f, + 1.9450e-01f, -1.3603e-01f, 1.2008e-01f, + 1.6803e-01f, 5.6805e-02f, 1.1518e-01f, + 5.9320e-02f, -3.8200e-02f, -1.1340e-01f, +-8.6877e-02f, 1.1533e-01f, -4.9870e-02f, +-7.2811e-03f, 2.5730e-01f, -1.8536e-01f, +-6.4965e-02f, 1.0364e-01f, 1.3706e-02f, + 4.6974e-02f, -1.0049e-01f, -1.7460e-01f, +-1.7910e-01f, 3.0771e-01f, -2.5757e-01f, +-2.2846e-02f, -3.7491e-03f, -5.2171e-03f, +-4.7762e-02f, -4.7776e-02f, 5.1125e-01f, +-2.0210e-01f, 6.4815e-02f, -6.1606e-02f, + 7.3686e-04f, -1.6226e-01f, -3.0327e-02f, + 5.6501e-40f, 5.2828e-40f, -5.9773e-40f, +-4.3530e-40f, -1.1658e-40f, 4.9705e-41f, + 4.8101e-40f, 5.0236e-40f, 2.0476e-40f, +-1.1412e-01f, 1.3391e-01f, -1.2279e-01f, + 1.4370e-01f, 3.7617e-01f, 7.1407e-02f, + 6.9661e-02f, 3.1963e-01f, -1.7089e-02f, +-4.7530e-02f, 6.5411e-02f, -2.4915e-02f, + 3.3429e-02f, -1.3899e-01f, -3.3875e-02f, +-1.9261e-02f, -1.3162e-01f, 1.1415e-01f, + 2.0599e-02f, -3.8667e-02f, -7.2190e-02f, +-2.1112e-01f, -1.6525e-01f, -2.3430e-02f, +-1.2287e-02f, -2.6637e-01f, 1.0859e-03f, +-2.8564e-02f, 4.8846e-02f, 4.2412e-02f, + 1.4632e-01f, 1.5974e-02f, -1.0699e-01f, + 5.5661e-02f, -2.0952e-01f, 2.4151e-02f, +-2.3510e-02f, -5.0570e-02f, 1.0799e-01f, + 1.7495e-01f, -1.5788e-03f, -1.6447e-02f, + 7.7642e-02f, -9.3888e-02f, 1.3891e-03f, + 2.2658e-02f, 1.4058e-01f, 1.0639e-01f, +-5.5626e-02f, -3.0794e-01f, -5.7160e-02f, + 1.0874e-01f, -8.3907e-02f, 4.2106e-02f, + 1.7688e-02f, 1.8090e-01f, -2.1718e-03f, +-1.0659e-02f, -2.1302e-01f, 1.0056e-01f, +-6.0693e-02f, -2.3624e-02f, 6.3688e-03f, +-2.7320e-40f, -1.3336e-40f, 2.4202e-41f, +-7.1225e-41f, 1.2848e-40f, 1.5426e-40f, +-4.2798e-40f, 6.5075e-41f, 6.2629e-40f, + 1.6905e-01f, -1.7379e-01f, -2.1360e-02f, +-2.9396e-01f, 1.1782e-01f, 7.9111e-02f, +-6.4767e-03f, -1.9949e-01f, 5.4243e-02f, +-3.2753e-02f, -1.5810e-01f, 5.2257e-02f, +-1.8133e-02f, 2.0548e-01f, -2.8071e-01f, +-5.3725e-02f, 8.4067e-02f, -7.4639e-02f, + 8.9137e-02f, -2.3078e-01f, -1.9626e-01f, + 3.1276e-01f, 1.5332e-01f, -1.9590e-01f, +-1.8318e-02f, 6.8460e-02f, 9.1476e-03f, + 8.2398e-02f, 8.5883e-03f, 7.6830e-02f, +-1.4580e-01f, 4.6253e-01f, -3.1900e-01f, +-1.1051e-01f, 6.3807e-02f, -2.5130e-02f, +-1.2029e-01f, -3.8982e-03f, 2.1654e-02f, +-3.2017e-01f, 2.0265e-01f, -1.7311e-01f, +-1.3229e-02f, 1.3805e-01f, -6.2689e-02f, +-3.6619e-02f, -1.9366e-01f, 2.7177e-01f, + 5.5937e-02f, 7.9713e-02f, -2.3872e-01f, +-3.9690e-02f, 2.2914e-02f, -1.7779e-02f, + 1.1110e-01f, 1.6618e-01f, 3.6139e-01f, + 7.9777e-02f, 4.3655e-01f, 3.0597e-01f, +-5.5125e-02f, 6.1229e-02f, 1.2414e-01f, + 2.1644e-40f, 7.2343e-41f, 5.5580e-40f, +-4.3927e-40f, 5.0561e-40f, -1.5560e-41f, +-3.2783e-40f, -8.8219e-41f, 5.4415e-40f, +-6.7176e-02f, -3.4930e-02f, -2.7087e-02f, + 1.0489e-01f, 2.1178e-01f, -1.6752e-01f, +-1.2627e-01f, -2.4207e-01f, -7.4667e-02f, +-3.1470e-02f, -1.3365e-02f, 8.7742e-02f, +-2.2809e-02f, -4.7991e-01f, 2.4740e-02f, + 6.4418e-02f, 3.4818e-02f, -2.9275e-01f, +-2.8830e-01f, -7.0458e-02f, 7.8922e-02f, +-1.4436e-01f, 4.1068e-02f, 6.2896e-02f, + 4.1061e-03f, 2.1844e-01f, 9.0488e-02f, +-1.1085e-01f, 8.3761e-02f, 3.2634e-02f, + 3.2470e-01f, -2.7760e-01f, 4.1235e-02f, + 8.6625e-02f, 2.6816e-01f, -1.3560e-01f, + 3.8789e-01f, 3.2406e-01f, 1.0631e-01f, + 7.5131e-02f, -2.0206e-01f, 1.3027e-01f, + 4.0382e-02f, 2.4350e-01f, -3.6042e-03f, +-1.0063e-01f, 1.9418e-01f, -7.7039e-02f, + 9.4531e-03f, 7.1605e-02f, 1.4004e-01f, +-2.0591e-02f, 4.5944e-02f, -2.6721e-03f, +-3.4665e-03f, 2.2560e-01f, -8.2930e-02f, +-1.5507e-01f, 2.7206e-01f, -2.8665e-02f, +-3.4909e-03f, 1.7696e-02f, -8.5492e-02f, + 2.1541e-40f, -3.3029e-40f, 1.7678e-40f, +-3.9857e-40f, -1.1965e-40f, -8.6754e-41f, +-4.0721e-40f, 2.2073e-41f, 4.2728e-40f, +-1.0496e-02f, 5.4120e-02f, -1.6498e-02f, +-5.9387e-02f, 2.3757e-01f, -8.0381e-02f, + 2.3739e-02f, -1.3715e-01f, -3.0906e-02f, +-8.5760e-03f, 2.4518e-02f, -6.9090e-02f, + 2.1623e-02f, 8.9641e-02f, 9.9031e-02f, +-1.0052e-02f, 4.6506e-02f, -1.5756e-01f, + 8.5003e-02f, -3.6434e-03f, 1.3816e-02f, + 9.0532e-02f, 2.3661e-01f, 1.8077e-01f, + 2.8120e-02f, 4.3753e-02f, 2.2981e-02f, + 3.5830e-02f, 5.7995e-02f, -5.6879e-03f, + 3.7708e-02f, -2.6373e-01f, 2.0886e-01f, +-4.0632e-02f, 1.6891e-01f, -6.8996e-02f, +-1.1972e-01f, -4.3628e-02f, 2.0278e-02f, +-1.4818e-01f, 4.0844e-02f, 1.5917e-01f, +-4.5684e-02f, 1.4075e-01f, -2.0784e-02f, +-1.1533e-03f, -2.7897e-01f, -8.8707e-02f, +-1.7907e-02f, 1.8400e-01f, 1.1026e-01f, +-2.3183e-03f, 6.3875e-02f, -4.2394e-03f, + 3.2021e-02f, -8.8955e-02f, -2.2298e-02f, + 8.1353e-02f, 3.3079e-01f, -2.0616e-01f, +-3.5802e-02f, 4.9804e-02f, -9.2712e-02f, +-1.5940e-07f, -1.6158e-07f, -1.5812e-07f, +-1.6273e-07f, -1.6555e-07f, -1.6260e-07f, +-1.5867e-07f, -1.6192e-07f, -1.5975e-07f +} +, +{ +-1.5080e-02f, 1.1294e-01f, 7.1187e-02f, + 1.1628e-02f, -8.4938e-01f, 8.5457e-02f, +-3.9642e-02f, -2.3879e-02f, 1.0029e-02f, + 2.6648e-40f, 9.1590e-41f, 3.3285e-40f, +-3.3445e-40f, -2.5194e-40f, -2.0946e-40f, + 3.6800e-40f, -1.1584e-40f, 6.2195e-40f, +-1.3560e-41f, -8.0151e-41f, 4.4048e-40f, +-4.1209e-40f, 2.7411e-40f, 3.2419e-40f, + 5.8333e-40f, 1.1503e-40f, -5.0783e-40f, +-5.5301e-02f, -2.4971e-02f, 4.9251e-02f, +-2.5589e-01f, 1.6560e-01f, -8.0956e-02f, + 4.0518e-01f, 3.1320e-02f, -1.4262e-01f, + 1.2250e-02f, 5.1989e-02f, 3.0706e-03f, +-7.9534e-02f, -1.9801e-01f, -2.7791e-02f, + 2.1768e-01f, 6.9978e-02f, -4.2325e-02f, +-1.9165e-02f, -2.1179e-02f, -2.1558e-02f, + 3.6816e-01f, -5.2929e-02f, 9.5790e-02f, + 2.8095e-01f, -1.4731e-01f, 3.4182e-02f, + 2.3702e-02f, 4.0764e-02f, 3.5767e-02f, +-8.4586e-02f, 1.9025e-01f, -1.6794e-01f, +-1.0273e-02f, 3.2259e-01f, -1.5841e-01f, + 2.6794e-01f, 5.2084e-02f, 1.2761e-02f, +-1.1169e-01f, -1.7808e-01f, 1.1363e-01f, +-1.3808e-01f, -1.7764e-02f, -1.7420e-02f, + 1.5840e-02f, -2.3405e-01f, 7.6361e-03f, +-6.6082e-02f, 7.9778e-02f, -2.0423e-01f, +-1.9594e-02f, -6.3370e-02f, 3.3351e-02f, +-2.0396e-40f, -3.0207e-40f, -3.2364e-40f, + 2.3575e-40f, 5.8301e-41f, -3.7432e-40f, +-3.6291e-40f, 3.3441e-40f, 1.4574e-40f, +-4.3792e-40f, -2.5814e-40f, -3.4986e-41f, +-3.4920e-40f, -4.4757e-40f, 3.2192e-40f, + 4.7222e-40f, -7.3197e-41f, -3.4635e-40f, + 5.1495e-02f, 7.8843e-02f, 4.2243e-02f, +-2.1245e-01f, 1.9568e-01f, 7.9369e-03f, + 2.2795e-02f, 2.2801e-02f, 7.6895e-02f, + 3.0044e-01f, -1.4041e-01f, -2.3677e-02f, +-1.1656e-01f, -7.5113e-02f, 1.0625e-02f, +-1.2133e-02f, 5.0658e-02f, -7.2944e-02f, +-3.3652e-02f, -2.0452e-01f, -4.1048e-02f, + 2.8531e-01f, 1.2116e-01f, -2.1526e-02f, +-2.4564e-01f, -4.1870e-02f, -5.5819e-02f, +-2.3157e-01f, -2.5594e-02f, 1.1154e-01f, + 2.1234e-01f, 3.2762e-01f, -2.9000e-01f, + 1.8591e-02f, -5.9820e-02f, -9.0807e-02f, +-3.0027e-01f, -1.8370e-01f, 1.2086e-02f, + 2.1178e-02f, 2.9559e-01f, 1.2966e-01f, + 6.8542e-02f, 7.7710e-03f, -6.0304e-02f, + 3.3019e-03f, -1.9135e-02f, 9.3227e-03f, +-9.9003e-03f, -1.0101e-01f, -3.3513e-01f, +-8.4091e-03f, -1.5918e-02f, -3.4323e-02f, + 3.8770e-40f, -2.8639e-40f, 4.6953e-40f, + 4.2631e-40f, 6.2568e-41f, -5.3500e-40f, +-2.1987e-40f, 1.3435e-40f, 4.4101e-40f, +-3.9973e-40f, 6.3046e-40f, 1.6046e-40f, + 4.4338e-40f, 1.6940e-41f, 4.1598e-40f, + 2.6132e-40f, -2.9888e-40f, -7.5708e-41f, +-1.5991e-02f, 8.2749e-02f, -6.3776e-02f, +-3.2220e-03f, 4.1443e-02f, -8.1219e-02f, +-1.1231e-01f, 6.7586e-01f, -1.7600e-01f, +-4.0371e-02f, -7.9044e-02f, 1.2451e-01f, + 4.1907e-02f, -8.8159e-02f, -1.1229e-01f, +-4.0654e-03f, -4.4087e-03f, 1.2942e-01f, + 9.3318e-03f, -6.5085e-02f, 1.0165e-02f, +-2.8758e-02f, -4.9997e-02f, 4.6069e-02f, + 4.2107e-04f, 2.1718e-01f, 3.1080e-03f, +-9.1277e-03f, -2.8568e-02f, 1.6202e-02f, +-8.2490e-03f, 1.2888e-01f, -1.3159e-01f, + 1.6065e-02f, 4.0143e-02f, 2.7043e-01f, +-3.4809e-02f, -8.1302e-03f, 6.0786e-02f, + 5.1845e-02f, 4.6995e-01f, -1.0392e-02f, + 2.3359e-02f, -1.8364e-01f, -3.7343e-01f, +-8.2996e-02f, 9.7724e-02f, -6.1012e-02f, + 2.8225e-02f, 8.8706e-02f, 1.3443e-02f, + 3.7515e-03f, 1.7772e-02f, 6.5945e-03f, +-7.3847e-12f, -7.5629e-12f, -6.9337e-12f, +-7.6292e-12f, -7.8624e-12f, -7.2877e-12f, +-7.0582e-12f, -7.3197e-12f, -6.8467e-12f, + 1.5445e-11f, 2.0754e-11f, 2.0524e-11f, + 2.1239e-11f, 2.5909e-11f, 2.5983e-11f, + 2.0986e-11f, 2.5190e-11f, 2.2478e-11f, +-4.7164e-02f, -2.4754e-02f, -1.8256e-02f, + 1.0526e-01f, -4.6010e-03f, -2.2784e-02f, +-5.2028e-02f, -1.6408e-01f, 7.9112e-03f, +-8.1863e-02f, 4.2772e-02f, -9.9446e-04f, +-5.5521e-02f, -1.1264e-01f, -4.5782e-02f, +-1.1026e-01f, 2.1443e-02f, -4.5120e-02f, +-1.4141e-02f, -2.8116e-03f, 2.6990e-02f, +-2.0201e-01f, 4.3214e-01f, 2.9373e-02f, +-2.1768e-01f, -2.7230e-02f, 5.5396e-03f, + 5.0196e-02f, 1.5506e-01f, -5.7328e-02f, + 4.8323e-02f, 3.8243e-02f, -1.3533e-01f, +-9.8862e-03f, -5.6971e-02f, -7.1500e-02f, + 1.0272e-01f, 7.4686e-02f, 7.4732e-02f, + 8.3744e-02f, 1.5834e-01f, 2.9221e-02f, + 6.5641e-02f, 7.7697e-02f, 3.5746e-02f, +-1.6614e-01f, -2.3128e-01f, 4.4691e-02f, + 6.3546e-02f, -3.8105e-01f, 3.4110e-02f, +-3.5022e-02f, -2.3782e-02f, 2.8664e-02f, +-3.8813e-41f, -2.8626e-40f, -9.0218e-41f, + 4.1216e-40f, -4.4215e-40f, 3.1198e-40f, + 5.6281e-40f, 2.0477e-40f, 2.7797e-40f, +-4.4903e-40f, -6.2574e-41f, 4.9971e-40f, + 5.0135e-40f, -3.1945e-40f, -2.4694e-40f, + 2.6587e-40f, -4.9583e-40f, -4.9771e-40f, + 3.7139e-02f, 5.2936e-04f, -2.3658e-02f, +-3.6199e-01f, -5.1912e-02f, -5.1969e-02f, + 2.5415e-01f, 2.4109e-01f, 9.8721e-03f, + 5.5061e-02f, -4.7469e-02f, 3.0045e-02f, + 2.1565e-03f, -2.3866e-02f, -2.3496e-02f, + 6.0892e-02f, -4.6442e-04f, -5.0200e-02f, + 5.4971e-02f, -1.7234e-02f, -3.2759e-03f, + 4.8225e-01f, -1.1234e-01f, 3.8257e-02f, + 5.2105e-02f, -2.8473e-03f, -1.0355e-02f, +-9.5654e-03f, -1.8751e-01f, 1.7079e-02f, + 7.0133e-02f, 7.6363e-01f, -8.7388e-02f, +-5.6536e-02f, -1.9152e-01f, -1.6043e-01f, + 2.0359e-01f, 7.4214e-02f, 3.1970e-02f, +-1.8199e-01f, -1.9386e-01f, -2.5967e-03f, +-3.4609e-02f, 3.3870e-02f, 5.8835e-02f, + 8.8220e-02f, 9.9265e-02f, 7.1240e-03f, +-9.1395e-02f, -3.1699e-01f, -2.9120e-02f, +-1.8436e-02f, -2.1432e-02f, -4.5465e-02f, +-3.2013e-40f, 3.2019e-40f, 4.8747e-41f, + 2.6585e-40f, 6.1463e-40f, 1.4176e-40f, +-1.5286e-40f, 3.0543e-40f, 7.2032e-41f, +-6.0758e-40f, -3.6200e-40f, 1.2123e-40f, + 1.3627e-40f, 3.2983e-40f, 3.6171e-40f, +-4.2148e-40f, 1.1102e-40f, 3.2714e-40f, +-3.4763e-02f, -3.1632e-02f, 3.0044e-02f, +-2.0935e-01f, 1.3533e-01f, -9.1607e-03f, +-1.5931e-01f, 1.0771e-01f, -6.6518e-02f, + 2.4399e-02f, 2.2923e-03f, 5.1575e-02f, +-1.4154e-01f, -1.0013e-02f, -7.5696e-02f, + 1.0849e-01f, 1.2575e-01f, -7.3161e-02f, +-1.5217e-02f, -2.7659e-02f, -3.1401e-02f, + 3.4960e-01f, 7.2390e-02f, 2.0722e-02f, + 3.9440e-01f, 9.1821e-04f, 1.7842e-02f, +-1.5670e-02f, 5.3020e-02f, 6.0536e-02f, +-1.8853e-01f, 2.7532e-01f, -1.9681e-01f, + 8.3258e-02f, 9.4285e-02f, -1.2695e-01f, + 2.7593e-01f, 1.1456e-01f, 1.6048e-02f, +-5.1675e-01f, 1.4727e-01f, 7.5170e-02f, +-6.9143e-02f, -9.2948e-02f, 3.4687e-02f, + 1.4128e-02f, -7.9962e-02f, 8.0446e-02f, + 3.7011e-02f, -1.3400e-01f, -2.0725e-02f, +-6.4981e-03f, 7.0724e-02f, 6.6167e-02f, +-4.5940e-41f, 2.5437e-40f, -3.3111e-40f, + 5.9661e-40f, 6.2521e-40f, 5.6418e-40f, + 1.9187e-40f, -5.8872e-40f, 5.5747e-40f, +-1.6402e-11f, -2.2097e-11f, -1.7224e-11f, +-2.2755e-11f, -2.9977e-11f, -2.1231e-11f, +-1.3688e-11f, -1.7479e-11f, -1.3081e-11f, + 6.4790e-03f, -3.8464e-03f, -1.0008e-02f, +-2.6001e-02f, -7.9483e-02f, 3.3711e-02f, + 2.6659e-03f, -3.2634e-02f, 1.0767e-02f, + 4.9939e-03f, 1.4064e-02f, -3.4294e-02f, + 4.8529e-02f, 6.3386e-01f, -3.6805e-02f, +-1.3703e-01f, 2.5878e-02f, -4.8617e-02f, + 3.2186e-02f, 6.6382e-02f, 1.9305e-02f, + 7.0196e-02f, -1.6892e-01f, -2.8980e-02f, + 9.7762e-02f, 9.7998e-03f, -5.1620e-03f, + 5.0753e-02f, -4.5071e-03f, -3.9836e-02f, +-6.0381e-02f, -9.2016e-02f, 9.5433e-02f, +-1.0045e-02f, 8.7955e-03f, 4.9429e-02f, +-1.8363e-02f, -1.1912e-01f, 9.7347e-03f, +-1.5657e-01f, -2.1035e-01f, -4.9737e-02f, +-3.0025e-02f, -6.4959e-02f, -5.6107e-02f, + 3.2927e-40f, 5.7263e-40f, 6.2889e-40f, +-6.0716e-39f, 5.3050e-41f, -1.7152e-40f, +-3.2493e-38f, -1.5841e-40f, -1.9343e-40f, + 4.9763e-40f, 5.5142e-40f, -4.3462e-40f, +-2.2649e-40f, 1.4321e-40f, -2.6779e-40f, + 2.3072e-41f, 5.4080e-40f, -6.4200e-41f, + 2.2827e-40f, -5.4515e-41f, -4.1768e-40f, + 3.9033e-40f, 6.1988e-41f, 5.9877e-40f, +-4.3355e-41f, -5.1088e-40f, 5.9845e-40f, +-4.8238e-40f, -1.8586e-40f, 4.8699e-40f, +-9.7225e-41f, 4.3387e-40f, -4.3683e-40f, +-7.9278e-41f, -5.3614e-40f, 2.1911e-40f, +-3.3982e-40f, -5.3335e-40f, 3.8540e-40f, + 1.9051e-40f, -2.0840e-40f, 2.2868e-40f, +-3.5020e-40f, -3.4276e-40f, 2.7395e-42f, + 3.9197e-40f, 6.1843e-40f, -1.5888e-40f, + 4.3516e-40f, -6.1852e-40f, -5.3692e-40f, +-4.3268e-40f, 3.5154e-40f, 3.4477e-40f, +-4.8414e-40f, 2.2647e-40f, -2.5591e-40f, + 4.6326e-40f, -3.0462e-40f, 4.7817e-40f, +-4.9853e-40f, -5.3425e-40f, -2.9848e-40f, +-1.3329e-07f, -1.3784e-07f, -1.3049e-07f, +-1.3376e-07f, -1.3905e-07f, -1.3204e-07f, +-1.2479e-07f, -1.2994e-07f, -1.2410e-07f +} +, +{ +-2.5964e-02f, 2.9670e-02f, 1.2100e-01f, +-3.0371e-02f, -1.5277e-02f, -1.8589e-01f, +-1.8650e-02f, -1.2852e-01f, -6.6297e-02f, + 9.7934e-04f, -5.1835e-02f, -1.0278e-03f, +-1.2336e-02f, 2.2130e-01f, -1.2373e-01f, +-2.3451e-02f, 3.4217e-02f, -1.0118e-02f, +-3.0558e-01f, -8.5390e-02f, -1.4360e-02f, + 1.2473e-01f, -1.7005e-02f, -3.6816e-02f, +-8.9125e-02f, -6.1400e-02f, -2.0623e-02f, + 1.3736e-02f, 1.2441e-02f, -4.3491e-02f, + 6.4806e-02f, 3.7012e-01f, 3.8064e-02f, +-1.3731e-02f, -2.4859e-01f, -2.5450e-01f, +-6.5111e-03f, -1.4271e-01f, -5.0481e-02f, + 5.3240e-02f, -3.4843e-02f, -2.2703e-02f, + 3.7414e-02f, 1.0334e-01f, -7.2237e-02f, + 1.4216e-02f, 3.4231e-02f, -2.0890e-02f, + 2.7879e-02f, 1.3717e-01f, 4.5864e-03f, + 3.0460e-03f, -1.1734e-01f, 4.4439e-02f, + 6.4825e-03f, 1.6324e-02f, 1.4928e-02f, +-8.8420e-02f, -1.0779e-01f, -9.0653e-02f, + 3.1086e-02f, -2.9067e-02f, -8.8488e-02f, +-1.6779e-40f, -6.3646e-41f, -6.2486e-40f, + 2.3154e-40f, 2.8049e-40f, 3.7718e-40f, +-3.3950e-40f, -3.1501e-40f, 5.8709e-40f, + 2.1435e-02f, -4.3732e-01f, 1.5520e-02f, + 3.4080e-02f, 1.9912e-01f, -8.1413e-02f, +-3.2816e-02f, 5.7844e-02f, 8.9258e-03f, +-1.1662e-02f, -1.1721e-02f, 4.3033e-02f, + 5.2135e-02f, -2.2503e-01f, 2.3941e-01f, + 3.8400e-02f, 1.8075e-01f, -1.4776e-01f, + 2.6784e-01f, 2.2817e-01f, -3.0553e-03f, +-6.7998e-02f, -1.2050e-01f, 1.4714e-02f, + 2.4045e-02f, -1.4329e-02f, -1.6705e-02f, +-1.1421e-02f, 4.2139e-02f, 4.2944e-02f, + 1.8809e-02f, -2.5221e-01f, 9.7562e-02f, +-4.1600e-02f, 4.0069e-03f, 7.5290e-02f, +-2.0092e-02f, 2.3537e-01f, 2.4356e-02f, + 3.1957e-02f, -4.8573e-02f, 2.9379e-02f, + 6.4562e-03f, -1.1527e-01f, -9.1223e-02f, +-2.3432e-02f, 5.2881e-02f, -7.3239e-02f, +-3.7048e-02f, -2.1481e-01f, 5.9801e-05f, +-4.2646e-02f, -1.8366e-02f, -1.0681e-01f, +-1.3366e-01f, -1.7123e-01f, -3.5629e-02f, + 1.1216e-01f, 1.1479e-01f, 9.5297e-02f, + 2.4728e-02f, -7.3135e-03f, -3.4373e-02f, +-2.3917e-40f, -4.1869e-41f, 3.7775e-41f, + 2.8931e-40f, -9.4850e-41f, 2.5694e-40f, + 3.3549e-40f, -2.4334e-40f, -5.5933e-41f, +-2.0900e-02f, 2.1203e-02f, -4.7169e-02f, + 2.3632e-02f, -7.1148e-01f, 4.9722e-02f, +-7.8963e-03f, 5.0689e-02f, 2.2619e-02f, +-4.7364e-03f, 3.2037e-02f, 1.1004e-02f, +-4.3001e-03f, 2.5245e-01f, 5.9112e-02f, + 2.8932e-02f, -1.1267e-01f, -2.3739e-01f, +-6.5379e-02f, 5.2462e-03f, -1.6807e-02f, + 1.0960e-01f, 1.7943e-01f, -6.3043e-03f, + 9.3102e-02f, 7.3103e-02f, 2.5259e-02f, + 5.6835e-02f, 4.0467e-02f, 2.5447e-03f, + 9.4599e-02f, 2.5222e-01f, 6.9855e-02f, + 4.4758e-02f, 1.8073e-01f, 1.5075e-01f, + 2.0329e-02f, -4.9412e-02f, 2.0663e-02f, +-7.1648e-03f, 1.4986e-01f, 2.1212e-01f, + 2.7657e-02f, -6.8660e-02f, 1.7321e-02f, + 1.0629e-02f, -1.0722e-02f, 2.8247e-02f, +-1.1303e-02f, 1.0076e-01f, -4.0592e-01f, + 2.6744e-02f, 7.3650e-02f, 5.7966e-02f, + 2.8122e-02f, -7.5961e-02f, -9.4797e-03f, +-1.3010e-01f, -5.4184e-01f, -1.3619e-01f, +-1.8661e-03f, -1.4357e-01f, 7.9520e-03f, +-1.3538e-09f, -1.6580e-09f, -1.7289e-09f, +-1.2386e-09f, -1.5132e-09f, -1.5987e-09f, +-1.1157e-09f, -1.3420e-09f, -1.4090e-09f, + 1.5441e-02f, -1.8142e-01f, -8.6802e-02f, +-4.0983e-02f, 2.4351e-01f, -5.8181e-02f, +-2.9568e-02f, 3.9561e-03f, 3.4181e-02f, +-2.9210e-02f, 2.5403e-02f, 9.1331e-02f, + 2.3621e-02f, 2.3954e-01f, 5.2487e-02f, + 1.6509e-02f, -6.2728e-02f, 1.3448e-02f, + 1.2855e-01f, 1.1892e-02f, -1.3356e-02f, + 1.0810e-01f, 1.6760e-01f, -3.2040e-02f, + 6.2209e-02f, 4.0682e-02f, 3.9772e-02f, +-6.1711e-03f, 5.0588e-02f, -1.0811e-01f, + 1.5744e-02f, 1.6091e-01f, -6.1739e-02f, +-5.6717e-02f, -1.0657e-02f, -3.7943e-02f, +-4.0595e-02f, 8.0149e-02f, 2.0216e-02f, + 3.8838e-02f, -6.3586e-01f, 2.3785e-01f, +-1.0472e-02f, 6.3899e-02f, -8.2184e-02f, +-1.9137e-02f, 8.1163e-02f, 6.7065e-02f, +-2.2377e-03f, 1.1860e-01f, 3.4122e-02f, + 1.0501e-02f, 2.9851e-02f, 7.5841e-02f, + 5.8970e-02f, -1.2188e-01f, 7.7982e-02f, +-2.6516e-02f, -4.1289e-01f, 2.1471e-02f, + 3.3957e-02f, 3.5762e-02f, -5.7857e-02f, +-2.7357e-30f, -3.4780e-30f, -3.0306e-30f, +-1.5188e-30f, -1.9888e-30f, -1.8755e-30f, +-7.7431e-31f, -9.7571e-31f, -9.7402e-31f, +-1.8497e-02f, -2.4554e-02f, 1.4428e-01f, + 1.4217e-02f, -2.3647e-01f, 8.4097e-02f, +-1.0251e-02f, -4.2137e-03f, 6.0831e-03f, + 1.7742e-03f, 2.1487e-02f, 3.3147e-02f, +-1.0971e-02f, 3.0162e-01f, 5.2391e-02f, + 1.8341e-02f, -1.3390e-01f, 9.4303e-02f, +-1.5685e-01f, 9.8434e-02f, -1.2502e-03f, + 3.1370e-01f, -2.8879e-02f, 2.6313e-03f, + 1.7548e-02f, 6.6741e-03f, -1.7681e-03f, + 5.2062e-02f, 6.6914e-02f, 7.5256e-03f, + 2.4966e-02f, 2.8081e-01f, 2.9815e-02f, + 2.2375e-02f, 1.4257e-03f, -7.4702e-02f, + 1.5372e-02f, 3.9587e-02f, 4.6909e-02f, +-2.2911e-02f, -1.4568e-01f, -3.8964e-01f, + 2.2850e-02f, -4.2297e-02f, 6.5736e-02f, +-6.9905e-03f, -6.3972e-02f, -1.8430e-01f, + 4.4453e-03f, 2.0687e-01f, 3.0032e-01f, + 1.7243e-02f, 9.8548e-03f, -9.7476e-02f, +-7.9682e-04f, -2.1199e-01f, -4.3461e-02f, +-4.2929e-02f, -2.8227e-01f, 2.8997e-02f, +-1.8741e-03f, 1.1166e-02f, 1.8381e-03f, +-5.6725e-16f, -1.0368e-15f, -1.1480e-15f, +-5.5537e-16f, -9.9929e-16f, -1.1499e-15f, +-3.8787e-16f, -6.4019e-16f, -7.7595e-16f, + 4.4505e-02f, 8.8803e-02f, 1.1384e-02f, +-3.9434e-02f, 1.9319e-01f, -1.2016e-02f, +-4.6072e-02f, 1.1769e-01f, 7.4816e-03f, +-3.7856e-02f, -1.7147e-02f, 1.5984e-01f, +-2.6459e-02f, 1.7469e-01f, 1.2584e-01f, + 1.6387e-02f, 1.7370e-01f, -1.7350e-01f, +-3.0008e-01f, 2.1485e-01f, -5.4302e-02f, + 5.7724e-02f, 3.2168e-01f, -2.5261e-02f, + 6.9277e-02f, 7.5035e-02f, 6.3485e-02f, +-1.1688e-01f, 2.6068e-02f, -1.3490e-01f, +-1.6085e-01f, 1.9409e-01f, 1.1434e-01f, +-7.3819e-02f, -7.7880e-02f, 7.3699e-03f, +-9.9972e-02f, 1.3554e-01f, 2.1656e-02f, +-8.8303e-02f, 5.4435e-01f, -4.0582e-02f, +-3.4805e-02f, -1.5291e-01f, -3.6917e-02f, +-3.4377e-02f, -3.3086e-02f, -9.5097e-02f, +-7.4538e-03f, 2.2545e-01f, -2.6380e-02f, + 1.4440e-02f, 1.3205e-01f, 1.6164e-01f, + 9.2164e-02f, -8.4307e-02f, 7.8922e-02f, + 1.2519e-01f, -6.1809e-01f, -1.0895e-01f, + 6.2744e-02f, -4.4951e-02f, -3.2548e-02f, +-2.5422e-21f, -6.3849e-21f, -9.5560e-21f, +-1.9248e-21f, -4.7107e-21f, -6.4244e-21f, +-1.4638e-21f, -3.1947e-21f, -3.7663e-21f, +-8.6113e-03f, -7.0987e-02f, 5.8265e-02f, +-1.3148e-02f, 5.6371e-01f, 5.0580e-02f, + 1.1741e-02f, -3.5614e-02f, -6.1265e-02f, + 1.4758e-03f, 3.3349e-02f, -1.0867e-02f, +-4.0234e-02f, 1.9894e-01f, 1.3972e-01f, +-1.9167e-02f, -4.1723e-02f, -1.9982e-01f, +-3.0756e-01f, 2.6284e-02f, -1.9058e-02f, +-7.9349e-04f, 1.2644e-01f, 2.9567e-02f, +-3.9274e-02f, 1.1030e-02f, -9.4885e-03f, + 1.3541e-02f, 1.7044e-01f, 8.9626e-02f, + 6.6814e-02f, 2.6430e-01f, 1.7409e-01f, +-6.1034e-04f, 1.7569e-02f, 1.3090e-01f, +-4.1941e-03f, 8.9599e-02f, -3.3684e-02f, +-1.1310e-02f, -4.3731e-01f, 5.7177e-02f, +-4.5718e-04f, 1.0175e-01f, 4.1211e-02f, + 2.9756e-02f, -1.1601e-01f, -7.3171e-02f, + 2.7939e-02f, 2.1334e-01f, -4.0210e-01f, +-8.6847e-03f, 8.1829e-02f, 4.4225e-02f, +-1.1411e-01f, -1.7697e-01f, -5.8087e-02f, + 7.9613e-02f, -4.2814e-01f, -1.0814e-01f, +-3.0610e-02f, 1.1342e-03f, -2.2322e-03f, +-1.1254e-10f, -1.4207e-10f, -1.5402e-10f, +-9.9123e-11f, -1.2394e-10f, -1.3338e-10f, +-8.8840e-11f, -1.0857e-10f, -1.1463e-10f, + 3.0283e-02f, -5.6191e-02f, -1.0447e-01f, +-1.4578e-02f, -2.8745e-01f, 1.9089e-01f, +-2.7251e-02f, 9.8069e-02f, -1.4580e-02f, +-3.0276e-02f, 1.4366e-02f, 2.6363e-02f, +-8.4962e-02f, 7.8998e-02f, -4.7717e-02f, +-3.2004e-02f, -2.1579e-02f, 1.1247e-02f, + 1.3895e-01f, -3.3900e-01f, 7.7998e-03f, + 2.4769e-01f, -1.8506e-01f, -2.3116e-03f, + 3.1361e-02f, -1.1718e-02f, -1.8286e-02f, +-1.3020e-01f, 1.4334e-01f, -5.5700e-02f, +-3.5386e-02f, 1.0992e-01f, -8.0235e-02f, +-5.8978e-03f, 7.7039e-02f, -7.4619e-02f, +-8.1603e-02f, 1.2982e-01f, -7.3193e-02f, +-6.1469e-02f, 1.7131e-01f, 4.0255e-01f, +-6.4582e-03f, -8.2741e-02f, -2.2220e-02f, + 1.6876e-02f, -3.2590e-02f, 5.5645e-02f, + 2.5231e-02f, 2.9984e-01f, -3.6995e-02f, + 9.3322e-03f, 2.0758e-01f, -2.1986e-02f, +-4.9568e-02f, 2.1857e-03f, 8.6127e-02f, + 8.6593e-02f, -5.8134e-01f, 3.4507e-01f, + 4.8855e-02f, -1.0506e-01f, 4.1584e-02f, + 2.5428e-40f, -4.4558e-40f, -2.2090e-40f, +-2.9727e-40f, -4.8454e-40f, 3.0397e-40f, + 1.1696e-40f, -3.3028e-40f, -2.2959e-40f +} +}; +__device__ __constant__ static const float biasL[8][8] = +{ +{ +-3.1869e-08f, -3.8279e-01f, -6.3693e-05f, -5.9054e-02f, 9.3774e-04f, -2.9944e-02f, -1.1156e-03f, -7.5635e-02f +} +, +{ +-1.7701e-01f, -1.3417e-06f, -3.0706e-40f, -1.9022e-06f, -1.2965e-02f, -6.6444e-40f, 1.4699e-02f, 2.6082e-02f +} +, +{ +-3.7577e-07f, 4.4550e-03f, -8.1266e-04f, 3.2408e-01f, -1.1321e-07f, -1.8907e-23f, -1.9770e-25f, -3.2394e-02f +} +, +{ +-2.1525e-14f, -1.4130e-02f, -1.9410e-02f, -1.8703e-02f, -2.9177e-02f, -4.0635e-02f, 7.8097e-02f, -1.1643e-01f +} +, +{ +-2.6309e-02f, -2.2238e-02f, 6.8700e-03f, -1.7973e-02f, -1.0893e-02f, -1.1888e-02f, -4.9598e-03f, -6.3663e-06f +} +, +{ +-1.2406e-03f, -2.4901e-12f, -9.7265e-07f, 6.3490e-03f, 1.3495e-01f, -3.8411e-03f, -6.6630e-03f, -7.3614e-03f +} +, +{ +-2.7729e-03f, -4.8174e-03f, -6.3012e-03f, 2.0491e-01f, -2.0110e-03f, -3.0974e-03f, 5.1407e-01f, -3.5016e-08f +} +, +{ +0.0324f, 0.0140f, 0.6750f, 0.2661f, 0.3646f, 0.3591f, 0.5597f, 0.0816f +} +}; +__device__ __constant__ static const float kernelsL10[4 * 8] = +{ + 0.0882f, 0.0422f, + 0.3775f, 0.4754f, +-0.3209f, -0.4870f, +-0.0384f, 0.0530f, + 0.1034f, 0.0173f, + 0.5011f, 0.3900f, + 0.3621f, -0.1645f, +-0.1304f, 0.0013f, + 0.2230f, 0.3026f, + 0.1618f, -0.4514f, +-0.2097f, 0.1894f, +-0.0326f, 0.1434f, + 0.2421f, 0.3363f, +-0.0938f, 0.3156f, + 0.1137f, -0.2165f, + 0.2273f, -0.1284f +}; + +#include "ACNetCommon.hip" + +DECLARE_ACNET_HDN_INTERFACE_FUNCTION(1) diff --git a/hip/src/ACNetHDNL2.hip b/hip/src/ACNetHDNL2.hip new file mode 100644 index 0000000..a5ff77a --- /dev/null +++ b/hip/src/ACNetHDNL2.hip @@ -0,0 +1,1654 @@ +#include "HipHelper.hip" +#include "HipInterface.hpp" +#include + +__device__ __constant__ static const float kernelsL1[9 * 8] = +{ +-2.0676e-02f, 6.7641e-03f, 2.8287e-01f, + 2.5576e-01f, 1.9765e-01f, -2.4700e-01f, + 3.5056e-01f, 2.9306e-01f, -2.2245e-01f, + 8.4706e-02f, -2.9455e-01f, -5.5831e-02f, +-8.4635e-02f, -9.6835e-02f, 3.1208e-01f, + 1.7690e-01f, 2.7624e-02f, 5.1954e-02f, +-5.3869e-01f, 7.2934e-02f, -1.7662e-03f, +-3.1402e-02f, 3.1700e-01f, 1.4965e-01f, + 3.8569e-02f, 5.5025e-03f, -6.6555e-03f, +-4.2049e-38f, -4.1971e-38f, -4.1488e-38f, +-4.2855e-38f, -4.2871e-38f, -4.2363e-38f, +-4.1861e-38f, -4.1974e-38f, -4.1677e-38f, + 1.8451e-01f, -5.4584e-02f, 1.4494e-01f, + 1.3433e-01f, 1.0073e-01f, 2.6371e-01f, + 6.1261e-02f, 2.2116e-01f, 2.0074e-01f, + 5.9669e-02f, -3.9168e-02f, 2.1674e-01f, +-2.9132e-01f, 3.0285e-03f, 1.2625e-01f, +-4.3415e-02f, 1.8663e-01f, -1.6554e-01f, + 1.0102e-01f, 6.3466e-02f, 1.5225e-01f, + 2.1692e-01f, 1.9860e-01f, -7.0456e-02f, +-1.6406e-03f, -2.7834e-01f, -3.5449e-01f, +-3.0140e-01f, -4.2348e-01f, -5.8263e-01f, + 2.3140e-01f, -2.6843e-01f, -1.1069e-01f, +-9.1484e-02f, 1.1486e-02f, 5.6396e-02f +}; +__device__ __constant__ static const float biasL1[8] = +{ +-9.0964e-02f, 2.1136e-01f, -1.2011e-02f, -4.5657e-38f, -1.4443e-01f, 1.8968e-01f, -2.9027e-02f, 1.6199e-01f +}; +__device__ __constant__ static const float kernelsL[8][9 * 8 * 8] = +{ +{ + 4.4561e-02f, 4.3527e-01f, -8.9737e-02f, +-4.9011e-03f, 1.4879e-01f, -8.2210e-02f, +-1.7593e-02f, 4.9294e-02f, 1.8058e-01f, +-3.3827e-02f, -7.9055e-02f, 2.6982e-01f, +-5.2485e-02f, -4.2046e-01f, -5.6838e-02f, + 1.0919e-01f, -7.3141e-02f, 9.4797e-02f, + 6.2764e-02f, 2.5475e-01f, 1.3705e-01f, + 2.0997e-01f, 7.3360e-01f, 2.0801e-01f, +-1.1500e-01f, 3.1245e-01f, 6.7457e-01f, +-5.1481e-39f, -5.1520e-39f, -4.9367e-39f, +-5.1383e-39f, -5.1642e-39f, -4.9479e-39f, +-5.1323e-39f, -5.1859e-39f, -4.9547e-39f, + 1.3849e-01f, 1.1564e-01f, -1.8175e-01f, +-5.5355e-03f, -1.5117e-01f, -2.4654e-01f, + 8.1590e-03f, -1.1681e-01f, 3.4700e-05f, +-2.5950e-01f, -1.4182e-01f, 3.1814e-01f, + 1.7662e-01f, 1.8420e-01f, -1.5181e-01f, + 7.6233e-02f, -7.8372e-02f, -3.1968e-01f, +-4.5770e-01f, 4.1562e-02f, 1.3721e-01f, +-5.8444e-02f, 3.3148e-02f, -2.3370e-01f, + 1.5374e-01f, -1.1162e-01f, -7.4099e-03f, +-1.5716e-01f, -1.8356e-01f, 2.1114e-02f, +-3.2233e-01f, 2.1064e-02f, 2.7019e-01f, +-1.3702e-01f, 2.6969e-01f, 2.1033e-01f, + 8.9027e-02f, -7.9969e-02f, 1.0096e-01f, + 6.6773e-02f, 3.9558e-02f, -7.4944e-02f, +-5.9789e-02f, 1.2265e-01f, 3.3873e-02f, +-9.7157e-03f, 9.2906e-02f, 6.0300e-02f, +-2.2104e-03f, 6.8198e-02f, -1.2931e-01f, + 8.9288e-02f, -1.2554e-01f, -4.3270e-02f, + 1.0660e-01f, 1.1609e-02f, -1.2415e-01f, + 2.6372e-02f, -3.6311e-02f, 1.5625e-01f, +-7.9595e-02f, -3.3662e-01f, -4.0760e-01f, +-2.9566e-39f, -2.8760e-39f, -2.8816e-39f, +-2.9566e-39f, -2.8964e-39f, -2.9115e-39f, +-2.9566e-39f, -2.9179e-39f, -2.9130e-39f, + 7.9255e-02f, 9.4548e-02f, 8.8155e-02f, +-2.8163e-02f, 1.2428e-01f, -6.4973e-03f, + 7.7875e-02f, 7.4765e-02f, -5.2405e-02f, +-1.4886e-02f, -7.1499e-02f, -7.0719e-02f, + 9.7562e-02f, 9.0948e-02f, -5.6588e-02f, +-1.2872e-02f, -6.6390e-02f, -6.4147e-02f, + 9.8262e-02f, -2.4215e-01f, -1.7051e-01f, + 1.8096e-01f, 1.8106e-01f, 1.3108e-01f, + 2.0649e-01f, 1.2242e-01f, 3.7225e-02f, +-2.5125e-01f, -1.0073e-01f, 4.5330e-01f, + 1.8588e-01f, -2.6809e-01f, -1.5709e-01f, + 4.7668e-01f, -2.4208e-01f, -6.6012e-01f, + 1.3561e-01f, 5.4109e-02f, 6.1899e-02f, +-1.9605e-02f, 1.1349e-01f, 3.5781e-02f, + 3.5513e-03f, 3.1212e-02f, -6.0399e-02f, + 5.9258e-02f, -1.8175e-02f, 7.3714e-02f, + 2.0052e-02f, 4.3245e-02f, -5.0879e-03f, +-1.1082e-02f, -1.0753e-01f, -1.7896e-03f, + 2.9139e-02f, 2.2747e-01f, -6.4075e-02f, + 7.3097e-02f, 1.5703e-01f, -5.3815e-01f, + 1.0620e-01f, -1.1386e-01f, 1.7103e-01f, +-3.8728e-39f, -3.8299e-39f, -3.8320e-39f, +-3.9065e-39f, -3.8445e-39f, -3.8135e-39f, +-3.8838e-39f, -3.8114e-39f, -3.8255e-39f, + 2.3253e-02f, 6.9893e-02f, 1.4774e-01f, + 9.6087e-02f, 2.3102e-03f, -3.4449e-02f, + 2.6819e-02f, 1.0254e-01f, -2.8200e-02f, + 3.9553e-02f, 4.7191e-05f, -5.5558e-02f, + 4.1641e-02f, 5.8706e-02f, -1.0337e-01f, + 1.1291e-01f, 5.9622e-02f, 7.0677e-02f, +-2.5162e-01f, 7.6659e-02f, 1.7245e-01f, +-5.8522e-02f, 1.4365e-01f, 2.1189e-01f, +-2.8897e-02f, -5.7365e-02f, 1.4232e-01f, + 1.7854e-02f, 1.7404e-03f, -8.7356e-03f, +-6.0777e-02f, -6.2687e-02f, -1.1500e-02f, +-1.6468e-01f, -2.5058e-01f, -1.2798e-01f, + 2.3193e-02f, 1.7209e-01f, 1.6687e-01f, +-3.4483e-02f, -1.6846e-02f, 2.5930e-02f, + 1.4410e-01f, 4.2932e-02f, -5.0149e-03f, + 4.7269e-02f, 1.1276e-01f, -9.2701e-03f, + 1.5323e-02f, 1.3552e-02f, 9.0256e-02f, +-8.9393e-03f, 7.0903e-02f, -6.9379e-02f, + 1.8645e-01f, 1.0543e-01f, -1.5590e-01f, + 2.1056e-01f, 1.1051e-01f, -1.5514e-01f, +-7.0484e-02f, -1.5153e-01f, -5.0873e-01f, + 3.2730e-39f, 3.2358e-39f, 3.1222e-39f, + 3.2642e-39f, 3.2358e-39f, 3.0921e-39f, + 3.2730e-39f, 3.2358e-39f, 3.0899e-39f, + 1.2225e-02f, 1.2386e-01f, 6.7712e-02f, + 3.1263e-02f, 1.3617e-01f, 1.5352e-01f, + 2.3405e-02f, 8.5466e-02f, 8.7303e-02f, +-2.0372e-02f, 8.3465e-02f, -7.4233e-02f, + 1.2269e-01f, 8.4046e-02f, -3.6869e-02f, + 1.0242e-01f, 7.3218e-02f, -1.1496e-01f, +-1.4539e-01f, -2.3923e-01f, -2.2818e-01f, +-3.2368e-02f, -7.4360e-02f, 2.3493e-02f, + 1.7004e-01f, 6.2924e-02f, 8.9327e-02f, +-1.1449e-01f, -1.4973e-03f, -7.0451e-03f, +-9.3205e-02f, -1.0312e-01f, 4.6503e-02f, +-2.2148e-01f, -1.8111e-01f, -1.1992e-01f, + 9.8140e-02f, 9.9823e-02f, -2.0282e-02f, +-8.1973e-02f, 1.4255e-01f, -5.2392e-02f, + 8.0350e-03f, -4.8299e-02f, -7.7908e-02f, + 4.2383e-02f, 3.0707e-02f, 2.8560e-02f, + 1.0437e-01f, 6.1290e-02f, -9.7796e-02f, +-1.7125e-02f, -1.3572e-01f, -1.5345e-01f, +-1.3292e-01f, 2.9477e-02f, 6.8032e-02f, + 1.5741e-01f, 4.0258e-01f, 2.5838e-01f, + 1.3948e-01f, 3.5713e-01f, -3.9825e-01f, +-1.9224e-39f, -2.4076e-39f, -2.4529e-39f, +-1.9181e-39f, -1.9894e-39f, -4.0240e-39f, +-1.9335e-39f, -2.3920e-39f, -4.0147e-39f, +-2.1714e-02f, -3.5299e-02f, -7.5803e-03f, +-2.4087e-02f, 7.5265e-02f, 7.6697e-02f, + 4.5309e-02f, 8.9529e-02f, 7.6510e-03f, + 1.0813e-02f, 3.1294e-02f, -2.5907e-02f, + 1.1962e-02f, -6.8664e-03f, -1.4084e-01f, + 7.7013e-02f, -1.2305e-01f, -6.7800e-02f, +-9.7392e-02f, 4.4082e-02f, 1.4473e-01f, + 4.9436e-02f, 2.8859e-01f, 2.8252e-01f, +-3.5828e-02f, -7.5616e-02f, 2.4875e-01f, +-6.7684e-02f, 1.1290e-01f, 4.2827e-02f, +-1.0860e-01f, 1.2952e-01f, 5.9784e-01f, +-3.5402e-01f, -3.9558e-02f, -6.0775e-01f, +-1.2854e-02f, 1.5240e-01f, 1.4115e-01f, +-2.8134e-02f, -1.2939e-02f, -2.6203e-02f, + 1.1300e-01f, 1.4481e-01f, -5.1454e-02f, + 1.2688e-01f, 2.8536e-02f, 9.4877e-02f, + 9.6033e-02f, -1.3901e-02f, 6.0035e-02f, +-1.1249e-01f, 4.3971e-02f, -1.0918e-01f, + 8.2500e-02f, 2.1413e-01f, 3.9015e-02f, + 1.8361e-01f, 2.5271e-01f, -2.2794e-01f, +-8.1195e-02f, -1.2269e-01f, -2.6097e-01f, + 7.6827e-39f, 7.7882e-39f, 7.6893e-39f, + 7.7006e-39f, 7.7857e-39f, 7.7384e-39f, + 7.6985e-39f, 7.7712e-39f, 7.7399e-39f, + 1.4458e-02f, 1.0801e-01f, 1.5906e-01f, +-1.4676e-02f, 1.3699e-01f, 9.2460e-02f, +-3.6479e-02f, 1.4529e-01f, -2.8681e-02f, +-3.3251e-02f, -7.3096e-02f, -1.4330e-01f, + 5.7009e-02f, -3.1905e-02f, -1.2035e-01f, + 1.1838e-01f, 5.7011e-02f, 2.0800e-02f, +-1.1567e-02f, -2.2125e-01f, -9.3953e-02f, +-7.5378e-02f, -1.2069e-01f, 1.3217e-01f, +-7.7357e-02f, -1.3171e-01f, 1.2776e-01f, +-1.1397e-01f, -3.5183e-02f, 2.2994e-02f, +-6.5101e-02f, -1.5019e-01f, -2.7451e-02f, +-2.4260e-01f, -1.3543e-01f, -1.9889e-02f, +-1.9798e-39f, -3.5282e-40f, -1.9216e-39f, +-1.9140e-39f, -1.9370e-39f, -1.9943e-39f, +-1.8623e-39f, -1.8665e-39f, -1.9320e-39f, +-4.8850e-39f, -5.0283e-39f, -4.9987e-39f, +-5.0868e-39f, -5.0814e-39f, -5.0779e-39f, +-5.2489e-39f, -5.1086e-39f, -5.1234e-39f, +-2.9120e-39f, -3.0278e-39f, -2.9633e-39f, + 1.3186e-39f, 6.0555e-39f, 6.0419e-39f, +-5.5922e-39f, -8.5992e-40f, -2.8529e-39f, +-3.4668e-39f, -3.5127e-39f, -3.4668e-39f, +-3.2831e-39f, -3.4668e-39f, -3.6734e-39f, +-3.2142e-39f, -3.2831e-39f, -3.5816e-39f, + 1.3445e-39f, 1.3621e-39f, 1.3375e-39f, + 1.4539e-39f, -2.2695e-40f, 1.4522e-39f, + 1.3563e-39f, 1.3339e-39f, 1.3001e-39f, +-4.4670e-39f, -4.4026e-39f, -4.3159e-39f, +-4.5047e-39f, -4.3505e-39f, -2.7259e-39f, +-4.5265e-39f, -4.4721e-39f, -4.4990e-39f, +-1.9864e-39f, -4.1379e-39f, -3.7189e-39f, + 5.2465e-39f, 2.5220e-39f, 1.5639e-39f, +-3.9760e-39f, -5.7033e-39f, -4.0978e-39f, +-6.3745e-40f, -4.7511e-39f, 2.3456e-39f, +-1.5164e-39f, 5.0431e-39f, 5.1197e-39f, + 8.7052e-40f, 1.4947e-39f, -1.1546e-39f, + 5.3140e-02f, 1.0281e-01f, 1.4767e-01f, +-6.1530e-02f, -9.4166e-02f, 4.8671e-02f, + 5.6787e-03f, -1.4551e-01f, 1.5614e-02f, +-3.4826e-02f, -5.1148e-02f, 9.7079e-02f, +-1.3603e-02f, -1.2249e-01f, -1.9330e-02f, +-6.8184e-02f, -1.4344e-01f, -9.4023e-03f, +-7.4629e-02f, 3.9634e-02f, 1.3445e-01f, + 4.2153e-02f, 7.1129e-01f, 2.8703e-02f, + 7.8247e-02f, 7.2210e-01f, -6.6198e-01f, +-6.1010e-39f, -6.2892e-39f, -6.4008e-39f, +-6.0825e-39f, -6.3221e-39f, -6.3883e-39f, +-1.4962e-39f, -1.1702e-39f, -1.2143e-39f, + 5.5512e-02f, -2.1522e-02f, 1.0866e-01f, +-9.2812e-02f, -3.5119e-02f, 1.1396e-01f, +-1.3922e-01f, 6.7287e-02f, -5.5626e-02f, +-2.0492e-01f, 8.1441e-02f, -1.3513e-01f, + 4.7447e-02f, 2.0081e-01f, -3.1249e-01f, +-1.8546e-02f, 2.0680e-01f, 7.3979e-02f, + 8.8928e-02f, -4.3606e-01f, -8.4823e-02f, +-5.6133e-02f, 3.5132e-01f, 1.8633e-01f, +-4.3855e-03f, 5.4869e-02f, 1.1658e-01f, + 1.7423e-01f, -5.3107e-02f, 2.2925e-02f, +-1.7622e-01f, 4.4453e-02f, 2.8131e-02f, + 2.6863e-01f, -2.9085e-01f, -1.5098e-01f +} +, +{ +-2.4230e-40f, 5.4425e-39f, 3.4517e-39f, +-1.9803e-39f, -1.5207e-39f, -3.5630e-39f, +-4.9409e-39f, -2.9280e-39f, 7.7966e-40f, + 2.4867e-39f, -2.1848e-39f, 3.2524e-39f, +-6.2860e-39f, 4.0411e-39f, -3.6956e-39f, +-3.3384e-39f, -1.0908e-39f, 5.4261e-39f, +-3.6691e-40f, 9.4949e-40f, -1.7279e-39f, +-1.0644e-39f, -2.1371e-39f, -2.5125e-39f, + 2.9368e-39f, -5.3820e-39f, -3.9771e-40f, +-1.4703e-39f, -3.6960e-39f, -4.4161e-39f, + 8.2800e-40f, -4.9175e-39f, 3.1868e-39f, + 5.5703e-39f, -3.0263e-39f, -1.6991e-39f, + 5.2691e-39f, 4.8127e-39f, 4.1346e-39f, +-1.3013e-39f, -1.7101e-39f, -3.5467e-39f, + 1.1496e-39f, 2.0938e-39f, -4.2970e-39f, +-5.5314e-39f, 6.4852e-40f, -5.0870e-39f, + 3.9377e-39f, -4.1683e-39f, -3.5404e-40f, +-3.6188e-39f, 5.4657e-39f, 2.1279e-39f, + 3.4090e-40f, 2.4425e-40f, 9.3423e-41f, +-2.3450e-39f, 3.1518e-40f, 4.3061e-40f, +-2.6175e-39f, -2.4696e-39f, -2.3755e-39f, + 2.2764e-39f, -4.4934e-39f, 8.5722e-40f, + 5.1798e-39f, 2.7072e-39f, 5.3750e-39f, + 5.4335e-40f, 3.8556e-39f, -3.4799e-39f, +-4.8963e-39f, -1.1413e-39f, -5.3918e-40f, + 6.1843e-39f, -1.8521e-39f, -1.3450e-39f, +-2.0906e-39f, -3.2544e-39f, -2.8205e-39f, + 5.3550e-39f, -3.0202e-39f, -3.4181e-39f, +-3.0043e-39f, -3.2900e-39f, -3.2915e-39f, + 6.1849e-39f, -3.3421e-39f, -3.3995e-39f, +-4.8657e-39f, -4.7034e-39f, -4.7467e-39f, +-4.6555e-39f, -4.6045e-39f, -4.6954e-39f, +-4.8886e-39f, -4.7333e-39f, -4.7805e-39f, +-2.0900e-39f, -1.9429e-39f, -2.0572e-39f, +-2.0270e-39f, -1.9074e-39f, -1.9275e-39f, +-2.1243e-39f, -2.1134e-39f, -2.1539e-39f, +-4.4175e-39f, -4.6412e-39f, -4.6582e-39f, +-4.6364e-39f, -4.8757e-39f, -4.6795e-39f, +-4.4571e-39f, -4.5038e-39f, -4.4570e-39f, +-3.2662e-39f, -3.1163e-39f, -3.2050e-39f, +-3.2098e-39f, -3.0887e-39f, -3.1635e-39f, +-3.3183e-39f, -3.1411e-39f, -3.2824e-39f, + 8.6839e-40f, 5.7318e-39f, 1.8373e-40f, + 4.6732e-39f, -4.5549e-41f, 1.2817e-39f, + 3.7642e-41f, -6.2591e-39f, -5.0492e-39f, + 5.0057e-39f, 6.0612e-39f, 2.0220e-39f, + 3.7436e-39f, 4.8326e-39f, 3.1353e-39f, + 3.5289e-39f, 4.7177e-39f, 6.2666e-39f, +-1.4963e-01f, -8.0360e-02f, -7.9054e-02f, +-1.3731e-01f, 5.0766e-02f, 6.9673e-02f, + 3.2213e-02f, 3.3250e-02f, 1.3170e-01f, +-2.9718e-02f, -2.6931e-02f, 1.5768e-02f, + 5.9232e-02f, 7.8471e-02f, 9.9465e-02f, + 2.4872e-02f, -4.4226e-02f, 3.2357e-02f, +-6.0139e-02f, -2.2756e-02f, -5.5412e-02f, + 4.5363e-02f, 1.6393e-01f, 3.7428e-02f, + 5.2497e-02f, 9.5435e-02f, 9.7155e-02f, + 8.2849e-02f, 5.9711e-02f, 1.4352e-01f, + 1.1756e-02f, 1.5440e-02f, 1.3039e-01f, + 4.3324e-03f, 5.9119e-02f, 1.1129e-01f, +-3.9591e-03f, 5.8617e-02f, -1.3843e-02f, +-2.9949e-02f, 3.4877e-02f, 5.0679e-03f, + 3.7278e-02f, -2.5221e-02f, 1.2191e-01f, + 1.5626e-01f, 8.9797e-02f, -1.5458e-02f, + 1.5607e-01f, 1.4561e-02f, 1.1720e-01f, +-1.6112e-02f, 7.7908e-02f, -6.1322e-02f, + 3.8589e-39f, 3.9262e-39f, 3.8641e-39f, + 3.9450e-39f, 3.8805e-39f, 3.9383e-39f, + 3.8384e-39f, 3.8027e-39f, 3.7700e-39f, + 6.2294e-02f, -5.6804e-03f, -4.7293e-01f, + 1.3161e-01f, 3.1187e-01f, -1.8013e-01f, + 4.9908e-02f, 9.8583e-02f, 3.8863e-02f, +-1.7400e-39f, 3.5779e-39f, 5.2800e-39f, +-1.6845e-39f, 4.7140e-39f, 2.4244e-39f, +-1.3654e-39f, 2.4123e-40f, -1.5360e-39f, +-1.0409e-39f, 1.8590e-39f, -5.2161e-41f, +-8.5110e-40f, -1.7210e-39f, -4.6624e-39f, + 5.0754e-40f, -2.6248e-39f, -5.4801e-39f, +-4.9486e-39f, 2.8984e-39f, 4.9357e-39f, +-1.4077e-39f, 3.8778e-39f, 5.8202e-39f, +-4.1095e-39f, 6.8891e-40f, 5.6565e-39f, + 3.8021e-39f, -5.4740e-41f, 2.1795e-39f, +-2.4185e-39f, -5.8101e-39f, 1.5651e-39f, +-4.9775e-39f, 6.0152e-39f, -5.2337e-39f, +-4.4350e-39f, -3.8239e-39f, 3.1624e-40f, +-4.3665e-39f, -3.0919e-39f, -4.7675e-39f, +-2.3335e-39f, 1.8270e-39f, -5.5077e-39f, + 5.5906e-39f, 6.7732e-41f, 3.7359e-39f, +-5.1412e-40f, -2.3239e-39f, 5.1937e-39f, +-4.4951e-39f, -3.4928e-40f, -5.0589e-39f, + 4.9149e-39f, 1.1372e-39f, 6.6368e-40f, +-1.8870e-40f, -5.9117e-40f, -1.3973e-39f, +-2.3555e-39f, -1.0637e-39f, 3.1692e-39f, +-4.8054e-39f, 4.8090e-40f, 2.0873e-39f, + 3.8301e-39f, -3.8642e-39f, 4.8187e-39f, +-1.6563e-39f, 8.9890e-40f, -3.5162e-39f, +-2.3010e-01f, -7.4445e-02f, -1.0006e-01f, +-2.4543e-01f, -8.5750e-02f, 1.4859e-01f, +-1.3783e-01f, 1.2709e-01f, 2.5012e-01f, + 1.0310e-01f, -2.3520e-02f, -8.1277e-02f, +-2.9267e-02f, 1.0686e-01f, 4.6287e-02f, +-1.2342e-02f, -1.7104e-02f, 8.4357e-02f, +-1.8492e-02f, -2.0711e-02f, -3.5242e-02f, + 7.6163e-02f, 6.0853e-02f, 9.4248e-02f, + 6.2008e-02f, 1.1373e-02f, 2.6609e-02f, +-7.8135e-02f, 1.0672e-01f, -5.8380e-02f, + 7.1618e-02f, 2.7966e-04f, 1.1835e-01f, + 1.1306e-01f, -7.8578e-03f, 5.1743e-03f, +-1.2123e-01f, 4.9640e-02f, 7.3827e-02f, +-1.0377e-01f, -3.7377e-02f, -3.6536e-02f, + 5.7489e-02f, -4.6279e-04f, 9.0068e-02f, + 4.0784e-05f, -3.3328e-02f, 5.1191e-02f, + 9.6538e-02f, 7.1779e-02f, 1.2121e-01f, + 1.1598e-01f, -5.9055e-02f, 8.2671e-02f, +-1.7292e-39f, -1.7848e-39f, -1.7308e-39f, +-3.2817e-39f, -1.7274e-39f, -3.3601e-39f, +-1.7252e-39f, -3.4067e-39f, -1.7783e-39f, +-7.4053e-02f, -4.2785e-01f, -4.7597e-01f, + 4.6309e-01f, 7.6018e-02f, -3.5885e-01f, + 3.0428e-01f, 8.7449e-02f, 9.7880e-02f, +-3.4191e-02f, 1.1834e-01f, -4.3273e-02f, +-6.0782e-01f, 9.2387e-01f, -1.3972e-01f, + 3.0665e-01f, 4.7445e-01f, 4.8683e-02f, +-1.8865e-02f, 9.9509e-02f, -4.9881e-02f, + 2.1640e-02f, -2.0941e-01f, -1.4779e-01f, + 1.7808e-01f, -1.2572e-01f, -9.6756e-02f, +-1.0143e-01f, 8.3153e-02f, -1.0478e-01f, + 1.6201e-01f, 2.0740e-01f, -1.2653e-01f, + 8.1654e-02f, -7.6224e-02f, -8.9864e-02f, + 4.5383e-02f, -3.6893e-02f, -1.0096e-01f, + 2.0389e-01f, 2.2557e-01f, -1.9685e-01f, +-9.5198e-02f, 2.2877e-01f, 2.1135e-02f, +-1.0919e-01f, -1.7563e-01f, -3.5255e-01f, +-1.3447e-01f, 3.3709e-01f, -1.9043e-01f, +-2.1422e-01f, -2.8848e-01f, -5.3921e-02f, + 5.5351e-02f, -5.0579e-02f, -1.6168e-01f, + 2.5282e-01f, 1.9715e-01f, -2.4035e-01f, +-3.0800e-02f, 1.9329e-01f, -1.0893e-01f, +-3.4416e-39f, -1.8080e-39f, -1.6625e-39f, +-1.6612e-39f, -1.7397e-39f, -1.5953e-39f, + 5.3047e-39f, 5.4221e-39f, -1.1665e-39f, + 2.1838e-02f, -7.0635e-02f, 3.6095e-01f, + 5.1096e-01f, 6.3838e-01f, 5.0716e-01f, + 1.1642e-01f, 1.8546e-01f, 1.5989e-01f, + 1.0799e-01f, 2.8380e-01f, 1.4910e-01f, +-2.4305e-01f, 2.3084e-01f, -9.9982e-02f, +-4.6839e-01f, 6.0376e-01f, -1.2748e-02f, + 8.7608e-02f, 9.8828e-02f, 2.1469e-02f, +-3.5384e-03f, -1.5689e-01f, -1.1411e-01f, + 2.0728e-02f, 5.6814e-02f, -1.1090e-02f, +-3.9301e-02f, -9.4325e-02f, -6.2119e-02f, + 1.2842e-01f, 9.7466e-02f, -2.7502e-02f, + 1.6560e-01f, 1.5058e-01f, 2.2821e-02f, +-8.1287e-02f, -6.3940e-03f, 3.2162e-02f, + 9.4116e-02f, -6.2567e-02f, -1.2704e-01f, + 5.4654e-02f, 1.4885e-02f, 3.8166e-03f, + 1.9830e-01f, -2.5419e-01f, -6.7067e-02f, + 3.2303e-01f, 1.6037e-01f, -3.0200e-02f, + 1.3011e-01f, 7.5455e-02f, -1.2726e-02f, +-1.9198e-01f, -1.5419e-01f, -7.5420e-02f, + 1.6070e-01f, -6.1031e-02f, -2.0179e-01f, +-1.5829e-02f, 1.9918e-01f, 1.0960e-01f, +-5.5215e-39f, -5.8659e-39f, -5.5573e-39f, +-6.2394e-39f, -6.0172e-39f, -6.0159e-39f, +-4.0308e-39f, -4.1217e-39f, -4.1372e-39f, + 1.6143e-01f, 1.7271e-01f, 4.3534e-01f, +-2.4312e-01f, 4.0146e-01f, 4.4693e-01f, + 1.5442e-01f, 3.9885e-01f, -1.4357e-01f, +-6.0236e-02f, -1.2324e-01f, 6.1197e-02f, +-2.5842e-02f, -1.0266e-02f, 1.5670e-03f, + 2.9103e-02f, 2.9966e-02f, 1.1286e-01f, + 3.4528e-02f, 1.3039e-01f, 9.2736e-02f, + 3.5193e-02f, 5.6583e-02f, 5.9465e-02f, + 1.2846e-01f, 9.3387e-02f, 9.2131e-02f, + 1.4974e-03f, 1.0196e-01f, 6.7632e-02f, + 8.9809e-02f, 5.7568e-02f, -6.0621e-02f, +-2.7582e-03f, 3.1935e-02f, 3.1299e-02f, + 1.3595e-01f, 4.9498e-02f, 1.2535e-01f, +-3.9396e-02f, 4.8859e-02f, 4.1389e-02f, + 3.7026e-02f, 1.3667e-01f, 7.5657e-03f, +-5.3476e-02f, 1.9677e-02f, 9.5214e-02f, + 1.3136e-02f, 7.5560e-02f, 6.2428e-03f, +-5.2378e-02f, -1.8704e-02f, 1.0657e-01f, +-4.2938e-02f, -5.0199e-02f, 1.4357e-01f, +-5.7002e-02f, 1.4158e-01f, 4.9442e-02f, +-6.8383e-02f, 1.1316e-01f, 5.2071e-02f, + 1.5031e-40f, 2.1250e-40f, 1.8673e-40f, + 1.5681e-40f, 1.3104e-40f, 1.6173e-40f, + 2.1560e-40f, 1.8582e-40f, 1.7747e-40f, + 8.4848e-02f, -1.9845e-01f, -5.1844e-01f, + 3.0959e-01f, 3.6682e-01f, 3.1208e-02f, + 1.9871e-01f, 2.8318e-01f, 1.6066e-01f +} +, +{ +-2.7283e-39f, -4.9031e-39f, -2.1039e-39f, +-1.0327e-39f, -5.1679e-39f, -4.3300e-39f, +-5.2613e-39f, -3.1707e-39f, -6.0916e-39f, + 1.5840e-39f, 1.6709e-39f, 1.6120e-39f, + 1.6716e-39f, 1.7418e-39f, 1.6624e-39f, + 1.5922e-39f, 1.7383e-39f, 1.5668e-39f, + 1.1389e-01f, -4.5774e-02f, 6.1423e-02f, + 1.3858e-01f, 2.3102e-02f, -6.5079e-02f, + 1.3269e-01f, 3.2387e-02f, 7.6966e-02f, +-2.1531e-39f, -1.6063e-39f, -3.2070e-39f, +-2.8531e-39f, 4.6956e-39f, 1.4038e-39f, + 2.0509e-39f, -4.4924e-39f, -5.3658e-39f, + 1.1524e-01f, -5.0115e-02f, 9.4187e-02f, + 4.2477e-02f, 1.4197e-01f, 2.4986e-02f, +-2.8688e-02f, 9.2289e-02f, 4.1965e-02f, +-2.1691e-01f, -6.6916e-04f, -1.3026e-01f, +-1.9143e-01f, 1.2211e-01f, 1.2562e-01f, +-1.2273e-01f, 7.1045e-02f, 1.2396e-01f, +-8.0861e-02f, -4.4301e-03f, 6.3144e-03f, + 3.0338e-02f, -8.6463e-03f, 5.5084e-02f, +-1.8370e-01f, -5.0287e-02f, -7.2194e-02f, + 7.4570e-02f, 5.4483e-02f, -1.2639e-02f, + 1.2481e-01f, 1.4683e-01f, -4.7581e-02f, + 1.6748e-01f, -3.1374e-02f, -1.7271e-02f, + 1.9801e-39f, -3.3469e-39f, -4.7012e-39f, +-2.9869e-39f, -3.2752e-39f, -2.2142e-39f, +-4.2927e-39f, -1.9635e-39f, -8.7517e-40f, + 2.7286e-39f, 2.7755e-39f, 2.7501e-39f, + 2.7114e-39f, 2.7711e-39f, 2.6858e-39f, + 2.5562e-39f, 2.6523e-39f, 2.5846e-39f, + 1.4015e-01f, 1.0486e-01f, 1.2320e-01f, + 4.6545e-02f, 1.2068e-01f, 9.2531e-02f, + 1.0717e-01f, 3.8738e-02f, 1.0181e-01f, +-7.4503e-40f, -1.1490e-39f, 6.1230e-41f, + 2.4896e-39f, 5.3740e-39f, -1.4060e-39f, + 1.9095e-39f, -7.1020e-40f, 3.5820e-39f, +-1.4348e-02f, 6.4128e-02f, 6.1082e-02f, +-1.1112e-02f, 8.5993e-02f, 2.4835e-02f, + 1.2794e-01f, -9.1072e-02f, -1.3487e-02f, +-5.8057e-02f, 1.3080e-01f, 1.0895e-01f, +-1.6436e-01f, 9.8593e-03f, 1.5586e-02f, +-1.5336e-01f, 3.6391e-02f, 1.4539e-01f, +-4.6112e-02f, 3.0102e-02f, 6.2460e-02f, +-2.5510e-02f, 2.0437e-02f, -5.6816e-02f, +-1.0308e-01f, -1.5284e-01f, -7.1036e-02f, + 5.5290e-02f, -6.6632e-02f, 4.2268e-02f, +-2.7665e-02f, 9.3415e-02f, 5.1026e-02f, + 1.5652e-01f, 1.0835e-01f, 9.6131e-02f, +-4.2583e-39f, -3.4889e-39f, -5.7522e-39f, + 4.2701e-40f, 2.8095e-39f, -3.5579e-39f, + 2.2286e-39f, 4.9865e-39f, 4.0469e-39f, +-6.4320e-40f, -3.3384e-39f, -5.9025e-39f, +-7.9075e-40f, -3.0577e-39f, -6.0007e-39f, +-8.9627e-40f, -2.8374e-39f, -5.8866e-39f, + 6.3645e-03f, -5.3080e-03f, -5.1759e-02f, + 1.0665e-01f, -6.3126e-02f, 5.0918e-02f, + 7.2193e-02f, -6.8836e-02f, -6.5657e-02f, + 2.8519e-39f, -5.0955e-39f, -9.6085e-40f, +-3.3563e-39f, -5.6038e-39f, -1.6256e-39f, + 2.6872e-39f, 1.4728e-39f, -1.9908e-39f, +-1.5254e-02f, 9.8323e-02f, 4.5504e-02f, + 1.3855e-01f, 6.9300e-02f, 1.9135e-01f, +-5.2321e-02f, -6.0227e-03f, -1.1734e-04f, +-1.4457e-01f, 9.2761e-02f, 4.5219e-02f, +-3.0361e-01f, 3.4673e-01f, -2.3110e-01f, + 2.1017e-01f, 2.4983e-01f, 3.1659e-01f, +-6.0569e-02f, -5.4348e-02f, -7.6719e-02f, +-6.5060e-02f, 2.8902e-01f, 8.0732e-02f, +-3.3425e-01f, -3.1361e-01f, -2.7183e-01f, + 2.8035e-02f, -5.8134e-02f, -4.3880e-02f, +-1.6375e-02f, 9.8195e-02f, -7.4011e-02f, +-5.9523e-02f, 1.0234e-01f, -5.3357e-02f, + 2.3364e-39f, -2.5324e-39f, -4.8333e-40f, + 2.2903e-41f, -3.3061e-39f, -2.5779e-39f, +-1.8164e-39f, -4.9236e-39f, -4.9272e-39f, +-1.2809e-39f, -1.1698e-39f, -1.2564e-39f, +-1.3111e-39f, -1.1778e-39f, -1.2543e-39f, +-1.4772e-39f, -1.4021e-39f, -1.4721e-39f, + 8.8919e-02f, -3.4541e-03f, -4.9619e-02f, + 1.0997e-01f, 1.0257e-01f, 6.9950e-02f, + 9.2624e-02f, 3.2712e-02f, 8.7916e-02f, +-5.0242e-39f, -6.1320e-39f, 8.7891e-40f, +-4.9951e-39f, 2.3873e-39f, -2.7823e-39f, +-3.6739e-39f, -1.8903e-39f, 5.2150e-39f, + 9.6288e-02f, 9.7568e-03f, -5.8178e-02f, + 2.3313e-02f, 1.1725e-01f, 1.0291e-01f, +-1.0111e-01f, 8.3706e-02f, 9.6575e-03f, +-8.2531e-02f, 7.0089e-02f, 1.0821e-01f, +-1.1016e-01f, 1.8977e-01f, 2.5576e-01f, +-1.0221e-01f, 5.9236e-02f, 6.1678e-02f, + 2.6234e-02f, 9.6868e-02f, 9.2432e-02f, + 4.9881e-02f, 5.9121e-02f, -1.0477e-02f, +-1.4693e-01f, -1.0030e-01f, -1.0608e-01f, + 1.1936e-01f, -2.2301e-02f, 1.1363e-01f, + 1.3981e-01f, 6.7734e-02f, -8.2775e-02f, + 1.0404e-01f, -7.7360e-03f, 4.2523e-02f, +-2.6052e-39f, 5.7201e-39f, -5.6049e-39f, +-3.6314e-39f, -5.9232e-39f, -3.6970e-39f, + 3.4360e-39f, -5.6848e-39f, -3.8308e-39f, + 4.6279e-39f, 5.8135e-39f, 2.0652e-39f, + 3.9864e-39f, 4.4000e-39f, 5.5163e-39f, + 2.9644e-39f, 2.7537e-39f, 3.6593e-39f, + 4.7872e-02f, -2.5857e-02f, 4.8810e-02f, + 1.0389e-01f, -1.0782e-01f, 4.1365e-02f, + 9.5778e-02f, -5.2341e-02f, 4.5947e-02f, +-8.2652e-40f, -5.7602e-39f, 4.6187e-39f, +-2.8365e-39f, 1.4981e-39f, 6.2504e-39f, +-4.8330e-39f, 4.0283e-39f, 4.9792e-39f, +-1.0893e-03f, -8.2708e-02f, -1.7925e-01f, + 8.3461e-02f, 3.1339e-02f, 8.8096e-02f, + 7.3139e-02f, -1.2212e-01f, 1.0489e-02f, +-2.4187e-01f, -3.8397e-01f, 1.3730e-01f, + 1.9217e-01f, 1.4101e-01f, 4.9795e-01f, +-1.1441e-01f, 3.3343e-01f, 7.9194e-02f, + 1.4556e-01f, -5.1060e-01f, 2.1556e-01f, + 3.5719e-01f, 2.7282e-01f, -1.9015e-01f, +-1.0941e-01f, 2.7634e-02f, 1.1833e-01f, +-9.3316e-02f, -4.1307e-03f, 7.8613e-02f, +-2.1526e-02f, -6.7141e-02f, 2.5513e-02f, +-3.3942e-02f, -8.6282e-02f, 3.0446e-02f, +-4.5124e-39f, -2.7154e-39f, 4.9467e-39f, +-4.2299e-39f, -5.9485e-39f, -2.9606e-39f, +-4.7642e-39f, -4.7981e-39f, -4.0169e-39f, +-3.8238e-39f, 5.7381e-39f, 4.0097e-39f, + 1.9550e-39f, 4.5523e-39f, 3.1206e-39f, + 6.0200e-39f, 3.0406e-39f, 2.0498e-39f, +-3.2474e-01f, 1.1052e-02f, 4.7197e-02f, +-1.4658e-01f, 1.6728e-01f, 5.2190e-02f, + 4.3174e-02f, 4.5864e-02f, 5.4472e-02f, + 2.6403e-39f, 2.7421e-39f, -4.3011e-39f, +-3.6258e-39f, -1.3708e-39f, 3.6147e-39f, +-1.9471e-39f, 4.5896e-39f, 4.5992e-39f, +-9.9986e-02f, 7.0727e-02f, 8.5023e-02f, + 2.2501e-02f, 1.4343e-01f, 1.1878e-01f, + 2.8126e-02f, 7.3239e-02f, 1.0468e-02f, + 4.5032e-01f, 4.4730e-01f, 1.3446e-01f, +-1.3374e-01f, 8.8554e-02f, 3.5610e-01f, + 3.0584e-01f, 2.3536e-01f, 1.6161e-01f, +-5.1485e-01f, 1.2372e-01f, 5.4379e-02f, +-2.9665e-01f, -3.3157e-02f, -1.8688e-01f, + 5.1777e-02f, -1.4315e-01f, -1.1366e-01f, +-2.4471e-01f, 5.5554e-02f, 8.9284e-02f, +-1.6870e-01f, 7.6156e-02f, 1.2472e-01f, +-1.5633e-01f, 4.3184e-03f, 1.1078e-01f, + 4.0579e-39f, -3.8271e-39f, 1.1535e-39f, + 6.6968e-40f, -1.1545e-39f, -5.4217e-40f, + 3.5566e-39f, -4.4956e-40f, -1.7097e-39f, +-4.1778e-39f, -3.7655e-39f, -3.7148e-39f, +-3.8013e-39f, -3.5225e-39f, -3.4678e-39f, +-3.8369e-39f, -3.5583e-39f, -3.6518e-39f, +-1.4894e-02f, 2.4801e-03f, -4.6996e-02f, + 6.7453e-04f, 1.8799e-02f, 2.9889e-02f, + 7.2700e-03f, 1.2385e-01f, 9.2522e-02f, + 3.9300e-39f, 3.1853e-39f, 2.8376e-39f, + 2.8888e-39f, -4.8734e-39f, 2.3402e-39f, +-3.9710e-39f, -4.3243e-39f, 4.1151e-39f, + 1.6399e-02f, -8.2828e-02f, -5.8361e-02f, + 2.1315e-02f, 1.1968e-02f, 6.8727e-02f, + 3.8558e-02f, 1.5451e-02f, 5.4465e-04f, + 1.0549e-02f, -8.6468e-02f, -1.8535e-01f, +-1.3616e-01f, 2.7371e-01f, 1.1157e-01f, +-1.7097e-01f, 1.3659e-01f, 2.2831e-02f, +-3.3897e-02f, 1.3307e-01f, 7.4482e-03f, + 4.8120e-01f, 7.7053e-01f, 5.3354e-01f, +-2.4277e-01f, -5.9136e-02f, -1.3419e-01f, +-7.4653e-02f, -6.4169e-02f, -2.9526e-02f, +-3.6336e-02f, 7.2362e-02f, -3.5332e-02f, + 6.2628e-02f, 6.2278e-02f, 3.5639e-02f, + 3.6614e-39f, -2.6150e-39f, -3.5229e-39f, + 5.3538e-39f, -1.2368e-39f, 2.1530e-39f, + 4.8585e-39f, -2.4150e-39f, 5.2220e-40f, + 3.8610e-40f, 1.4772e-39f, 2.1962e-39f, +-1.8493e-40f, 1.1409e-39f, 1.7309e-39f, +-2.5751e-40f, 9.1351e-40f, 1.3106e-39f, + 6.2867e-02f, -1.2727e-01f, -6.5307e-02f, + 1.1415e-01f, -4.5529e-02f, -1.1358e-01f, + 4.3427e-02f, -6.0994e-02f, -7.7808e-02f, +-4.1831e-39f, 1.3230e-39f, 5.5853e-39f, +-3.4646e-39f, -7.2824e-40f, -3.4263e-39f, + 1.5344e-39f, -5.8245e-39f, 1.9910e-39f, + 1.1000e-02f, -3.7088e-03f, -8.0042e-02f, + 9.7603e-02f, 8.6581e-02f, -1.8921e-03f, + 2.2820e-01f, 6.8073e-02f, -8.1081e-02f, +-3.3901e-01f, -1.1231e-01f, -8.6476e-02f, + 1.1147e-01f, 4.9587e-01f, -1.7039e-01f, +-2.0702e-01f, 5.8730e-02f, -1.3475e-01f, + 2.3548e-01f, -6.8044e-02f, 9.4296e-02f, + 4.4803e-01f, 6.1517e-03f, -5.5192e-02f, +-2.7304e-01f, -2.6003e-02f, 4.0713e-01f, + 2.8621e-02f, 6.2698e-03f, -1.4746e-01f, + 9.4819e-02f, -1.3109e-02f, 3.5540e-02f, + 4.4047e-02f, 3.5066e-02f, -9.5886e-03f +} +, +{ +-6.7011e-03f, 1.7398e-01f, 1.4767e-01f, +-1.9882e-02f, 1.9286e-01f, 4.8626e-02f, + 1.1465e-01f, -4.4017e-02f, -1.9288e-01f, +-7.5817e-02f, 1.5598e-01f, 1.2329e-01f, + 3.4126e-03f, -9.4884e-02f, -4.2276e-02f, + 3.9110e-02f, -1.3477e-01f, -4.4951e-02f, + 6.0450e-02f, 4.4656e-01f, 3.8954e-01f, +-2.1207e-01f, -1.0600e-02f, -5.6351e-01f, + 1.8074e-01f, 3.0797e-02f, -4.0380e-01f, +-1.0733e-01f, 3.7228e-02f, 9.7157e-02f, +-7.5810e-03f, 5.5605e-02f, -9.1898e-02f, +-1.4992e-01f, -5.3206e-02f, -1.9667e-01f, +-1.6667e-01f, 7.6091e-02f, 1.7064e-01f, + 2.5322e-01f, -9.4636e-03f, -2.7899e-01f, + 4.2013e-02f, 1.5693e-01f, 3.1124e-01f, +-2.1534e-02f, 1.3915e-01f, -2.8199e-01f, +-2.9683e-03f, 1.4445e-02f, -1.5552e-01f, + 3.4759e-02f, -2.0321e-01f, -1.1155e-01f, + 3.6164e-02f, 2.8664e-01f, 2.3426e-01f, +-1.2525e-01f, -1.7195e-01f, -5.2270e-02f, + 3.8782e-02f, 5.7734e-02f, 2.1945e-01f, + 1.0243e-01f, -1.3159e-01f, -1.7844e-01f, +-6.0359e-02f, 1.9125e-01f, 3.3553e-01f, +-1.0876e-01f, -1.2149e-01f, -5.7185e-01f, +-2.0583e-02f, -4.8168e-03f, -7.1908e-02f, +-2.3428e-02f, 2.9902e-02f, 1.0888e-02f, + 3.6383e-02f, 1.0052e-01f, 2.8972e-02f, + 1.1415e-03f, -3.4518e-02f, -9.0058e-02f, + 7.3207e-03f, 6.0961e-02f, 7.5629e-02f, +-4.5969e-02f, 2.4314e-02f, 6.7658e-02f, +-1.3043e-01f, -3.0343e-01f, -2.0799e-01f, +-4.6261e-02f, -1.7650e-02f, -7.2160e-02f, +-2.6291e-02f, 1.5707e-01f, 9.5021e-02f, +-4.1030e-02f, -8.1977e-02f, -3.0776e-02f, +-3.0685e-02f, 8.2163e-03f, 4.0357e-02f, +-6.9633e-02f, 6.0690e-02f, 1.5418e-02f, +-1.2814e-01f, 7.3968e-02f, -3.3742e-03f, +-1.5239e-01f, 8.9941e-03f, 1.7877e-01f, + 2.1219e-01f, -5.2057e-01f, -2.2284e-01f, +-3.4681e-02f, -1.3594e-02f, 1.6700e-01f, +-7.7366e-02f, 8.5138e-03f, -4.3159e-02f, + 4.0597e-02f, 9.7247e-04f, -3.4326e-01f, +-2.1424e-01f, -1.6489e-01f, -4.3248e-02f, + 1.5987e-01f, 4.6235e-01f, 2.6287e-01f, +-1.2270e-02f, 1.3165e-01f, 5.3217e-02f, + 7.2716e-02f, -7.0677e-02f, -1.7740e-01f, +-6.2357e-02f, 1.1932e-01f, 1.5733e-01f, +-1.0275e-01f, 1.4966e-01f, 4.8125e-02f, +-4.7150e-02f, 1.5516e-01f, 6.9615e-02f, + 6.1252e-02f, 5.3859e-02f, 1.7052e-01f, + 3.1940e-02f, 1.1842e-01f, 4.2265e-02f, +-4.9531e-02f, 1.1519e-01f, 9.8914e-02f, + 1.3455e-01f, 1.3177e-01f, -2.7938e-03f, + 1.1895e-01f, 1.1377e-01f, 6.1035e-02f, + 8.0390e-02f, -4.1028e-02f, 3.7415e-03f, +-1.0317e-01f, 1.0279e-01f, -6.5789e-03f, +-2.3339e-02f, 7.2741e-02f, 4.1662e-02f, +-7.4087e-02f, 8.8531e-02f, -4.9697e-02f, + 4.6134e-02f, 1.4300e-01f, 1.1720e-01f, + 3.8271e-03f, 1.7108e-01f, -2.4779e-02f, + 6.9844e-02f, -4.6467e-02f, -9.1699e-02f, + 5.5704e-02f, -3.0312e-02f, -7.8252e-03f, +-4.3799e-02f, -1.6623e-01f, -2.3006e-02f, + 4.9214e-02f, 3.1528e-02f, 3.3302e-02f, + 3.1213e-02f, 9.8880e-02f, -1.1098e-01f, + 4.5092e-02f, -1.6922e-03f, -5.1380e-02f, + 7.6063e-02f, 1.4159e-01f, 4.1409e-02f, + 8.0812e-02f, 9.7569e-02f, 4.1532e-02f, +-1.1136e-01f, -4.3686e-02f, -1.4144e-01f, +-9.7717e-02f, 4.8239e-02f, 5.3374e-02f, +-1.1827e-01f, 1.0008e-01f, 8.6368e-02f, +-6.2572e-02f, 3.6484e-02f, -6.3361e-02f, + 4.1008e-03f, 1.6709e-02f, 4.0553e-02f, + 2.2766e-02f, 2.7241e-02f, 5.1786e-02f, + 1.3607e-02f, 5.4638e-02f, 6.9439e-02f, +-2.4211e-02f, 4.0065e-03f, -1.9540e-03f, +-9.5697e-03f, 3.0503e-02f, 3.5809e-02f, +-4.3456e-02f, 2.8959e-02f, 4.2898e-02f, +-1.5629e-02f, -9.4347e-02f, 7.2799e-02f, + 2.3115e-01f, 7.3449e-02f, 6.9354e-02f, + 1.6014e-01f, 1.8878e-01f, -2.2148e-02f, +-4.9274e-02f, -6.9233e-03f, 1.0578e-02f, +-4.3291e-02f, -7.8361e-03f, 1.6647e-02f, +-5.6168e-02f, 1.0317e-02f, 3.1170e-02f, + 1.2530e-01f, -3.2398e-02f, -6.5690e-02f, +-2.5805e-01f, 3.6079e-02f, 3.5390e-02f, +-1.7236e-01f, 6.6798e-03f, 4.8924e-02f, + 1.3314e-01f, 5.0646e-02f, -3.4844e-02f, +-1.2559e-01f, -1.1774e-01f, 1.2898e-01f, +-7.7402e-02f, -1.0703e-02f, -2.6359e-01f, +-3.8706e-02f, -2.2082e-02f, 2.7591e-03f, +-8.2353e-02f, -3.1941e-02f, -1.1937e-01f, + 2.9747e-02f, 2.0041e-01f, -5.1984e-02f, + 1.7919e-01f, 6.3603e-02f, -5.5516e-02f, + 1.0116e-01f, 8.7370e-02f, -8.6624e-02f, +-8.4314e-02f, 3.5997e-02f, 2.1161e-01f, + 1.0902e-39f, 9.3514e-40f, 9.3074e-40f, + 9.8377e-40f, 1.1299e-39f, 8.2024e-40f, + 1.2062e-39f, 1.0405e-39f, 1.0284e-39f, +-5.7829e-40f, -6.7489e-40f, -6.3814e-40f, +-6.8460e-40f, -7.9377e-40f, -7.6449e-40f, +-4.7632e-40f, -5.6022e-40f, -5.2053e-40f, + 1.8459e-39f, 2.1036e-39f, 2.1848e-39f, + 2.0535e-39f, 2.3728e-39f, 2.4416e-39f, + 1.7027e-39f, 2.0249e-39f, 2.0833e-39f, + 9.1594e-40f, 8.0493e-40f, 7.7836e-40f, + 7.5889e-40f, 6.3026e-40f, 9.3384e-40f, + 9.6987e-40f, 1.1273e-39f, 8.1906e-40f, +-7.9046e-39f, -7.2328e-39f, -7.1040e-39f, +-7.9046e-39f, -7.1862e-39f, -7.4931e-39f, +-6.5243e-39f, -7.1117e-39f, -6.9941e-39f, + 1.3577e-39f, 3.5945e-40f, -3.6833e-40f, + 1.3768e-39f, 6.9779e-40f, -7.5180e-40f, + 5.7295e-40f, -6.0767e-41f, -1.3085e-39f, + 7.7960e-39f, 7.8579e-39f, 7.4482e-39f, + 7.4224e-39f, 7.5791e-39f, 7.4378e-39f, + 6.5819e-39f, 6.7271e-39f, 6.6281e-39f, +-1.6535e-39f, -7.7817e-40f, -8.5918e-40f, +-2.0861e-39f, -1.3658e-39f, -1.0560e-39f, +-3.4360e-39f, -2.6878e-39f, -2.6477e-39f, + 4.6460e-02f, 1.1676e-01f, -5.9846e-02f, + 8.6467e-03f, -1.1287e-02f, 7.0129e-02f, +-1.1277e-01f, 1.0321e-02f, -1.9567e-02f, + 1.2145e-01f, -7.1995e-02f, -1.3615e-02f, + 9.7877e-02f, 6.6061e-02f, 1.0272e-02f, + 1.1391e-01f, 5.6974e-02f, 9.7472e-02f, +-3.3605e-02f, 6.1751e-02f, -4.3004e-02f, +-5.1040e-02f, -3.8798e-02f, -7.1736e-02f, +-1.0179e-02f, 8.5964e-02f, -8.1435e-04f, + 2.5149e-02f, 7.1990e-02f, 8.1534e-02f, + 6.3133e-02f, 5.8643e-02f, 4.6756e-02f, +-5.3580e-03f, 3.4411e-02f, 5.2957e-03f, + 1.0652e-01f, -6.6035e-02f, 8.5754e-02f, + 3.2919e-01f, -1.5958e-02f, 2.1694e-03f, +-9.0943e-02f, -2.1920e-02f, 2.9706e-02f, + 4.7986e-02f, 1.7105e-02f, -5.7711e-02f, +-4.2066e-03f, 6.5668e-02f, -1.6617e-01f, + 1.0057e-02f, -2.0108e-03f, -1.5499e-01f, + 6.7941e-02f, 1.7352e-01f, 4.9498e-02f, + 6.2013e-02f, 9.6180e-02f, -2.9861e-03f, +-1.2482e-02f, 9.5709e-03f, -8.7913e-02f, +-8.6954e-02f, 9.9646e-03f, 8.0050e-02f, +-4.4157e-02f, -6.3008e-03f, 4.0645e-02f, +-7.9624e-02f, 1.0856e-01f, -4.5341e-04f, + 7.1085e-02f, 5.7002e-02f, 1.1673e-02f, +-5.1378e-02f, -2.3945e-03f, -5.9532e-02f, + 3.4998e-02f, -3.6019e-02f, 1.0428e-02f, + 5.9774e-03f, 5.4993e-03f, 2.4306e-02f, +-5.9813e-03f, 4.4999e-02f, 7.4744e-02f, +-3.0773e-02f, -3.6835e-02f, 5.8396e-04f, +-3.8644e-01f, 2.4563e-01f, 1.2436e-01f, +-3.2986e-01f, -1.1044e-01f, 2.0753e-01f, +-1.3621e-01f, -1.3544e-01f, 5.8882e-02f, + 8.8837e-02f, 5.7460e-02f, -3.0960e-02f, +-1.2598e-03f, 3.9124e-02f, -5.3322e-02f, +-4.4227e-02f, -3.8000e-02f, -3.2677e-02f, + 1.5675e-01f, 1.0808e-01f, 1.1024e-01f, + 5.4468e-01f, -5.9268e-01f, 1.0088e-01f, + 8.2360e-02f, 1.9646e-01f, 6.4799e-03f, + 1.6357e-01f, 6.8273e-02f, -1.2051e-01f, + 4.9511e-02f, 4.7334e-01f, -4.8876e-02f, +-1.3130e-01f, -5.1568e-03f, 1.0088e-01f, +-5.8971e-02f, 2.5775e-01f, 9.0169e-02f, +-3.0461e-01f, -3.2353e-02f, -2.0293e-01f, + 1.3897e-02f, 1.4249e-01f, -5.8661e-02f, +-1.3624e-01f, -5.3026e-02f, 3.1038e-03f, +-5.6211e-01f, -2.8375e-01f, -1.2524e-01f, +-2.3813e-01f, -2.2439e-02f, -4.4082e-02f, + 9.9066e-02f, -7.1735e-02f, 2.2345e-02f, +-1.4791e-02f, 1.3225e-01f, 8.9460e-02f, +-4.8986e-02f, -3.2296e-02f, -4.7474e-02f, + 6.5865e-02f, -8.0697e-02f, -6.8475e-02f, +-7.6845e-02f, 1.1568e-01f, 3.7443e-03f, + 1.0448e-01f, -3.3206e-03f, 5.4523e-02f, + 5.5741e-02f, 5.0917e-02f, 1.0209e-01f, +-9.6729e-02f, 7.8876e-02f, -4.9550e-02f, +-3.8926e-02f, 7.1163e-02f, 8.9436e-02f, +-1.4001e-03f, -9.4980e-02f, -7.7747e-02f, + 9.4335e-02f, 1.1605e-01f, 9.5715e-02f, + 1.7951e-02f, 4.3177e-03f, -5.6937e-02f, + 4.4558e-02f, -5.2562e-02f, 4.0652e-02f, + 1.8058e-01f, -1.0763e-01f, 4.8927e-02f, +-5.2569e-03f, -1.3437e-01f, 2.8578e-02f, + 1.3592e-02f, -3.9346e-02f, 1.0003e-01f, + 1.8091e-01f, 7.2687e-03f, -3.7241e-02f, + 6.0438e-02f, 5.7872e-02f, 7.3778e-02f, + 1.2411e-02f, 4.1856e-02f, -2.8892e-02f, + 3.2884e-02f, 6.9072e-02f, -5.9363e-02f, +-1.7112e-01f, -9.9734e-02f, -7.3417e-02f, +-8.9623e-02f, 4.5292e-02f, -1.6635e-01f, +-3.1895e-02f, 1.4284e-01f, 2.0752e-01f, + 2.3383e-02f, -1.3490e-02f, 5.1593e-03f +} +, +{ + 5.8708e-01f, 2.6026e-01f, 8.8379e-02f, + 3.1818e-01f, 7.0055e-03f, 1.1652e-01f, + 1.1719e-01f, 8.7711e-02f, -1.1687e-02f, + 7.5741e-02f, -3.7970e-01f, 1.6001e-01f, + 1.0739e-01f, 3.1735e-01f, 2.0061e-01f, + 8.6719e-02f, 8.5111e-02f, -3.9354e-02f, +-9.9512e-02f, -9.1524e-02f, -9.7984e-02f, + 5.6333e-02f, -1.5928e-01f, 1.1998e-03f, + 2.7488e-02f, 2.8168e-02f, 1.3768e-01f, + 5.9686e-02f, 2.8931e-01f, -1.7131e-02f, + 1.6391e-01f, 3.3748e-01f, 1.2296e-01f, + 8.9242e-02f, 1.4761e-01f, 1.7187e-01f, +-2.6352e-39f, -4.0703e-39f, -5.1751e-39f, +-2.5214e-39f, -3.9666e-39f, -4.6282e-39f, +-2.4635e-39f, -3.6734e-39f, -4.3359e-39f, +-7.1654e-02f, 7.9691e-03f, -1.0219e-01f, +-5.5684e-02f, -1.3065e-01f, -1.9106e-02f, + 1.0561e-01f, 5.9054e-02f, -2.1279e-02f, +-1.8840e-02f, 1.6690e-01f, 3.8050e-01f, + 6.2779e-02f, -1.2124e-01f, 5.0304e-01f, + 2.1870e-02f, 1.7631e-01f, 1.4858e-01f, + 1.4614e-01f, -1.1767e-01f, -3.9155e-02f, + 1.2963e-01f, -4.6753e-02f, 1.3848e-01f, +-8.2292e-02f, 2.1908e-01f, 6.2794e-02f, +-3.2625e-01f, -8.8528e-03f, -6.5603e-03f, + 5.4245e-02f, 2.7983e-01f, 2.1608e-01f, + 8.5890e-02f, 1.0955e-01f, -1.1606e-01f, + 9.7435e-02f, 1.5911e-01f, 6.7285e-02f, + 3.9570e-02f, 1.9333e-01f, -1.5531e-02f, +-2.3475e-01f, -2.5006e-02f, 2.8106e-02f, + 6.8740e-03f, 1.3261e-01f, -3.8563e-02f, + 8.8758e-02f, -4.2225e-02f, 4.7042e-02f, + 5.6284e-02f, -2.8303e-02f, 3.4532e-03f, +-4.0265e-02f, -3.0645e-02f, -5.2059e-02f, +-4.6196e-02f, -2.4868e-02f, -3.3257e-02f, +-3.7208e-02f, -2.4100e-03f, -7.1959e-04f, + 6.4237e-39f, 6.1438e-39f, 6.5434e-39f, + 6.1596e-39f, 6.1608e-39f, 6.3157e-39f, + 6.4263e-39f, 6.4625e-39f, 6.5877e-39f, + 1.1092e-01f, -4.4784e-02f, 9.1292e-02f, + 9.2900e-02f, 1.2459e-01f, -7.1447e-02f, + 2.6158e-02f, -5.0219e-02f, -5.6136e-02f, +-5.8603e-02f, 2.9323e-02f, -2.4230e-01f, +-9.4921e-02f, 1.9103e-01f, 1.1670e-01f, + 1.2022e-02f, 6.2830e-02f, 3.0393e-01f, + 3.3819e-02f, 1.0040e-01f, 8.2600e-02f, +-8.7604e-02f, 7.0641e-02f, -1.0132e-01f, +-9.9371e-02f, 8.9363e-02f, -1.0703e-01f, + 4.4603e-01f, 7.9636e-03f, 1.8834e-01f, + 1.1859e-01f, 4.0760e-01f, 9.6841e-02f, +-1.1735e-01f, 2.3993e-01f, -7.7916e-02f, + 6.3481e-02f, -1.4958e-01f, 1.1554e-02f, + 5.2668e-02f, 3.4379e-01f, 8.3536e-03f, +-5.5403e-02f, 1.1655e-01f, -7.5022e-02f, +-8.2992e-02f, -7.0322e-02f, -1.0078e-01f, +-1.4516e-02f, -1.6558e-02f, 6.6806e-02f, +-6.7454e-04f, -5.7525e-02f, 1.5772e-01f, + 1.6446e-01f, -1.1897e-02f, -8.3387e-02f, + 7.1339e-02f, 1.6254e-01f, 1.6963e-01f, + 1.2630e-02f, 5.7933e-02f, 8.4686e-02f, +-5.6318e-39f, -6.1837e-39f, -6.1661e-39f, +-5.9923e-39f, -6.2371e-39f, -6.4922e-39f, +-6.4206e-39f, -6.6092e-39f, -7.1603e-39f, + 4.6507e-02f, -4.5924e-02f, -7.3838e-02f, +-3.3012e-02f, 5.1295e-02f, -7.4884e-02f, + 7.5389e-02f, 1.2002e-01f, 3.9442e-03f, + 9.9461e-02f, 1.9607e-01f, 1.4896e-01f, +-1.1191e-02f, 1.8352e-01f, 2.6778e-01f, + 8.0977e-02f, 1.0885e-01f, 2.5331e-01f, + 3.1503e-02f, -3.0004e-01f, -6.9114e-02f, + 2.0705e-01f, -2.0978e-02f, 1.5154e-01f, + 6.3033e-02f, -1.5721e-01f, 5.1067e-02f, +-1.1220e-02f, 1.5315e-01f, 4.5277e-03f, + 3.3250e-01f, 1.4207e-01f, 1.3469e-01f, + 5.2996e-01f, -2.5803e-01f, -4.5525e-02f, + 3.9807e-02f, -1.7088e-01f, -1.2414e-01f, + 2.1564e-01f, -2.9160e-01f, -1.8796e-01f, + 1.5482e-02f, 2.7005e-01f, 8.2446e-02f, + 5.4906e-02f, -1.0507e-01f, -8.0069e-02f, +-4.5729e-03f, -2.0621e-02f, 5.0088e-02f, + 2.5479e-02f, 9.5924e-02f, 8.3813e-02f, + 4.7833e-02f, -2.6191e-01f, 3.3483e-02f, + 6.1653e-02f, 7.1940e-03f, -1.3578e-01f, + 1.7662e-01f, -2.8194e-02f, -2.7509e-02f, +-1.9419e-39f, -2.4904e-39f, -2.7567e-39f, +-2.9896e-39f, -3.2700e-39f, -3.6336e-39f, +-3.8942e-39f, -4.2028e-39f, -4.5229e-39f, +-1.6839e-02f, -9.4421e-02f, -3.0147e-02f, +-6.5974e-02f, -1.6716e-02f, 5.0672e-02f, +-7.9841e-02f, -4.7086e-03f, 5.0016e-02f, + 1.8223e-04f, 3.3984e-03f, 5.1965e-02f, +-7.3512e-02f, -5.6604e-03f, -1.1630e-01f, +-1.0767e-01f, 3.2261e-02f, -2.0044e-01f, + 1.0995e-01f, 4.3581e-02f, -3.9397e-02f, +-1.4476e-02f, -2.3087e-02f, 2.6423e-03f, + 1.2047e-02f, 1.2084e-01f, 1.8563e-01f, +-2.8497e-01f, -2.5353e-01f, 1.0933e-01f, + 8.8974e-03f, 1.3315e-01f, 1.9153e-01f, + 2.0427e-02f, -8.9900e-02f, 2.2363e-02f, + 2.8575e-02f, 1.6351e-01f, 1.1876e-01f, +-2.7438e-02f, -1.0816e-03f, -5.5680e-02f, + 5.1369e-02f, -2.0575e-02f, 4.5232e-02f, + 9.4988e-02f, 2.5418e-02f, 8.9888e-02f, + 9.6631e-02f, 1.5828e-01f, 1.1577e-01f, +-2.9665e-02f, 3.2035e-02f, 1.4428e-01f, + 7.4352e-03f, 2.4917e-03f, 4.2713e-03f, + 1.2534e-02f, 2.1314e-02f, 1.5963e-02f, + 2.2920e-03f, 2.1864e-02f, 2.2921e-02f, + 7.1089e-40f, 5.3581e-40f, 4.5922e-40f, + 6.2492e-40f, 4.6365e-40f, 4.5466e-40f, + 9.2740e-40f, 7.7219e-40f, 7.4187e-40f, +-7.0909e-02f, 1.1127e-01f, -8.8953e-02f, +-5.0537e-04f, 4.5664e-05f, 1.3829e-02f, + 7.4380e-02f, 1.3900e-03f, 4.0345e-02f, + 5.7173e-02f, 8.7514e-02f, -3.9945e-01f, + 4.4116e-02f, 1.4148e-01f, -2.7578e-02f, +-1.2133e-02f, 1.9647e-01f, -2.6767e-02f, + 8.5870e-02f, -1.3723e-02f, 1.3408e-02f, + 7.9471e-03f, 7.8321e-02f, 5.1118e-02f, +-8.3660e-02f, -7.1584e-02f, 2.7423e-02f, +-5.5651e-39f, -3.2350e-39f, 4.7534e-39f, +-4.8581e-39f, -5.8010e-39f, 6.3268e-39f, +-3.4016e-39f, 6.2313e-39f, 5.7413e-39f, +-3.0708e-39f, 6.0155e-39f, -6.3317e-39f, +-3.1054e-39f, -5.5914e-39f, -6.4181e-39f, +-1.3636e-40f, -6.0343e-39f, -6.2034e-39f, + 1.0108e-39f, -2.5283e-39f, -8.6098e-40f, + 1.0088e-39f, -2.3042e-39f, -8.2029e-40f, + 1.2802e-39f, -3.7761e-39f, -4.6451e-40f, + 1.4160e-39f, 7.3869e-40f, 1.3275e-39f, + 1.2560e-39f, 1.0078e-39f, 1.2296e-39f, +-2.4490e-39f, 8.6071e-40f, -2.4510e-39f, + 2.1753e-39f, -2.0576e-39f, -2.1365e-39f, + 2.0157e-39f, 2.0755e-39f, 1.9439e-39f, + 2.0998e-39f, 2.0732e-39f, 2.1072e-39f, +-1.1289e-39f, -1.6132e-39f, 4.8117e-40f, + 1.2029e-39f, -1.3112e-39f, 6.4761e-40f, + 1.4958e-39f, -9.2719e-40f, 8.9526e-40f, + 3.6032e-39f, -4.9803e-39f, -2.4410e-39f, +-1.6429e-39f, -4.9602e-39f, -5.9626e-39f, +-1.6627e-39f, -4.9809e-39f, -5.6258e-39f, + 1.6619e-39f, 1.7856e-39f, 5.1822e-39f, + 1.5443e-39f, 1.4215e-39f, 6.1830e-39f, + 1.4242e-39f, -1.7895e-39f, 5.2206e-39f, +-2.4764e-01f, -2.8696e-01f, -5.7562e-03f, + 1.9255e-01f, 5.1335e-02f, -1.4512e-01f, +-1.1017e-02f, -3.6505e-02f, -1.1773e-01f, + 5.8651e-02f, -1.9354e-02f, 2.1595e-02f, +-3.5114e-03f, 1.8335e-01f, 4.0043e-02f, + 1.0579e-01f, -6.3055e-02f, 2.6981e-02f, +-1.4351e-02f, -1.5029e-02f, -9.7792e-02f, + 4.6718e-02f, 3.8673e-02f, -2.3410e-02f, +-2.8942e-03f, -8.4898e-03f, -3.3613e-02f, + 2.0298e-01f, 9.7218e-02f, 1.5052e-01f, + 3.2108e-01f, 2.6568e-01f, 1.3809e-03f, + 1.0008e-01f, 6.9262e-02f, -4.7810e-02f, + 4.1291e-39f, 4.3762e-39f, 4.2724e-39f, + 4.5864e-39f, 4.7827e-39f, 4.8821e-39f, + 4.5529e-39f, 4.6921e-39f, 4.7519e-39f, + 9.1246e-03f, -1.8136e-02f, -5.8517e-03f, + 9.1080e-03f, 4.2591e-02f, -1.5604e-02f, +-3.6270e-02f, 5.9184e-02f, 2.3189e-02f, + 4.2636e-02f, 3.6600e-01f, 4.7134e-01f, + 3.6666e-02f, 4.3565e-01f, 2.1105e-01f, +-5.2747e-02f, 4.0503e-01f, 2.0926e-01f, + 8.8427e-02f, 4.9138e-02f, -2.3381e-01f, +-5.6521e-02f, 7.5013e-02f, -1.4783e-01f, +-4.7299e-02f, -8.1200e-02f, -6.5665e-02f, +-1.6281e-01f, -2.3070e-01f, 5.4033e-02f, + 1.1527e-01f, 3.4730e-01f, 1.9293e-02f, +-1.8352e-02f, 2.0626e-01f, -1.1955e-01f, + 8.1665e-02f, 3.8584e-02f, 2.7958e-03f, + 6.4294e-02f, 1.3912e-01f, -5.6370e-02f, +-1.7618e-02f, 9.0357e-02f, -5.5021e-03f, + 9.3211e-05f, 1.5219e-01f, 1.0844e-01f, + 7.6218e-02f, 1.7016e-01f, 9.2438e-02f, + 4.3387e-02f, 8.0141e-02f, -3.2034e-02f, + 9.2121e-03f, -2.8742e-03f, -1.5988e-03f, + 9.1980e-03f, 1.6983e-02f, 3.3154e-03f, +-2.5642e-02f, 4.1607e-03f, 6.9246e-03f, + 3.7665e-40f, -4.0391e-41f, -4.0502e-41f, + 2.2436e-40f, -1.7190e-40f, 1.6583e-40f, + 1.4090e-40f, 2.2914e-41f, 6.7388e-41f, +-8.1776e-02f, 9.0814e-02f, 1.0222e-01f, +-3.4949e-02f, 1.0266e-01f, 3.6826e-02f, +-8.3856e-02f, 1.1102e-01f, 1.1026e-01f, + 1.5993e-02f, -1.1626e-01f, -3.0870e-01f, +-3.4119e-03f, 1.7638e-01f, -1.9092e-01f, +-1.2549e-01f, 3.2538e-01f, -7.9381e-02f, + 3.8433e-03f, -8.2530e-02f, 3.2103e-02f, +-1.1637e-02f, -1.0371e-01f, 2.3851e-02f, + 2.5390e-02f, 7.7085e-02f, 8.9536e-02f +} +, +{ +-2.8918e-02f, -8.3719e-02f, -3.3026e-02f, +-2.2620e-01f, 2.4280e-02f, -2.1254e-01f, + 2.8231e-02f, 3.5323e-02f, -2.8425e-02f, + 1.6891e-01f, 3.8192e-03f, 7.2794e-02f, +-1.6364e-01f, -4.1031e-02f, -1.3141e-02f, +-3.9478e-02f, 1.4910e-01f, -7.0978e-02f, +-6.3880e-02f, 9.8206e-02f, 1.3163e-01f, + 1.5778e-01f, 1.1914e-01f, 3.3277e-01f, +-3.6808e-01f, -5.5627e-01f, 1.4401e-01f, +-4.0314e-01f, 3.6298e-01f, -3.8212e-02f, +-2.3782e-01f, 2.5410e-01f, -2.2334e-01f, + 7.6542e-02f, 9.4998e-02f, 3.3399e-02f, +-1.8601e-01f, -1.8863e-02f, -4.1835e-02f, +-5.8671e-02f, -8.9987e-02f, -6.1069e-02f, +-7.1062e-02f, -9.5987e-02f, 1.2318e-02f, + 5.4541e-39f, -1.8871e-39f, 4.5048e-39f, +-2.2237e-39f, -5.4753e-39f, 1.4395e-39f, +-3.5753e-39f, 6.1466e-40f, -2.1567e-39f, + 4.5273e-02f, 1.1619e-02f, 1.1379e-01f, + 1.4093e-01f, 1.0444e-01f, 1.1283e-01f, +-3.0230e-02f, 3.1937e-01f, 5.0541e-02f, + 8.2862e-02f, -3.1540e-02f, -6.4833e-02f, + 1.5168e-01f, 1.7613e-03f, 4.2690e-02f, + 1.8820e-01f, 4.3783e-02f, 6.3473e-02f, + 8.0477e-02f, 1.0397e-01f, -3.6337e-02f, +-7.2828e-02f, 6.4048e-02f, 4.2476e-02f, +-1.3974e-04f, -2.2468e-01f, -4.9189e-02f, +-2.7478e-03f, 8.7663e-03f, 4.3870e-02f, +-3.3168e-02f, 1.1915e-01f, -1.8083e-02f, + 4.8155e-02f, -4.1742e-02f, 1.1251e-01f, +-6.1535e-02f, 5.1782e-02f, -2.3494e-02f, + 5.1677e-02f, 1.4067e-01f, -1.0377e-01f, + 3.2951e-03f, 1.1942e-02f, -1.1775e-01f, +-2.2104e-02f, -8.1073e-02f, -3.7509e-02f, + 6.8970e-03f, 1.6406e-02f, 4.6923e-02f, +-8.8448e-03f, 2.9130e-02f, 3.1024e-02f, + 7.6795e-02f, 4.6816e-02f, -1.3204e-02f, + 1.3988e-01f, 1.1175e-01f, 8.7121e-02f, + 1.2097e-01f, -3.8463e-02f, 6.7387e-02f, + 1.4708e-39f, 1.7125e-39f, 2.7764e-39f, + 1.5203e-39f, 1.5811e-39f, 4.4921e-39f, + 1.8828e-39f, 1.7593e-39f, 2.3774e-39f, + 4.3474e-02f, -4.7065e-02f, -7.1999e-02f, + 6.0338e-02f, 3.7240e-02f, 2.8802e-02f, +-4.0701e-02f, 1.8627e-02f, -1.8181e-02f, + 5.5169e-02f, 1.1874e-01f, -7.0475e-02f, +-1.3438e-02f, 1.4335e-01f, 1.5180e-01f, + 5.6331e-02f, 7.9719e-02f, 6.2691e-03f, +-6.6460e-02f, 2.7455e-01f, 5.5916e-02f, + 1.3515e-01f, -3.7263e-01f, 1.3463e-01f, +-4.0820e-05f, 3.1896e-01f, -8.3871e-02f, +-7.6172e-02f, 6.1963e-02f, -1.3804e-02f, +-5.2852e-02f, 1.0006e-01f, -3.4106e-02f, + 6.7218e-02f, -3.8616e-03f, -7.1788e-02f, + 1.6386e-02f, -1.8612e-02f, -1.7354e-01f, +-1.2166e-01f, 1.2667e-02f, -3.3852e-02f, +-3.2897e-02f, 1.0343e-01f, 2.4924e-01f, +-1.3272e-02f, 1.5705e-01f, 6.7731e-02f, + 1.0637e-01f, 1.9482e-02f, -2.0655e-01f, +-5.9087e-03f, -7.1073e-02f, 1.8723e-02f, +-2.6087e-02f, 1.5997e-01f, 9.6264e-02f, + 1.2431e-01f, 1.1462e-01f, -9.7197e-02f, +-6.2347e-02f, -4.5239e-02f, -2.6443e-02f, + 3.7406e-39f, -4.6345e-40f, 3.7971e-39f, +-3.8112e-39f, -3.5585e-39f, 4.6938e-39f, + 6.0588e-39f, -4.2403e-39f, 1.5311e-39f, + 1.6381e-01f, -6.8390e-02f, 2.6527e-02f, +-9.8612e-02f, 2.1953e-01f, -2.1886e-01f, + 7.4841e-02f, -1.2118e-01f, -8.1700e-02f, + 4.4974e-02f, 7.7514e-02f, -8.4620e-02f, +-2.9808e-02f, 2.1591e-02f, -3.9502e-02f, +-5.5797e-02f, -6.5105e-02f, -5.9860e-02f, +-3.7811e-01f, -2.3056e-01f, -7.4491e-02f, + 4.0833e-02f, -2.2613e-01f, -1.4986e-01f, +-1.0974e-01f, -6.5161e-01f, 1.7546e-01f, + 7.7903e-02f, -1.5969e-02f, -6.3040e-02f, +-1.7819e-01f, -7.1414e-02f, 1.8451e-02f, +-1.0618e-01f, 3.5614e-03f, 3.6719e-02f, + 1.5666e-01f, 3.9222e-01f, 9.1678e-02f, + 1.4519e-01f, 5.7331e-01f, -7.3466e-02f, + 1.0271e-01f, 1.0803e-01f, -1.3150e-01f, + 3.7496e-01f, 1.5001e-01f, 1.4727e-01f, + 3.2151e-01f, 1.2875e-01f, -8.1645e-02f, + 2.8629e-01f, 1.9329e-01f, -8.0009e-02f, +-9.9557e-02f, -2.6954e-02f, 2.6042e-02f, +-5.3374e-02f, 1.1369e-01f, 4.6503e-02f, +-3.4068e-02f, 9.1849e-03f, -9.1420e-02f, + 4.6343e-39f, 4.8289e-40f, 3.1694e-40f, +-3.5093e-39f, -4.7356e-39f, 7.1265e-40f, +-4.9626e-39f, -2.1280e-39f, 1.8542e-39f, +-1.3634e-01f, -5.4825e-02f, -6.6125e-02f, +-2.0694e-01f, 1.4924e-01f, 1.4028e-01f, + 3.2735e-02f, 7.6360e-02f, -9.2541e-02f, +-1.2149e-01f, -7.9789e-02f, -2.9591e-02f, + 1.2852e-02f, 1.2457e-01f, 1.3081e-02f, +-3.2966e-03f, 1.1089e-01f, 8.6461e-02f, + 1.4352e-01f, 5.9238e-02f, -2.1140e-02f, + 7.3999e-02f, 2.0893e-01f, 3.5512e-02f, +-5.3110e-02f, 3.9222e-01f, 1.3103e-01f, + 1.0168e-01f, 1.6685e-02f, 5.1616e-02f, + 9.8241e-02f, -1.6502e-01f, -1.2586e-01f, + 8.3915e-02f, 7.4837e-03f, 5.7355e-02f, +-3.4982e-02f, -1.2773e-01f, 6.8213e-02f, +-1.4674e-01f, -3.6844e-01f, 8.1546e-02f, +-1.5385e-01f, -7.0368e-02f, 4.3894e-02f, + 7.8201e-02f, -1.3952e-01f, 1.5154e-01f, + 2.3880e-02f, 1.4078e-01f, -1.2906e-01f, +-1.8268e-01f, -1.5687e-02f, -1.2588e-01f, +-9.4643e-03f, 1.4718e-02f, 7.4932e-02f, + 3.0996e-02f, -1.2339e-01f, 1.7452e-01f, + 4.4221e-02f, -1.3808e-01f, -1.0205e-02f, +-8.6959e-40f, -3.7907e-39f, -1.6020e-41f, + 4.3567e-40f, 1.4647e-39f, 6.5692e-40f, + 5.4286e-39f, 8.8667e-40f, -3.5047e-39f, + 2.4116e-02f, -9.5358e-02f, 1.6468e-01f, + 3.1916e-01f, -2.3472e-01f, -2.1644e-01f, + 1.2945e-01f, -1.8403e-02f, -3.2247e-02f, + 1.3666e-02f, -3.0548e-02f, -4.7635e-02f, +-9.2714e-02f, -2.1605e-01f, -5.9464e-02f, +-8.9110e-03f, -3.9299e-03f, -2.3289e-02f, +-1.7855e-01f, 9.0661e-03f, -1.9142e-02f, +-5.6754e-02f, -5.4451e-01f, -5.7664e-01f, + 1.6835e-01f, 2.0531e-02f, 2.0812e-01f, + 5.2794e-02f, -9.0414e-02f, 3.5560e-02f, + 3.7395e-02f, 5.9355e-02f, -3.6676e-02f, + 3.8035e-02f, 6.7844e-02f, 1.1042e-01f, + 5.0372e-02f, 6.8188e-02f, -8.5353e-02f, + 2.2769e-01f, 5.9758e-01f, -7.4568e-02f, + 7.8316e-02f, 8.4925e-02f, -4.0400e-02f, +-7.7984e-02f, -2.0739e-01f, 1.1736e-01f, + 2.4528e-02f, 2.1850e-01f, 2.5639e-01f, +-2.4561e-02f, 8.4661e-02f, -9.2191e-02f, +-2.7006e-02f, -7.8921e-02f, -2.7124e-02f, +-5.9232e-03f, -2.7693e-02f, 5.9524e-02f, + 9.7704e-02f, 9.6223e-02f, 2.0432e-02f, +-2.5588e-39f, 5.5478e-39f, -5.6209e-39f, +-4.7285e-39f, 4.5875e-39f, -5.7483e-39f, + 6.7240e-40f, -3.5113e-39f, -3.6246e-39f, + 1.6870e-03f, -2.1707e-01f, -3.8895e-02f, +-5.8465e-02f, -5.9146e-02f, 1.1936e-01f, +-2.7727e-02f, -9.5047e-02f, -2.2627e-01f, +-9.5155e-02f, -7.1422e-02f, 9.4611e-03f, + 3.7587e-03f, 1.6966e-02f, 2.8839e-02f, +-3.0794e-02f, 1.9888e-02f, -5.2541e-02f, +-1.0708e-02f, 3.0171e-02f, -3.0473e-01f, +-1.0214e-01f, 4.2017e-02f, 2.5568e-01f, +-9.8664e-02f, -5.5928e-01f, -7.6876e-02f, +-8.6821e-03f, 4.6484e-02f, -3.0836e-01f, +-1.0205e-01f, 6.8113e-02f, -2.8059e-01f, +-5.7828e-02f, 2.0990e-02f, -1.2843e-01f, + 7.5680e-02f, 1.7504e-02f, 1.6278e-01f, + 1.4075e-01f, 2.4361e-01f, 2.2737e-01f, +-1.3044e-01f, 8.2145e-03f, 1.6344e-01f, +-2.4780e-03f, 1.5108e-01f, 1.3313e-02f, +-9.5257e-02f, 6.1810e-02f, -1.9386e-01f, + 7.1365e-02f, 1.5328e-01f, 9.5848e-04f, + 1.2278e-01f, 7.8318e-02f, 3.3400e-02f, + 4.8597e-02f, 6.0632e-02f, -5.7238e-02f, + 3.2522e-02f, 4.5926e-02f, -9.5566e-02f, + 1.0844e-39f, -3.2490e-39f, -2.6904e-39f, +-3.0517e-39f, 4.7535e-39f, 4.3440e-39f, +-1.3996e-39f, 4.5201e-39f, -3.6165e-39f, +-5.6164e-02f, 1.0353e-01f, 6.6228e-02f, + 8.2147e-02f, 4.7827e-01f, 1.2004e-01f, +-6.8150e-02f, 1.8340e-01f, 2.2113e-01f, + 1.0580e-05f, -2.0949e-01f, -1.0358e-01f, + 1.6206e-01f, 1.2538e-01f, -1.3104e-01f, + 1.3700e-01f, 2.9282e-02f, -8.7020e-02f, + 4.5467e-39f, 5.9787e-39f, 2.6105e-39f, +-1.2670e-39f, 2.9513e-39f, -1.0811e-39f, +-3.9129e-39f, -1.8499e-39f, 2.9297e-39f, + 5.7414e-39f, 5.5907e-39f, 5.5702e-39f, + 5.9004e-39f, 5.7585e-39f, 6.3188e-39f, + 5.7395e-39f, 5.6146e-39f, 5.6451e-39f, +-7.3964e-39f, -6.3330e-39f, -5.5236e-39f, +-7.5172e-39f, -5.8828e-39f, -3.7555e-39f, +-6.9528e-39f, -7.7656e-39f, -5.5115e-39f, +-7.9031e-39f, -7.8200e-39f, -7.7914e-39f, +-7.4570e-39f, -7.6413e-39f, -7.9054e-39f, +-7.3437e-39f, -6.7956e-39f, -7.0789e-39f, +-3.6774e-40f, 1.3572e-40f, 3.0250e-40f, +-4.1792e-40f, -4.6240e-40f, 2.2528e-40f, +-5.2143e-40f, -5.6847e-40f, -4.2768e-40f, +-4.0128e-39f, 1.3485e-39f, 1.3436e-39f, + 1.5337e-39f, -3.9186e-39f, 1.2120e-39f, + 1.2992e-39f, 1.5671e-39f, 1.5659e-39f, +-4.6533e-39f, -4.7029e-39f, -6.0334e-39f, +-5.1157e-39f, -5.3257e-39f, -5.8595e-39f, +-4.3046e-39f, -4.4391e-39f, -5.0039e-39f, +-1.0025e-39f, -1.0145e-39f, -8.6762e-40f, +-1.0282e-39f, -1.0939e-39f, -9.4134e-40f, +-1.1868e-39f, -1.2133e-39f, -5.4261e-40f +} +, +{ +-1.2633e-01f, 2.7332e-01f, -4.6674e-01f, +-9.4537e-03f, 9.6797e-02f, -6.4975e-01f, + 1.8103e-02f, 2.7190e-03f, 2.3888e-01f, + 4.8553e-02f, -8.7297e-02f, 1.8415e-01f, + 3.1194e-02f, -7.2899e-02f, -8.1835e-02f, + 7.1639e-02f, -3.1455e-02f, -6.2866e-02f, +-2.1413e-02f, 4.6066e-02f, 9.2372e-02f, + 1.5761e-01f, -1.0352e-01f, -3.4808e-01f, + 2.3715e-02f, 1.6453e-01f, -1.3699e-01f, + 1.1705e-01f, -1.6882e-02f, 1.2575e-01f, +-2.9834e-02f, -1.1558e-01f, 4.7318e-01f, + 3.5301e-02f, 1.1246e-01f, 3.5038e-03f, + 1.5837e-01f, -2.9968e-01f, 1.6094e-01f, + 4.0562e-02f, -1.6329e-01f, -3.7023e-02f, +-3.9991e-02f, 1.7001e-01f, -2.7735e-03f, + 8.8139e-02f, -2.4828e-01f, 5.5751e-04f, +-1.3871e-01f, -2.4839e-01f, 1.7996e-03f, +-1.1670e-01f, 3.3651e-02f, -2.9559e-02f, + 3.8572e-03f, 3.7329e-02f, 4.7511e-02f, +-7.8848e-02f, 1.2844e-01f, 9.2677e-02f, +-8.5041e-02f, 5.7212e-02f, -1.0415e-02f, +-3.2462e-39f, 2.3003e-39f, 4.9676e-39f, +-3.9261e-39f, -6.8290e-40f, 5.9119e-39f, +-4.1242e-39f, -1.1996e-39f, 3.8436e-39f, +-2.3243e-02f, -2.2525e-02f, 3.9668e-02f, +-1.1210e-01f, -2.3892e-01f, 1.6431e-01f, +-1.3998e-01f, -1.5857e-01f, -1.5625e-01f, +-1.7634e-02f, -3.9174e-02f, -9.0936e-03f, +-3.9428e-03f, -1.6411e-02f, 2.6484e-03f, + 1.1376e-02f, -2.9057e-03f, 6.3382e-02f, + 4.8930e-02f, 9.1298e-02f, 1.8195e-02f, +-6.3365e-02f, -1.5407e-01f, 8.1543e-02f, + 4.9919e-02f, 1.6852e-01f, 4.4053e-02f, +-4.8682e-02f, -7.3614e-02f, -6.9206e-03f, +-4.8193e-02f, -2.3704e-01f, -8.3394e-03f, + 5.6024e-02f, 3.7845e-01f, -2.4550e-02f, + 5.2050e-02f, 2.2027e-01f, -4.1328e-02f, +-6.6327e-02f, 1.0450e-01f, 1.7058e-02f, +-1.2047e-01f, 5.2494e-02f, -1.8018e-02f, + 5.4807e-02f, 1.1177e-01f, 2.3511e-02f, + 6.0413e-03f, -3.2457e-02f, 7.6611e-02f, +-2.1276e-02f, 3.0054e-02f, 5.0752e-02f, + 7.5556e-02f, 2.5734e-02f, -6.0634e-02f, + 1.2201e-01f, -4.1533e-01f, 2.7634e-02f, + 4.5560e-01f, 3.2832e-01f, 2.6277e-02f, + 1.9889e-39f, 3.8337e-39f, 4.0170e-39f, + 1.5149e-39f, 3.6456e-39f, 4.0474e-39f, + 1.1508e-39f, 2.7381e-39f, 3.8673e-39f, +-7.9206e-02f, -2.0763e-02f, -2.4842e-01f, +-6.5777e-02f, -1.8446e-01f, 2.6178e-01f, +-1.7908e-02f, -2.3039e-01f, -3.5767e-01f, + 1.0324e-02f, 1.3610e-01f, 8.6519e-02f, + 1.3499e-01f, 3.1933e-02f, 9.1822e-03f, +-3.6017e-02f, -2.2056e-01f, -2.3258e-01f, +-7.6185e-02f, -2.8981e-01f, -1.1816e-01f, +-9.9048e-02f, 5.3879e-02f, -1.7351e-01f, +-2.1874e-01f, -1.2109e-01f, -3.1457e-01f, + 5.1576e-02f, -2.5656e-02f, 4.6789e-02f, + 7.6286e-02f, 6.0126e-01f, -2.5925e-01f, +-5.3443e-02f, -3.3656e-01f, 4.7585e-01f, +-4.7442e-02f, -5.1580e-02f, -8.5216e-02f, +-1.0600e-01f, -1.3859e-01f, -3.1484e-01f, + 2.1454e-01f, -1.1851e-01f, -7.6614e-02f, +-7.8873e-03f, -7.0275e-02f, -1.0958e-01f, +-8.0654e-02f, 1.3946e-01f, 2.5292e-01f, + 1.3254e-03f, -6.7372e-02f, -2.6429e-01f, +-8.2344e-02f, 1.2388e-01f, 5.2930e-02f, + 8.3665e-02f, 3.9729e-01f, 4.7687e-02f, +-4.4502e-02f, -8.3105e-02f, -1.6430e-01f, + 1.2825e-39f, 1.7532e-39f, 2.1774e-39f, +-2.1331e-39f, -2.1826e-39f, -1.0009e-39f, + 3.7081e-39f, 2.0015e-39f, -5.8349e-40f, +-3.5278e-02f, 6.5211e-02f, -5.4199e-03f, + 8.3961e-02f, 3.1410e-02f, 4.4510e-02f, +-5.4905e-02f, 4.0727e-02f, -1.5710e-02f, + 1.0813e-01f, 8.2043e-03f, 4.1303e-02f, + 1.3405e-01f, 1.4150e-01f, 7.2155e-02f, + 3.3942e-02f, -4.7781e-02f, 1.6095e-01f, +-1.4266e-01f, -2.5283e-02f, 6.4043e-03f, +-1.8699e-02f, 1.0895e-01f, -2.1497e-02f, + 5.5074e-02f, 1.7031e-02f, 1.0572e-01f, + 7.3199e-04f, 1.0813e-01f, -9.0280e-05f, + 1.4808e-01f, 2.5436e-01f, -1.3749e-01f, + 2.2936e-02f, -7.9733e-02f, -2.2360e-01f, + 6.0406e-02f, -1.2874e-01f, -7.4692e-02f, +-1.3216e-01f, -9.9889e-03f, 2.7608e-03f, +-1.1412e-01f, -5.1312e-02f, -1.7196e-02f, +-2.2800e-02f, -1.2112e-01f, -9.3855e-03f, + 3.6905e-02f, 1.0049e-01f, 9.0602e-03f, +-7.3200e-02f, 1.0628e-01f, -4.8218e-02f, +-4.6525e-02f, 6.0314e-02f, -3.6467e-03f, +-8.0943e-02f, 2.5461e-01f, 1.5461e-01f, +-5.7708e-02f, -5.7823e-02f, 5.4042e-02f, + 3.8847e-39f, 3.5806e-39f, 4.1610e-39f, + 3.9082e-39f, 4.1898e-39f, 4.1926e-39f, + 4.1200e-39f, 4.3759e-39f, 4.3977e-39f, +-3.3576e-01f, 9.5443e-02f, 2.7804e-02f, +-2.3834e-01f, -7.2650e-01f, -1.2229e-01f, + 1.0380e-01f, 1.9520e-01f, 3.4571e-02f, +-3.7291e-02f, 7.6216e-02f, 8.6171e-02f, +-1.6324e-01f, -8.6759e-03f, 4.3038e-02f, +-3.4364e-02f, -7.2777e-03f, 3.7451e-02f, + 1.8826e-01f, 1.6387e-01f, -3.4750e-02f, +-2.0203e-01f, 2.4170e-01f, 9.0358e-05f, +-1.3049e-01f, 9.6855e-02f, -1.6737e-03f, +-6.3782e-02f, 7.1413e-02f, -6.5077e-02f, +-1.5262e-01f, 4.3261e-01f, -8.4224e-02f, + 6.4632e-02f, 1.0553e-01f, -1.5274e-01f, + 4.4294e-05f, 8.6239e-02f, 5.7537e-03f, +-5.7633e-01f, -5.0076e-03f, -5.2298e-02f, + 1.8556e-01f, -1.1332e-02f, -2.7010e-02f, + 1.6155e-01f, -3.0337e-02f, -9.6808e-03f, +-2.8404e-01f, -2.7625e-02f, 1.6058e-02f, + 5.7937e-02f, -6.6464e-02f, 1.1096e-02f, + 7.8268e-02f, 8.6122e-02f, 2.9298e-02f, + 6.4696e-02f, 2.0285e-01f, 4.3660e-02f, + 1.5339e-01f, -3.7650e-02f, 7.1438e-03f, +-8.9058e-40f, -3.6429e-39f, -4.7562e-39f, + 8.3914e-40f, -2.8054e-39f, -3.6702e-39f, + 4.3666e-39f, -1.0602e-39f, -3.0369e-39f, + 7.2731e-02f, -1.0227e-01f, -1.9583e-02f, +-1.7466e-02f, -2.0097e-01f, 9.3108e-02f, + 6.5196e-02f, -1.1880e-01f, -3.5152e-03f, +-5.6533e-02f, 6.2109e-02f, 5.2029e-02f, + 5.7971e-02f, 5.1577e-02f, 6.6318e-02f, +-2.1669e-03f, 7.7274e-02f, -4.0609e-02f, + 2.8531e-02f, -8.3960e-02f, 1.3615e-02f, +-1.1151e-02f, -1.4162e-03f, 5.6661e-02f, +-8.0954e-02f, -1.0600e-01f, 4.3276e-02f, + 7.6762e-04f, 3.1437e-02f, -6.1084e-02f, +-8.1119e-02f, 2.1406e-01f, 6.0836e-02f, + 4.8105e-02f, -1.6263e-01f, 9.2555e-03f, + 1.1060e-01f, -2.1090e-01f, 1.6435e-01f, +-1.0248e-01f, -1.1884e-01f, -7.9929e-02f, + 5.9980e-02f, 1.0271e-01f, -1.1891e-02f, +-7.5044e-02f, -2.3655e-02f, -5.2865e-02f, + 2.1542e-02f, 2.7305e-04f, 1.3508e-01f, +-1.2317e-02f, 9.0742e-02f, -3.0079e-03f, +-9.9020e-02f, 1.5578e-01f, -2.1482e-03f, +-8.9029e-02f, 1.8470e-01f, 3.7571e-02f, +-2.0394e-01f, -1.3735e-01f, 2.9648e-02f, +-4.3016e-40f, -7.3591e-40f, -7.3773e-40f, +-4.1239e-40f, -8.6029e-41f, -6.9504e-42f, +-7.5082e-40f, 1.2975e-40f, 2.1462e-40f, +-1.8967e-02f, -1.4903e-01f, 8.1452e-02f, + 1.2099e-01f, -2.5524e-02f, 1.3285e-02f, +-1.3780e-01f, -5.3359e-02f, -3.1310e-02f, +-1.8984e-02f, 4.1962e-02f, 1.0186e-01f, +-1.0823e-01f, 1.1079e-01f, 7.8613e-02f, +-1.4521e-01f, -7.7509e-02f, 1.8768e-02f, + 5.0613e-03f, -3.0459e-02f, -6.3055e-02f, + 4.4540e-02f, 2.0135e-01f, 9.6351e-02f, +-1.9495e-02f, -1.2314e-01f, 1.1720e-02f, + 2.1739e-02f, 5.2098e-02f, -4.0453e-02f, +-9.9983e-02f, 4.7578e-02f, -2.7862e-02f, +-8.6565e-02f, 1.5241e-01f, -4.0462e-02f, + 4.0458e-02f, -1.2871e-01f, -4.3491e-02f, + 9.8981e-02f, -1.3637e-01f, 2.0092e-02f, + 1.5626e-01f, -8.4550e-04f, -2.5701e-02f, + 1.8511e-02f, -1.0257e-01f, -7.3238e-02f, +-3.9802e-02f, -1.6120e-02f, -7.4068e-04f, +-1.1377e-02f, 9.7975e-03f, -9.0342e-02f, +-6.7152e-02f, 1.0208e-01f, 2.5234e-02f, +-4.3687e-02f, 2.5334e-01f, 9.2712e-02f, + 3.7702e-01f, 4.1450e-02f, 1.9934e-02f, +-5.4201e-39f, -6.7158e-39f, -7.5025e-39f, +-5.2548e-39f, -6.4829e-39f, -7.2782e-39f, +-4.9999e-39f, -5.9599e-39f, -6.0469e-39f, + 3.5890e-02f, -7.3738e-02f, 9.8899e-02f, + 3.3312e-02f, 5.8231e-02f, -2.1348e-01f, + 8.6289e-02f, 5.0837e-02f, -6.5613e-02f, + 7.0208e-02f, 4.1424e-02f, -6.0761e-02f, + 4.4654e-02f, -3.3590e-02f, -5.3044e-02f, + 1.2319e-01f, -4.4666e-02f, -8.8193e-02f, +-9.0463e-02f, -3.0083e-02f, 6.8075e-02f, + 4.2531e-02f, 4.3248e-01f, 1.3480e-01f, + 9.2389e-02f, 1.3683e-01f, -2.6092e-01f, + 2.8925e-02f, 2.3317e-01f, 7.8128e-02f, + 6.3444e-02f, 1.6291e-01f, -3.8727e-03f, + 6.9107e-02f, 6.8477e-03f, 3.9528e-01f, + 3.8471e-02f, 3.0745e-02f, 2.8446e-02f, + 1.0625e-02f, -2.4006e-01f, -1.2490e-01f, +-1.3002e-01f, 2.0025e-01f, 4.7618e-02f, +-3.9705e-02f, -1.2017e-02f, -9.8790e-02f, +-1.2798e-02f, -2.7540e-01f, -1.5138e-01f, +-1.0290e-01f, 5.0112e-02f, -1.7391e-01f, +-9.7079e-02f, -2.2350e-03f, -5.9211e-02f, +-2.4728e-01f, 4.3353e-01f, -1.9306e-01f, +-1.8039e-01f, 1.2689e-01f, 5.2103e-02f, +-4.5547e-39f, -7.8040e-39f, 4.1196e-39f, + 1.5214e-39f, 9.3494e-40f, -3.9058e-39f, + 7.8718e-39f, 7.1728e-39f, 5.3609e-39f +} +, +{ +-9.4505e-02f, -7.0477e-02f, -1.5792e-04f, +-2.3475e-01f, 5.8849e-02f, -6.8161e-02f, + 7.0658e-03f, -1.0276e-01f, 7.2471e-02f, +-7.3820e-03f, -3.0740e-02f, -1.1131e-01f, + 2.8429e-02f, -3.5750e-01f, -8.4683e-02f, +-5.0210e-02f, -3.1096e-03f, -2.3730e-02f, + 4.5756e-02f, -3.6724e-01f, -7.6317e-02f, + 3.8467e-01f, 5.5354e-02f, 1.6943e-01f, +-4.9403e-02f, 7.4709e-02f, -3.0550e-02f, +-7.5324e-03f, -1.6910e-01f, -1.6103e-01f, + 4.6314e-02f, 1.2912e-01f, -3.0488e-02f, + 2.6388e-02f, 5.6925e-02f, 6.4396e-02f, + 3.7748e-03f, -2.1310e-02f, 1.1410e-01f, +-7.0164e-03f, 1.8228e-02f, -2.5920e-01f, + 6.8416e-02f, 1.3998e-01f, 1.3290e-01f, +-3.8861e-02f, 8.9898e-02f, -3.6631e-03f, + 3.5528e-02f, 1.1249e-01f, 3.7018e-02f, +-6.2334e-02f, -4.8470e-02f, -4.4094e-02f, + 3.1574e-02f, -1.2162e-01f, 1.9669e-01f, +-4.6605e-03f, 1.1887e-02f, -1.1958e-01f, +-1.0736e-01f, 6.0131e-02f, -1.2829e-02f, + 2.1305e-01f, -8.4750e-02f, -2.7028e-02f, +-3.0351e-01f, -6.4246e-03f, -7.9128e-02f, + 1.3081e-01f, 9.5878e-02f, 1.6193e-02f, +-5.8335e-02f, -5.5968e-02f, -2.6284e-03f, +-7.2218e-02f, -1.1661e-02f, 1.9413e-03f, +-1.6043e-01f, 1.1388e-01f, -3.6473e-02f, +-2.4077e-02f, 1.2210e-01f, 1.5531e-02f, + 1.5074e-01f, -4.5545e-01f, 6.1004e-02f, +-6.3948e-02f, 3.9804e-02f, -4.8822e-04f, + 1.3135e-01f, 9.2392e-02f, 8.8914e-02f, + 1.2941e-01f, -3.6052e-01f, 3.9571e-02f, +-2.4838e-02f, 7.0425e-02f, -1.9016e-02f, + 2.7629e-02f, -7.0648e-02f, -2.6838e-02f, +-2.1844e-02f, -9.6184e-02f, -3.3611e-02f, + 8.5938e-02f, 5.2663e-02f, 2.2938e-02f, +-6.9909e-03f, -3.9627e-03f, -6.5162e-02f, +-4.9296e-03f, -4.0383e-02f, 6.7670e-01f, + 1.5251e-02f, 2.1000e-01f, -1.9137e-01f, + 2.2825e-02f, 1.6640e-02f, 3.8147e-02f, + 7.1902e-02f, -4.9821e-02f, -6.5592e-03f, + 1.5826e-02f, 2.1626e-02f, 1.1646e-02f, + 1.5180e-02f, 1.5664e-01f, 9.8696e-03f, +-7.2901e-02f, -2.1818e-01f, 9.2465e-02f, + 6.4349e-02f, 6.0290e-02f, -2.1094e-02f, + 2.0633e-02f, 4.8808e-02f, 1.4080e-02f, + 4.8083e-02f, -1.5979e-01f, -5.3634e-02f, + 6.5004e-02f, 7.0317e-02f, 1.9117e-02f, +-4.3048e-02f, 5.9627e-02f, -1.5068e-02f, + 1.8861e-01f, -2.6868e-01f, 1.2789e-03f, + 1.1273e-01f, -2.7796e-01f, 4.9841e-02f, + 4.9008e-03f, 1.8241e-02f, 4.3449e-02f, + 2.1420e-02f, -1.0299e-01f, -1.6235e-01f, +-1.9300e-02f, -1.5121e-02f, 2.0616e-03f, +-2.7591e-01f, 3.9622e-02f, -5.0492e-02f, + 1.1866e-01f, 5.5502e-01f, -2.3622e-02f, +-6.1204e-03f, -7.4778e-03f, 6.7961e-03f, + 2.4215e-02f, 2.1643e-03f, 1.1442e-01f, + 7.5326e-02f, 1.4455e-01f, 8.0497e-02f, + 6.6115e-02f, 2.9762e-02f, 2.8680e-02f, + 3.7784e-03f, -2.2769e-02f, 2.4529e-02f, +-1.1441e-02f, 9.8463e-02f, -1.2761e-02f, + 1.0642e-02f, 5.2871e-02f, 1.9650e-01f, +-2.2225e-02f, 3.1504e-02f, 8.5645e-03f, + 4.9125e-02f, 1.4439e-01f, 8.4573e-02f, + 1.0103e-02f, 1.9097e-02f, 4.5579e-03f, +-2.5773e-02f, -4.0984e-02f, -1.5402e-01f, + 5.3050e-02f, 1.5509e-01f, -1.9040e-01f, + 3.7700e-02f, 1.0632e-01f, -2.2520e-02f, +-5.6582e-02f, -4.6040e-02f, -5.7562e-03f, +-3.4924e-01f, 3.2933e-01f, 5.5211e-02f, + 2.3230e-02f, 8.5108e-02f, 3.7448e-02f, + 1.4266e-02f, -7.2016e-02f, 4.5252e-03f, +-7.0246e-02f, 3.9142e-01f, -1.9216e-02f, + 2.0536e-01f, -3.5615e-01f, 3.8009e-02f, + 1.2252e-02f, -5.7966e-02f, 9.2672e-02f, + 2.4225e-02f, -1.0186e-01f, -1.4219e-01f, +-2.8815e-02f, 1.3088e-02f, -2.6031e-03f, +-6.2341e-02f, -1.1216e-01f, -7.2122e-02f, + 1.1812e-01f, 4.3493e-01f, 4.3593e-02f, +-1.3524e-02f, 4.8679e-03f, -1.0598e-02f, + 3.4904e-02f, 5.5813e-02f, 4.6811e-02f, + 8.0928e-02f, 7.6607e-02f, 6.3968e-02f, + 5.4647e-02f, 2.8693e-02f, 2.1957e-02f, +-8.2725e-03f, 5.4668e-02f, -3.0533e-02f, +-9.3953e-03f, 1.5874e-01f, -3.6093e-01f, + 5.6412e-03f, 1.8977e-02f, 2.0088e-01f, +-1.9414e-02f, 1.9088e-02f, 1.4504e-02f, + 5.8462e-02f, 6.2645e-02f, 4.9884e-02f, + 6.6913e-03f, 4.3639e-02f, 1.5139e-02f, +-2.1897e-02f, -1.1436e-01f, -5.0838e-02f, + 7.1176e-02f, 8.4667e-02f, -1.4480e-01f, + 3.7676e-02f, 1.0840e-01f, -2.6417e-02f, +-4.7584e-02f, -4.0524e-02f, 6.3032e-03f, +-2.4822e-01f, 2.4635e-01f, 5.5942e-03f, +-1.3347e-02f, 1.0515e-01f, 4.2549e-02f, +-1.2380e-01f, 4.1074e-02f, 1.2608e-02f, +-1.2042e-01f, 2.9516e-01f, 2.8380e-03f, + 5.1930e-01f, -1.6498e-01f, 5.7152e-02f, +-6.5519e-02f, 1.1001e-01f, 2.8943e-02f, + 1.0854e-01f, -6.0107e-02f, -1.6730e-01f, +-4.4417e-02f, 3.4347e-02f, -3.3756e-02f, + 2.0694e-01f, 3.3047e-01f, -9.4497e-02f, +-2.1977e-01f, 4.6614e-02f, 1.2201e-01f, +-2.9541e-02f, 1.8900e-01f, -1.8391e-01f, + 2.0064e-02f, -3.2480e-02f, -8.9041e-03f, +-5.6385e-02f, -6.4531e-02f, 1.2879e-02f, +-3.2499e-02f, 1.0883e-02f, 7.3564e-03f, + 1.9828e-02f, -2.3278e-01f, -4.3789e-03f, + 9.7669e-02f, 1.3008e-01f, -1.0405e-01f, + 2.2618e-02f, -2.5495e-01f, -1.0718e-01f, + 4.3524e-02f, -7.3127e-02f, 8.2424e-02f, +-5.0193e-02f, 4.0634e-03f, 4.0696e-02f, + 2.7419e-02f, 1.8353e-01f, 9.2117e-02f, +-7.4918e-02f, 1.0602e-01f, -3.4752e-02f, +-1.3331e-01f, -2.9583e-02f, -5.2197e-03f, +-3.7852e-02f, 1.5998e-01f, 1.5078e-03f, +-5.6512e-02f, 1.3378e-01f, 1.4512e-02f, + 4.5255e-02f, 2.4702e-01f, -2.4848e-02f, +-1.7526e-01f, 1.5532e-01f, 8.6686e-02f, + 3.1486e-02f, -2.3247e-02f, 9.7320e-03f, +-5.2106e-01f, 4.7937e-02f, 4.1614e-02f, + 5.5436e-02f, -2.0432e-01f, 1.2444e-02f, +-5.6792e-02f, -5.5632e-02f, 5.7612e-02f, +-6.0248e-04f, 4.9770e-02f, -6.7956e-02f, + 1.3389e-02f, -9.4141e-03f, -7.3497e-03f, +-4.6361e-01f, 2.7450e-01f, -8.2210e-02f, +-2.6737e-01f, -6.6114e-02f, 6.3568e-02f, + 1.6910e-02f, 1.4456e-01f, -9.0081e-02f, + 8.8278e-03f, 2.1776e-02f, 8.7710e-03f, +-2.3378e-02f, -4.3907e-02f, -3.6751e-02f, +-2.4694e-03f, -6.0419e-03f, 3.0840e-02f, +-1.6968e-02f, -8.2266e-02f, -1.0049e-01f, + 3.4429e-02f, 1.0960e-01f, 3.8355e-01f, +-4.0301e-04f, -3.1089e-02f, -2.1373e-02f, +-2.4172e-02f, 4.6432e-02f, 8.0742e-03f, +-2.3134e-02f, 1.7789e-02f, 2.7136e-02f, + 3.0729e-02f, 6.9008e-03f, 1.2822e-02f, + 3.5043e-02f, -6.1749e-02f, -1.2565e-02f, +-1.0354e-02f, -2.6515e-03f, 4.5632e-03f, +-5.9818e-02f, -9.7686e-04f, -6.6467e-03f, +-5.0833e-01f, 1.8474e-02f, 1.3598e-02f, + 3.6287e-01f, 1.3698e-01f, -1.2806e-02f, +-2.8618e-02f, -2.9128e-02f, 2.9855e-02f, + 8.1243e-02f, 4.7414e-02f, -4.7434e-02f, +-3.3738e-02f, -3.4926e-01f, 1.7786e-02f, + 1.0056e-01f, -5.7937e-02f, -1.8308e-02f, + 1.8214e-02f, -1.9519e-01f, 2.2152e-02f, +-7.3543e-02f, 2.0786e-01f, -5.8196e-02f, + 3.9396e-02f, -4.5349e-02f, 1.5748e-02f, +-5.4604e-03f, 4.5777e-01f, 1.7295e-01f, +-2.0570e-01f, -3.0970e-01f, -1.9075e-01f, + 7.6751e-02f, -1.3099e-01f, 6.1278e-02f, + 6.0222e-02f, 5.4418e-02f, 1.2259e-01f, + 3.2160e-02f, 8.5146e-03f, 3.4578e-02f, +-5.4391e-02f, -2.5285e-02f, 1.0251e-02f, +-3.2763e-02f, 7.9163e-02f, -7.5136e-02f, + 1.8545e-02f, -2.1972e-02f, 1.3887e+00f, +-1.2402e-03f, -2.5679e-01f, 7.2392e-02f, + 4.9692e-03f, 1.7034e-02f, 4.7043e-02f, + 1.2093e-02f, -3.1230e-02f, -8.2613e-03f, +-7.8701e-03f, -2.3516e-03f, -7.2487e-04f, + 6.8495e-02f, -5.2837e-02f, -2.2482e-01f, + 1.3259e-02f, 4.8009e-01f, -4.0940e-02f, +-4.1547e-02f, -2.8753e-02f, -5.2579e-03f, +-1.7152e-01f, -3.3676e-02f, 1.5080e-02f, + 8.6014e-02f, 7.9239e-02f, 4.2196e-02f, +-9.2870e-02f, -1.5913e-02f, -6.5804e-03f, + 4.0364e-02f, 2.4914e-02f, -1.4638e-02f, + 8.8705e-03f, 2.8037e-01f, 3.9890e-02f, + 1.1638e-01f, 2.9467e-01f, -4.3518e-03f, + 7.1091e-02f, -2.2378e-01f, 4.7315e-02f, + 3.8006e-02f, -2.0246e-01f, -3.8679e-02f, +-5.8004e-02f, 5.8991e-02f, -6.2149e-03f, +-1.3034e-01f, 1.5540e-01f, -5.2558e-02f, + 8.1594e-02f, 3.5570e-01f, 2.1220e-02f, + 1.4977e-02f, 2.4493e-03f, -4.0627e-02f, + 1.1402e-01f, 6.6962e-02f, 1.1150e-01f, + 1.1824e-01f, 1.1492e-01f, 1.1219e-01f, + 6.6067e-02f, 6.9639e-02f, -8.1836e-02f, +-2.7144e-02f, 1.4677e-01f, -5.9261e-02f, + 4.4573e-03f, 2.6235e-01f, -7.4379e-01f, +-8.3569e-03f, 9.4465e-02f, -6.5653e-03f, + 2.1095e-02f, -1.8853e-02f, 6.7972e-02f, + 1.2957e-01f, 3.0122e-02f, -1.0061e-02f, +-3.4832e-02f, 8.5404e-02f, 5.7663e-02f, +-5.0400e-02f, -1.2050e-01f, -2.3344e-01f, + 1.4977e-01f, 7.8806e-02f, 6.0771e-03f, + 5.6483e-02f, 6.3927e-02f, -5.8376e-03f, +-2.8124e-01f, 5.2581e-02f, -1.3918e-04f, +-1.4341e-01f, 3.6558e-01f, 4.7332e-02f, +-3.9089e-02f, 8.4188e-02f, 2.7058e-02f +} +}; +__device__ __constant__ static const float biasL[8][8] = +{ +{ + 7.2678e-02f, 8.5350e-03f, 5.0400e-02f, 2.6268e-02f, 6.2434e-02f, 1.0483e-01f, -7.1650e-39f, 1.0062e-01f +} +, +{ +-4.9844e-39f, -1.8567e-39f, 6.0627e-04f, -1.9234e-38f, 1.8331e-02f, -1.1364e-01f, -8.3962e-03f, -1.7372e-04f +} +, +{ +-0.0091f, -0.0055f, 0.0237f, 0.0093f, -0.0479f, 0.0188f, -0.0034f, 0.0399f +} +, +{ + 6.5694e-03f, -2.2259e-01f, -1.1226e-02f, -8.0327e-02f, -1.0615e-36f, 1.0402e-02f, 7.6246e-03f, -6.5940e-02f +} +, +{ + 5.0711e-02f, 7.1911e-02f, 2.5293e-02f, -1.5608e-02f, 5.3835e-02f, -1.6967e-38f, 2.2243e-02f, 3.2742e-02f +} +, +{ + 1.5629e-02f, 2.9703e-02f, 2.6412e-02f, 1.2301e-02f, 1.8654e-01f, -7.2260e-03f, 2.4613e-02f, -3.1853e-38f +} +, +{ +-0.0030f, -0.0123f, 0.0348f, 0.0277f, -0.0152f, 0.0005f, -0.0124f, -0.0209f +} +, +{ +7.4856e-03f, 7.2931e-04f, 8.3015e-03f, 6.4820e-03f, 2.4008e-04f, 7.0377e-06f, 1.7948e-03f, 8.9869e-03f +} +}; +__device__ __constant__ static const float kernelsL10[4 * 8] = +{ + 0.4240f, 0.4165f, + 0.1648f, 0.1909f, +-0.0985f, -0.4455f, + 0.4639f, -0.0533f, +-0.1368f, 0.4413f, + 0.2539f, 0.3294f, + 0.2458f, -0.3256f, +-0.0479f, 0.3200f, +-0.3977f, -0.0422f, +-0.2736f, 0.1053f, + 0.3902f, 0.0594f, +-0.0721f, -0.2988f, + 0.0495f, 0.1309f, +-0.1703f, 0.0033f, + 0.3061f, 0.1827f, + 0.2443f, -0.1259f +}; + +#include "ACNetCommon.hip" + +DECLARE_ACNET_HDN_INTERFACE_FUNCTION(2) diff --git a/hip/src/ACNetHDNL3.hip b/hip/src/ACNetHDNL3.hip new file mode 100644 index 0000000..f29a83c --- /dev/null +++ b/hip/src/ACNetHDNL3.hip @@ -0,0 +1,1654 @@ +#include "HipHelper.hip" +#include "HipInterface.hpp" +#include + +__device__ __constant__ static const float kernelsL1[9 * 8] = +{ +-0.0461f, 0.1274f, 0.2976f, +-0.0393f, -0.1251f, 0.2527f, + 0.0791f, 0.0600f, -0.0303f, +-0.0520f, -0.5039f, -0.3305f, +-0.0115f, 0.0456f, 0.4370f, + 0.0601f, 0.0780f, 0.3106f, +-0.0017f, -0.0018f, -0.0017f, +-0.0017f, -0.0018f, -0.0018f, +-0.0017f, -0.0017f, -0.0017f, + 0.2666f, 0.1687f, 0.2303f, +-0.1901f, 0.3825f, 0.3024f, + 0.1811f, 0.0581f, 0.2080f, +-0.1246f, 0.0155f, -0.4075f, + 0.1156f, 0.5929f, 0.1449f, +-0.1080f, -0.0171f, -0.0516f, +-0.0817f, 0.2247f, 0.0472f, + 0.0394f, 0.1085f, 0.1435f, +-0.0480f, -0.0135f, -0.0606f, +-0.0083f, 0.2045f, 0.1056f, +-0.2239f, 0.2823f, -0.1926f, + 0.2581f, 0.1362f, -0.1914f, +-0.0833f, 0.0702f, 0.0234f, + 0.3616f, 0.3789f, -0.1840f, + 0.0128f, 0.1347f, -0.0187f +}; +__device__ __constant__ static const float biasL1[8] = +{ +-0.1329f, -0.0431f, -0.0031f, -0.0129f, 0.2294f, -0.2595f, -0.2370f, -0.0499f +}; +__device__ __constant__ static const float kernelsL[8][9 * 8 * 8] = +{ +{ + 1.4090e-01f, -1.8985e-02f, -6.8589e-02f, + 6.6491e-02f, 1.4360e-02f, 8.5223e-02f, + 1.8782e-01f, 9.8042e-02f, -3.4558e-02f, + 2.5606e-01f, 2.2027e-01f, 2.7603e-01f, + 1.9424e-01f, 3.4537e-02f, 9.5975e-02f, + 1.1223e-02f, -4.3377e-01f, -1.4760e-01f, +-3.4293e-40f, -5.5421e-40f, -4.4763e-41f, +-6.3322e-40f, -3.1495e-40f, -7.8264e-41f, +-1.5375e-40f, -3.3656e-40f, 5.2441e-40f, + 1.2413e-01f, 1.5682e-01f, 1.1465e-01f, + 1.6683e-02f, 7.8382e-02f, 1.0110e-01f, + 1.4902e-01f, 1.3608e-01f, 1.1674e-01f, +-6.5160e-02f, 7.7748e-02f, 2.1773e-02f, + 2.0652e-02f, 2.7245e-01f, 1.0297e-01f, +-2.0953e-02f, 6.1685e-02f, 4.4128e-02f, + 6.1538e-02f, -1.9746e-02f, -1.2785e-02f, + 2.5931e-02f, 1.2740e-01f, 9.0033e-02f, + 8.6448e-02f, 2.0684e-01f, 9.8063e-02f, +-7.8384e-03f, 6.3277e-02f, 7.6751e-03f, + 3.5956e-02f, 1.0555e-01f, 4.2728e-02f, + 7.1578e-02f, 1.3253e-01f, 1.1171e-01f, +-2.7538e-02f, 1.5836e-01f, 1.0014e-01f, +-4.9113e-02f, 1.6911e-01f, 2.7329e-01f, + 7.9170e-03f, 9.5440e-02f, 1.3922e-01f, + 8.0151e-02f, 4.3438e-02f, 5.5314e-02f, + 3.4896e-02f, 1.6816e-01f, -4.5783e-03f, +-1.4579e-03f, 2.0493e-01f, 2.6238e-02f, + 2.6499e-02f, 3.9490e-01f, -1.1582e-02f, + 3.5790e-01f, 1.4317e-01f, -2.1775e-01f, + 4.1794e-03f, -3.2513e-01f, -1.6729e-01f, + 3.4040e-41f, -6.2960e-42f, -1.0067e-40f, + 5.5978e-41f, -1.2353e-40f, -1.1347e-40f, + 5.4572e-40f, -6.4384e-40f, -4.1234e-40f, +-9.3690e-02f, 1.7765e-01f, 1.1275e-01f, + 9.1159e-03f, 1.7375e-01f, 1.1427e-01f, +-7.8385e-02f, 1.5658e-01f, -3.8399e-02f, +-1.0756e-01f, 5.9943e-02f, -6.7273e-02f, +-1.1117e-01f, 1.5267e-01f, 1.1563e-01f, +-1.2964e-01f, -3.8604e-02f, -2.4532e-02f, + 1.6324e-02f, 1.3112e-01f, 6.1679e-03f, +-7.7703e-03f, 2.6311e-01f, 8.9427e-02f, +-2.8948e-02f, 1.9341e-01f, 4.4339e-02f, + 6.4559e-03f, -6.8885e-02f, 1.1481e-01f, +-1.0665e-01f, 3.8613e-02f, 7.0410e-02f, +-6.1680e-02f, -1.7374e-02f, 9.5475e-03f, +-4.0081e-02f, -3.1549e-02f, 2.8311e-01f, +-1.2178e-01f, -1.3848e-01f, 1.7416e-01f, +-8.1756e-02f, -1.7718e-01f, 7.9533e-02f, +-3.1299e-03f, -3.2305e-03f, -3.2094e-03f, +-3.1548e-03f, -3.2553e-03f, -3.2453e-03f, +-3.1459e-03f, -3.2278e-03f, -3.2076e-03f, +-3.6554e-05f, -3.6715e-05f, -3.1284e-05f, +-1.4927e-05f, -1.4357e-05f, -1.2185e-05f, +-1.5771e-09f, -1.1439e-09f, -6.4952e-10f, + 3.7723e-40f, 4.9166e-40f, -2.1946e-40f, +-4.7599e-40f, -4.3356e-40f, -8.3928e-41f, + 2.6127e-40f, 4.8634e-40f, 2.7720e-40f, +-5.4972e-03f, -5.6409e-03f, -5.6919e-03f, +-5.5818e-03f, -5.7079e-03f, -5.7542e-03f, +-5.6338e-03f, -5.7437e-03f, -5.7600e-03f, +-3.7940e-03f, -3.8853e-03f, -3.8693e-03f, +-3.8995e-03f, -3.9616e-03f, -3.8945e-03f, +-3.8438e-03f, -3.9156e-03f, -3.8269e-03f, +-7.2342e-05f, -7.8682e-05f, -4.7701e-05f, +-1.1126e-04f, -1.1918e-04f, -7.8931e-05f, +-1.1644e-04f, -1.2418e-04f, -8.2350e-05f, +-2.3881e-04f, -3.7971e-04f, -3.9448e-04f, +-2.4112e-04f, -3.8395e-04f, -4.0189e-04f, +-2.3451e-04f, -3.7525e-04f, -3.9222e-04f, +-3.9853e-03f, -4.0748e-03f, -4.1134e-03f, +-4.0685e-03f, -4.1456e-03f, -4.1548e-03f, +-4.0547e-03f, -4.1388e-03f, -4.1357e-03f, + 5.3008e-02f, 2.2252e-02f, -7.1158e-02f, +-6.6411e-02f, -3.0015e-02f, -2.2526e-02f, + 1.2259e-01f, -6.2488e-02f, 5.6190e-02f, + 1.5981e-02f, -7.6832e-02f, 1.7908e-02f, + 2.7618e-01f, 5.4054e-02f, 8.7282e-02f, + 1.5212e-02f, -1.1097e-01f, -2.2265e-02f, +-6.8532e-41f, -6.0539e-40f, 4.6269e-40f, +-2.9221e-40f, -3.8468e-40f, -4.6656e-40f, + 6.4572e-40f, -6.1625e-40f, 6.4545e-40f, + 3.5920e-02f, 9.0955e-02f, -1.7626e-02f, + 4.7826e-02f, 1.8832e-01f, -4.4043e-02f, +-3.8405e-02f, 5.9176e-02f, 6.8182e-02f, + 3.7657e-03f, 2.6441e-02f, -2.5585e-01f, + 1.0969e-01f, 2.3914e-01f, 3.5120e-02f, +-1.6252e-01f, 3.4371e-02f, -2.7501e-01f, + 4.9289e-02f, 2.2088e-02f, -1.4588e-02f, + 1.6384e-01f, -8.1421e-03f, -6.9613e-02f, + 1.0820e-01f, 1.1137e-01f, 7.2648e-03f, + 1.5243e-01f, 1.3659e-01f, 2.7553e-02f, + 1.3966e-01f, 1.1019e-01f, 1.9817e-02f, + 1.1420e-01f, -5.1386e-03f, 6.8617e-03f, +-1.3264e-02f, 2.1508e-01f, 4.8430e-02f, + 5.1149e-02f, 2.9165e-01f, 2.8077e-01f, + 2.9288e-03f, 9.0611e-02f, 8.1538e-02f, +-1.1812e-01f, 1.5603e-02f, 1.1571e-01f, +-3.4958e-02f, -1.6688e-03f, -4.6619e-02f, +-1.0417e-02f, -3.1802e-02f, 1.8357e-02f, + 1.1064e-01f, 1.8397e-01f, 4.8449e-02f, +-8.3336e-03f, 1.6029e-01f, 3.9490e-02f, +-4.0959e-01f, -2.6134e-01f, 2.0766e-02f, + 6.6073e-41f, -6.7490e-40f, -5.1131e-41f, +-4.3320e-41f, -3.7194e-40f, 2.0674e-40f, +-5.2359e-40f, -3.4006e-40f, -4.9257e-40f, +-4.7260e-02f, 2.8518e-03f, -2.7764e-01f, + 6.9182e-03f, 1.3938e-01f, -1.3162e-01f, +-6.0901e-03f, 1.0339e-01f, 6.0419e-02f, +-1.4449e-01f, -3.2043e-02f, -9.1466e-02f, +-1.4022e-02f, 3.1703e-01f, 5.8166e-02f, +-1.5243e-02f, 1.4521e-01f, 2.0790e-04f, +-1.0255e-01f, -7.8766e-02f, -1.2395e-01f, + 7.9894e-03f, 3.7079e-03f, -3.2134e-02f, + 1.1663e-01f, 1.4808e-01f, 2.0431e-01f, + 7.4026e-02f, 6.9632e-02f, 1.7156e-01f, +-3.0385e-02f, 2.3218e-01f, 7.3855e-02f, +-8.8530e-02f, -5.9224e-02f, 2.3431e-02f, + 1.4596e-02f, 3.2442e-02f, -1.1308e-01f, +-6.3734e-02f, 2.5270e-01f, 7.8081e-02f, + 1.0468e-02f, 1.5473e-01f, 3.8676e-02f, +-1.0842e-01f, 8.6778e-03f, 1.4985e-01f, + 8.1757e-03f, -8.2109e-02f, 8.5471e-02f, +-2.1437e-01f, -6.1173e-02f, 4.8163e-02f, + 2.8965e-01f, 1.9748e-01f, 4.2651e-02f, + 1.8196e-01f, 3.3932e-01f, 3.9594e-01f, + 3.9657e-01f, 4.2167e-01f, 2.9290e-01f, + 7.4011e-41f, 6.5220e-40f, -5.9885e-40f, + 7.4011e-41f, 6.2047e-40f, -7.1533e-40f, + 4.1950e-40f, -1.1886e-40f, -5.9922e-40f, + 1.9662e-01f, 2.1402e-01f, 3.1041e-02f, +-1.1079e-01f, 1.3361e-01f, -2.1608e-01f, +-1.7962e-01f, -8.0576e-02f, -3.1277e-01f, + 1.0620e-02f, 2.4024e-01f, 1.0657e-01f, +-7.9906e-05f, 2.8760e-01f, 4.1231e-02f, +-1.3261e-02f, -1.0868e-01f, -1.1267e-01f, +-1.0659e-02f, -2.6051e-02f, -4.5389e-02f, + 5.8261e-02f, 4.0288e-02f, 6.7050e-02f, +-2.6462e-01f, -1.7846e-01f, -1.0002e-01f, +-6.2904e-02f, 1.5275e-01f, 4.4282e-03f, + 1.4446e-01f, 1.1814e-01f, -8.0349e-02f, + 2.0331e-02f, 3.3014e-02f, 1.2710e-01f, + 1.6084e-01f, 3.8819e-01f, 1.0854e-01f, +-6.8126e-03f, 3.5673e-01f, 1.8938e-01f, +-1.1660e-01f, -5.7694e-02f, -2.9194e-01f, + 1.2775e-02f, -3.2769e-02f, 1.7228e-02f, + 1.8324e-01f, 1.1983e-01f, -1.6944e-02f, + 1.0593e-01f, 1.3451e-01f, 5.2536e-02f, + 1.9147e-01f, 1.3875e-01f, 1.0298e-01f, +-2.0871e-01f, -1.7197e-01f, 1.1342e-01f, +-1.7581e-01f, 4.0972e-02f, 2.9796e-01f, + 3.2588e-40f, -4.3663e-40f, -2.6518e-40f, + 3.2588e-40f, -4.3663e-40f, -2.6518e-40f, + 4.1600e-40f, -4.4350e-40f, -4.8744e-41f, + 3.7289e-02f, 8.1769e-03f, 1.7059e-02f, + 3.7735e-02f, 6.6571e-02f, -6.6137e-02f, +-5.8890e-02f, -7.7019e-03f, -6.2128e-02f, +-4.0751e-02f, 1.1710e-01f, -1.1586e-01f, +-1.2999e-01f, -1.6384e-02f, -2.1858e-01f, +-2.8028e-01f, -6.0443e-02f, -1.1880e-01f, + 1.8152e-01f, 1.5364e-01f, 1.1781e-01f, + 2.9010e-01f, 2.4612e-01f, 1.3170e-01f, + 1.9022e-01f, 1.8117e-01f, 1.6483e-01f, + 9.3342e-02f, 2.6607e-01f, 1.4679e-01f, + 1.6729e-01f, 2.5374e-01f, 1.1954e-01f, + 6.3258e-02f, 1.0557e-01f, 6.7221e-02f, +-5.2017e-02f, 1.9628e-01f, 1.7243e-01f, +-3.2667e-02f, 1.5756e-01f, 1.9347e-01f, +-9.5252e-02f, -3.7525e-02f, -3.4543e-04f, +-4.9759e-02f, 4.0383e-02f, -2.0231e-02f, +-1.1776e-01f, 3.4182e-02f, 3.6720e-02f, +-1.4822e-02f, -4.1658e-02f, -1.3729e-02f, +-1.9215e-02f, 2.4427e-02f, -9.0638e-02f, +-1.4438e-01f, -2.1785e-01f, -5.1789e-02f, +-2.0279e-01f, -3.3918e-01f, -1.6871e-01f, + 6.1262e-41f, 2.4066e-40f, 6.6851e-40f, + 5.3430e-40f, -3.2335e-40f, -3.7400e-40f, +-6.3256e-40f, -4.7491e-40f, 2.2854e-40f, +-6.8701e-03f, -1.4849e-02f, 8.6332e-02f, + 1.1686e-01f, 1.8346e-01f, 1.8797e-01f, +-2.3251e-02f, 7.3973e-02f, 1.0532e-01f, +-6.1838e-02f, 5.6667e-02f, 8.1584e-02f, +-3.8900e-02f, 7.0927e-02f, 9.5606e-02f, +-4.5098e-02f, -1.0829e-01f, -1.2224e-01f, + 3.5047e-03f, 3.2898e-02f, 3.5622e-02f, + 1.6170e-02f, 4.3721e-02f, 9.7496e-02f, + 2.3445e-03f, 6.0417e-02f, 1.3482e-01f, + 6.0570e-02f, -5.7139e-03f, -1.0883e-03f, + 2.2701e-02f, -2.9113e-02f, 7.9178e-03f, + 8.1214e-02f, -4.1408e-02f, 1.3616e-02f, +-4.7985e-02f, 1.0304e-02f, -3.3236e-02f, +-1.6334e-02f, -8.1538e-02f, 1.8629e-02f, +-9.3720e-02f, -1.2920e-01f, -4.0836e-02f +} +, +{ + 1.0443e-01f, 1.5461e-01f, -1.4743e-01f, + 1.6716e-01f, 1.0532e-01f, -2.3088e-01f, + 1.0218e-01f, 1.2393e-01f, -9.6646e-02f, + 1.7659e-01f, -7.3279e-02f, 1.9627e-02f, + 1.7721e-01f, -1.4329e-01f, -1.2533e-01f, + 1.6551e-01f, -3.4616e-01f, 9.5618e-02f, + 4.5827e-09f, 9.3413e-09f, 1.7015e-08f, + 1.2245e-08f, 9.9727e-09f, 6.7108e-09f, + 1.9612e-07f, 3.9479e-08f, 1.1537e-09f, + 2.2127e-02f, 9.2715e-02f, -1.2150e-01f, + 7.5652e-02f, 1.1548e-01f, -1.2420e-01f, +-1.0693e-03f, -7.2839e-02f, -1.9664e-01f, + 1.4466e-01f, -1.8552e-03f, -1.3575e-01f, + 2.0699e-01f, 8.0396e-02f, -1.9651e-01f, +-4.7075e-02f, -5.1259e-02f, -8.2593e-02f, +-2.2385e-01f, 3.0066e-03f, -2.2659e-02f, + 6.1827e-02f, 2.5331e-02f, -5.3898e-02f, + 2.7091e-01f, 1.0991e-01f, -3.3600e-01f, +-8.9499e-02f, -9.3821e-03f, 2.2675e-02f, + 1.1213e-01f, 1.3276e-01f, 2.0368e-02f, + 6.5408e-02f, 4.1598e-02f, -4.7917e-02f, + 6.0740e-03f, 1.2236e-04f, -1.0659e-01f, +-1.8072e-02f, -9.1082e-02f, -9.0414e-02f, + 4.9052e-02f, -1.4298e-01f, -3.9721e-02f, + 1.1840e-01f, 2.2503e-01f, 2.4587e-02f, + 9.3023e-02f, 6.9650e-02f, 1.6798e-01f, +-1.5640e-03f, 1.6300e-02f, 6.3585e-02f, + 1.4431e-01f, 3.7885e-02f, 1.6692e-02f, + 1.7345e-01f, 7.2315e-02f, 1.8942e-02f, + 1.1081e-01f, 8.2973e-02f, -9.7717e-02f, +-5.2264e-03f, -5.2641e-03f, -5.2727e-03f, +-5.2809e-03f, -5.3125e-03f, -5.3153e-03f, +-5.2915e-03f, -5.3251e-03f, -5.3231e-03f, + 6.0008e-02f, 2.0268e-01f, 1.3396e-01f, +-2.5202e-03f, -1.7750e-02f, -1.2019e-02f, + 1.1806e-01f, -2.2306e-02f, 3.6464e-02f, + 7.9324e-02f, 3.1883e-02f, 1.5483e-02f, +-4.3537e-02f, 1.2204e-02f, 1.8905e-02f, +-8.1581e-02f, -1.1307e-01f, -6.0718e-02f, +-2.4865e-01f, -1.0199e-01f, 1.9886e-02f, +-1.0519e-02f, 6.9972e-02f, 4.8012e-02f, +-1.5282e-02f, 1.1979e-01f, 8.7968e-02f, +-3.6752e-02f, 1.9523e-02f, 7.1321e-02f, +-5.8295e-02f, 5.3242e-02f, 1.2773e-01f, +-7.9671e-02f, 8.3249e-04f, 7.4904e-02f, + 1.1792e-01f, 2.2135e-03f, -9.0963e-03f, +-2.8356e-03f, -4.2661e-02f, 6.9497e-02f, + 9.3561e-02f, 1.0475e-01f, 5.4745e-02f, +-8.5901e-02f, -2.1969e-01f, -1.5572e-01f, + 3.6473e-02f, 1.1097e-01f, -2.6830e-02f, + 1.2199e-02f, 1.8917e-01f, 1.1906e-01f, + 1.0664e-01f, -2.7005e-01f, 1.5492e-01f, +-4.1771e-02f, -1.6580e-01f, 2.9234e-02f, +-1.9854e-02f, 2.1436e-01f, -1.1100e-01f, + 4.5382e-04f, 4.2085e-04f, 5.6852e-04f, + 3.4951e-04f, 3.7354e-04f, 3.2786e-04f, + 2.0790e-04f, 2.8606e-04f, 3.2415e-04f, +-1.5500e-02f, 2.2865e-02f, -3.0070e-01f, + 1.8467e-01f, 2.4899e-01f, 1.4812e-02f, +-1.2318e-01f, 2.3175e-01f, 7.2244e-02f, + 1.6713e-01f, 1.9089e-02f, -2.7494e-01f, + 1.0202e-01f, 2.9200e-01f, -3.6055e-03f, + 1.3265e-01f, 2.2551e-01f, 1.9897e-01f, +-3.9474e-02f, 1.6262e-01f, 1.6726e-01f, +-8.6222e-02f, 2.0573e-01f, -7.3247e-01f, +-9.5391e-02f, 3.8933e-01f, 1.5861e-01f, +-1.2202e-01f, -6.4735e-02f, -1.1762e-01f, +-2.2427e-02f, -1.9171e-01f, -1.6092e-01f, + 3.2356e-01f, -2.2234e-01f, -1.3743e-01f, +-1.1493e-01f, -2.4936e-02f, 2.9212e-02f, +-9.8112e-02f, -1.8021e-02f, -1.0507e-01f, +-1.0168e-01f, 1.1759e-01f, -9.8203e-02f, +-2.8871e-02f, 1.3249e-01f, 7.8378e-02f, +-1.1012e-01f, -4.0596e-02f, 5.4202e-02f, + 4.9022e-02f, -1.1744e-01f, 9.8888e-02f, + 1.3343e-02f, 1.4358e-01f, -8.7142e-02f, + 1.9952e-01f, 3.3708e-02f, 2.0721e-02f, + 2.6527e-02f, -2.3822e-01f, 2.4706e-01f, +-3.2750e-04f, -2.8475e-04f, -6.3494e-05f, +-2.2378e-04f, -1.8046e-04f, -1.9242e-05f, +-4.2124e-05f, -2.2062e-05f, 4.5500e-07f, + 1.1692e-01f, 4.0366e-01f, -1.8709e-02f, + 8.2700e-02f, 1.7884e-01f, -1.3520e-01f, + 3.7758e-02f, 3.7048e-02f, -2.8109e-01f, +-2.3438e-01f, 5.9423e-02f, -1.7300e-01f, + 1.0343e-02f, 7.2307e-02f, -4.3852e-01f, +-5.7429e-02f, -4.9136e-02f, -8.0327e-02f, + 8.1094e-02f, 2.9118e-02f, 1.6677e-01f, + 1.2155e-01f, 6.5358e-01f, 2.4544e-01f, + 3.1163e-02f, 3.7463e-02f, -2.6613e-01f, + 1.2723e-01f, 1.2541e-01f, 1.4319e-02f, + 1.9055e-01f, -5.7441e-02f, 1.1146e-01f, +-1.0690e-02f, -1.7567e-01f, -1.2238e-01f, +-2.0879e-01f, -6.5278e-02f, -7.9327e-02f, +-1.6564e-01f, -1.3659e-01f, -2.6231e-01f, +-3.1916e-01f, -2.6553e-01f, -9.8647e-02f, +-1.0617e-01f, 1.2782e-01f, -2.1053e-02f, +-1.2329e-01f, 1.4952e-01f, -1.7466e-02f, +-1.6969e-01f, 3.6980e-02f, -6.7732e-02f, +-3.1220e-02f, 4.0615e-02f, -1.5251e-01f, +-2.0017e-01f, 2.2421e-01f, -2.5682e-02f, +-6.5873e-02f, 1.8346e-01f, 1.2982e-02f, + 1.4021e-06f, -1.6929e-05f, -8.4696e-05f, + 1.9580e-05f, 2.9943e-06f, 3.0084e-06f, + 2.0769e-04f, 1.4661e-05f, 2.9503e-06f, +-1.4485e-01f, 1.8841e-01f, -1.7954e-01f, + 2.1551e-01f, 2.2601e-01f, -8.6689e-03f, + 8.6926e-02f, -6.8989e-02f, -1.2683e-01f, +-8.7712e-02f, 6.3176e-02f, 1.1983e-01f, + 1.0790e-01f, 6.6418e-02f, 6.5849e-02f, + 1.2483e-01f, 1.2428e-01f, 4.4994e-02f, + 1.5139e-01f, -1.2116e-01f, -3.5497e-01f, +-6.1889e-02f, 3.4088e-01f, 1.3148e-01f, +-1.6478e-01f, 4.4477e-02f, -1.1979e-01f, + 3.8343e-02f, 1.7992e-01f, 3.6790e-01f, + 3.0426e-01f, 1.1235e-01f, 4.9815e-01f, + 2.6290e-01f, 1.9703e-01f, 1.5881e-01f, +-6.4678e-03f, 2.4401e-01f, 1.9266e-01f, +-1.4089e-01f, 1.2323e-01f, 4.4340e-02f, +-8.8856e-02f, 8.4036e-02f, -9.8488e-02f, +-1.7377e-03f, -1.7654e-03f, -1.7223e-03f, +-1.7651e-03f, -1.7919e-03f, -1.7491e-03f, +-1.7172e-03f, -1.7446e-03f, -1.7041e-03f, +-3.0384e-04f, -2.9297e-04f, -2.4838e-04f, +-3.2961e-04f, -3.1678e-04f, -2.7009e-04f, +-3.1665e-04f, -3.0492e-04f, -2.6122e-04f, + 3.7109e-40f, -3.7915e-40f, -5.2536e-40f, + 5.8286e-41f, -5.6108e-40f, 4.3331e-40f, +-3.0184e-42f, -4.8987e-40f, -5.1788e-40f, +-4.0457e-04f, -4.3257e-04f, -4.1616e-04f, +-4.2268e-04f, -4.5118e-04f, -4.3407e-04f, +-3.9446e-04f, -4.2199e-04f, -4.0650e-04f, +-1.1253e-16f, -1.1328e-14f, -2.0489e-14f, +-3.0346e-19f, -1.7189e-16f, -4.5141e-16f, +-2.4957e-30f, -1.8191e-23f, -3.5882e-22f, +-3.1610e-36f, -1.7544e-24f, -2.2187e-21f, +-4.2887e-19f, -1.5526e-15f, -1.5160e-14f, +-1.7750e-16f, -6.8066e-14f, -3.3764e-13f, +-6.9570e-24f, -5.1139e-23f, -2.9335e-23f, +-1.9091e-22f, -1.0323e-21f, -4.5931e-22f, +-2.0010e-22f, -9.3710e-22f, -3.5622e-22f, +-2.9470e-04f, -2.9081e-04f, -2.5958e-04f, +-3.2290e-04f, -3.1810e-04f, -2.8461e-04f, +-3.1795e-04f, -3.1356e-04f, -2.8121e-04f, + 6.1623e-02f, 1.7057e-01f, 8.0478e-02f, + 1.2624e-01f, 1.8468e-01f, 2.1901e-02f, + 7.6033e-02f, 1.3455e-01f, 8.4037e-02f, + 8.4434e-02f, -1.7069e-02f, -7.8318e-02f, + 4.9244e-02f, 4.4782e-02f, -6.9747e-02f, + 1.2915e-01f, 1.1453e-01f, -6.5243e-02f, +-5.0985e-03f, -5.1407e-03f, -5.1687e-03f, +-5.1185e-03f, -5.1511e-03f, -5.1712e-03f, +-5.0986e-03f, -5.1272e-03f, -5.1409e-03f, +-1.8186e-02f, 6.2680e-02f, 3.3235e-02f, + 1.3398e-02f, 1.6497e-01f, 4.3523e-02f, +-2.4101e-02f, 1.3316e-01f, 1.8373e-02f, +-6.2677e-04f, 6.5026e-03f, 2.5948e-02f, + 6.6542e-02f, 1.2352e-01f, 1.5155e-02f, +-8.6237e-02f, -2.0907e-02f, 1.0237e-02f, +-1.7807e-01f, -8.6196e-02f, -3.2408e-02f, +-8.1946e-03f, -1.3957e-02f, -1.6733e-01f, + 2.6269e-02f, 1.6817e-01f, 9.4029e-02f, + 3.4005e-02f, -1.2833e-02f, -1.2038e-01f, +-4.8950e-02f, 3.9857e-02f, 1.4048e-02f, +-6.4758e-02f, 9.9603e-02f, 1.0748e-01f, +-1.0850e-02f, 9.8875e-02f, -4.4439e-02f, + 9.1219e-02f, 6.6400e-02f, -6.7693e-02f, + 5.3318e-02f, 1.1838e-02f, -1.5164e-01f, +-5.8568e-02f, 1.1249e-01f, -3.8286e-02f, +-7.1122e-02f, 9.5799e-02f, 3.8521e-02f, +-1.3846e-01f, 1.4167e-01f, -3.5500e-03f, +-1.0343e-01f, -3.3025e-02f, 3.7186e-02f, +-2.0769e-03f, 1.3558e-01f, -1.3009e-01f, + 1.0167e-02f, 1.5358e-02f, -9.8009e-02f, + 2.4123e-05f, -1.1800e-05f, -1.4180e-04f, + 3.5217e-05f, -6.3838e-06f, -1.2243e-04f, + 8.5525e-05f, 2.1599e-06f, -5.3290e-05f, +-1.4471e-01f, 2.0111e-02f, -1.2449e-01f, + 5.3368e-02f, 3.2918e-01f, 1.4034e-01f, +-1.1833e-01f, -1.9225e-02f, -1.2658e-01f, +-2.6966e-01f, 1.1751e-01f, 9.7072e-02f, +-1.9929e-01f, 9.7986e-02f, -5.1240e-02f, +-9.5073e-02f, -6.8070e-02f, -2.1318e-01f, + 9.5305e-02f, -4.0551e-02f, -1.0936e-01f, + 5.2687e-02f, 4.5340e-01f, 2.3531e-01f, +-1.3385e-02f, 1.5922e-01f, -1.8371e-01f, +-1.2203e-01f, -7.2567e-02f, -3.0000e-01f, +-3.4356e-02f, -1.3471e-01f, -9.0995e-02f, +-2.5230e-01f, -2.4846e-01f, -1.8529e-01f, +-1.6962e-01f, 1.0905e-01f, 1.1557e-01f, +-1.4405e-01f, 8.9191e-02f, 1.1715e-01f, +-1.3237e-01f, 5.2092e-02f, -1.2227e-01f +} +, +{ + 2.0013e-01f, 2.2105e-01f, 1.9196e-01f, + 6.8158e-02f, 1.7154e-01f, -8.6677e-02f, + 9.2652e-02f, 1.0789e-01f, 1.6745e-01f, +-2.9254e-01f, -7.6815e-02f, 5.8812e-02f, +-4.6466e-02f, 1.3941e-02f, 2.3353e-01f, +-1.5033e-01f, 7.5167e-02f, 1.4433e-01f, + 2.8008e-02f, 3.1625e-01f, 3.2877e-02f, +-5.8835e-02f, -1.7305e-01f, -6.1558e-02f, +-1.2227e-01f, 3.9931e-02f, 3.0300e-02f, + 2.3004e-01f, 4.1834e-02f, -5.7790e-02f, +-2.2861e-01f, 2.9314e-01f, 1.6884e-01f, +-2.8009e-02f, 4.7550e-02f, -4.4542e-02f, +-2.4674e-01f, -1.5483e-01f, 3.2653e-02f, +-2.1574e-01f, 3.1083e-01f, -1.4025e-03f, + 1.7354e-02f, 5.6417e-02f, 1.0844e-01f, +-4.2681e-40f, 4.5893e-42f, -7.4234e-40f, + 1.7665e-40f, 4.0151e-40f, 4.6269e-40f, + 2.5452e-40f, -7.0179e-40f, -1.2338e-40f, +-1.4957e-01f, -1.9087e-02f, 7.1170e-02f, +-1.4435e-01f, 8.9560e-02f, 1.3879e-01f, +-3.6992e-02f, 5.9822e-02f, 1.9241e-02f, +-2.4402e-03f, 1.5097e-01f, 6.3958e-02f, +-1.7630e-01f, 3.6009e-01f, -2.0383e-01f, +-8.5106e-03f, 4.0863e-03f, -2.7575e-02f, + 7.8942e-02f, -1.8640e-01f, -6.7715e-02f, + 7.2777e-02f, -1.3804e-01f, -7.0332e-02f, + 1.5185e-01f, -4.3530e-02f, 1.4502e-01f, +-3.2928e-02f, -3.0583e-02f, 9.2061e-02f, + 1.2493e-01f, 1.0400e-01f, 1.3780e-01f, + 1.4438e-01f, 8.2051e-02f, 1.6159e-02f, + 2.7478e-02f, 1.7768e-01f, 2.5945e-01f, +-3.4662e-01f, 2.0330e-03f, 8.8118e-02f, +-2.9628e-01f, -1.3212e-01f, -1.8145e-02f, +-1.9330e-01f, 3.9238e-02f, -4.6944e-02f, +-1.5668e-01f, -5.7104e-02f, 1.9558e-01f, + 6.5305e-02f, 5.9933e-02f, 7.7337e-02f, +-2.4906e-02f, -1.1235e-01f, 1.3822e-02f, +-3.9988e-02f, -9.1882e-03f, 1.9204e-02f, + 1.0504e-01f, 4.6820e-03f, -2.1836e-02f, +-2.6953e-40f, 2.5334e-40f, -1.3028e-40f, + 1.4110e-41f, 5.6841e-40f, 3.6368e-40f, +-1.1746e-41f, -7.0658e-41f, -3.9413e-40f, + 1.5025e-02f, 7.4419e-02f, 9.5652e-02f, + 5.0297e-02f, 6.6704e-02f, 5.7316e-02f, + 2.5102e-02f, 1.1985e-01f, 2.6043e-02f, + 3.3297e-02f, -7.7374e-02f, -1.1114e-01f, +-7.5586e-02f, -1.9338e-02f, -1.3739e-02f, + 4.5616e-02f, -6.4946e-02f, -6.9372e-02f, +-7.5874e-03f, -1.1141e-01f, -2.9135e-02f, +-6.9436e-03f, -1.4418e-02f, 1.6436e-03f, +-1.3051e-01f, -1.3324e-01f, -9.3934e-02f, + 1.2184e-01f, 1.9386e-01f, 1.7995e-01f, +-2.7452e-02f, 9.9736e-02f, 1.0020e-01f, +-6.3290e-02f, -2.1447e-02f, -1.7005e-01f, + 1.3857e-01f, 2.3338e-01f, 2.5410e-01f, + 2.3002e-01f, 1.9551e-01f, 1.4452e-01f, + 4.7040e-01f, 2.2647e-01f, 1.5215e-01f, + 2.6927e-02f, -2.1304e-01f, -1.4762e-01f, +-5.6998e-02f, 2.9064e-01f, 1.8085e-01f, + 8.9393e-02f, -1.7463e-01f, -2.7095e-01f, + 3.8434e-02f, 1.7198e-01f, -1.8122e-02f, +-1.3857e-01f, 1.9418e-01f, 1.5019e-01f, +-5.6337e-02f, -5.3265e-01f, 3.2122e-01f, +-2.4484e-40f, -5.3707e-40f, 1.5854e-41f, + 5.1791e-40f, -4.1875e-41f, 5.6732e-40f, + 1.3048e-40f, 1.6452e-40f, -4.5028e-40f, +-3.0692e-02f, 1.8569e-01f, 2.0327e-01f, +-7.4756e-02f, -5.1765e-02f, 4.2475e-02f, +-9.0675e-02f, -3.0438e-01f, -3.5088e-01f, +-1.9129e-02f, -1.5663e-03f, 4.9895e-02f, +-1.9441e-02f, 9.3237e-02f, 1.2910e-01f, +-2.3919e-02f, -4.0539e-01f, 2.8167e-02f, + 2.0203e-01f, 3.3424e-02f, 1.7927e-02f, + 4.1923e-02f, -1.6967e-01f, 2.5656e-02f, +-1.5869e-01f, -1.8727e-01f, 2.7860e-03f, +-4.0276e-02f, -6.7792e-03f, 3.3699e-02f, +-6.7044e-03f, 1.7686e-02f, 2.9786e-02f, +-1.5623e-02f, 3.7904e-02f, 2.4737e-02f, +-1.2282e-01f, -3.6563e-02f, 4.1976e-02f, +-9.9622e-03f, 8.8981e-02f, 2.1364e-02f, +-8.5668e-02f, -1.6803e-01f, -4.4974e-02f, + 1.3164e-01f, 4.1294e-01f, 1.8897e-01f, + 2.1991e-01f, 1.6247e-02f, 1.1569e-01f, +-3.0142e-02f, 1.4069e-02f, 3.6646e-02f, +-2.6816e-02f, -3.9767e-02f, 1.4061e-01f, +-1.3603e-01f, -2.0649e-01f, 7.5837e-02f, +-1.6984e-02f, -8.3800e-03f, 2.3652e-04f, + 1.5049e-40f, 4.6504e-40f, 1.3625e-40f, +-7.5358e-40f, -3.4257e-40f, 9.9763e-41f, + 4.7243e-40f, 7.4890e-40f, -7.9440e-42f, +-5.9692e-02f, -2.8047e-02f, 2.3795e-02f, +-3.5284e-02f, 1.1448e-02f, 5.0302e-04f, +-3.5066e-02f, 4.6185e-02f, 1.2167e-02f, + 3.7583e-02f, -3.6598e-02f, 1.0206e-01f, +-9.6229e-02f, -1.5977e-01f, 4.9157e-02f, + 3.7293e-02f, 5.8766e-02f, 1.0448e-02f, + 1.1490e-01f, 1.4459e-01f, 8.6936e-02f, + 2.8609e-01f, -4.8108e-02f, 9.0023e-02f, + 6.7941e-02f, -5.7148e-03f, 1.0021e-01f, + 7.3816e-02f, 7.3794e-02f, 8.0970e-03f, + 2.8307e-02f, 3.6635e-03f, -1.1769e-01f, + 4.1374e-02f, 3.9933e-02f, -4.4292e-02f, + 5.9423e-02f, 1.9009e-01f, -2.3735e-01f, +-2.6670e-01f, 5.8789e-01f, -2.0048e-01f, +-3.7082e-01f, 1.8045e-01f, 5.4820e-02f, +-6.3567e-01f, 2.0098e-01f, 1.0653e-01f, +-2.5056e-01f, 6.5065e-01f, -4.0471e-01f, + 5.4715e-02f, 2.4375e-01f, -2.7402e-01f, + 1.5982e-01f, 1.0923e-01f, 2.1566e-01f, + 2.0239e-01f, -9.0221e-02f, -4.4606e-01f, + 1.0550e-01f, 5.4666e-02f, -2.7134e-01f, +-4.6424e-40f, 2.9137e-40f, 7.4968e-41f, + 1.2376e-41f, -5.6213e-40f, -6.3457e-40f, + 2.5404e-40f, 2.0013e-40f, 3.5611e-40f, + 5.5423e-02f, 3.9843e-02f, -1.7509e-01f, + 5.4480e-02f, 5.0331e-02f, -1.6793e-01f, + 6.6093e-02f, 3.0163e-02f, -8.2023e-02f, +-1.5490e-01f, 1.7457e-01f, 2.7832e-01f, + 1.1482e-01f, 2.5759e-01f, -2.4199e-01f, +-9.3891e-02f, 9.1921e-02f, -6.4480e-03f, + 1.9266e-01f, 5.2907e-02f, 7.0289e-02f, + 1.3582e-01f, 6.4246e-02f, 1.4989e-01f, + 6.2013e-03f, -6.8884e-02f, 6.8734e-02f, +-1.0483e-01f, -7.7134e-02f, -3.6204e-02f, + 1.7590e-02f, 5.0844e-02f, 1.4234e-01f, + 7.2913e-02f, 6.0726e-02f, 6.4414e-02f, +-8.5021e-02f, -1.0621e-03f, 5.5851e-02f, + 2.4666e-01f, 6.5652e-02f, -1.8180e-02f, + 1.5225e-01f, 1.2928e-01f, 3.1578e-03f, + 1.1468e-01f, 1.9544e-01f, 6.6637e-02f, + 6.3430e-02f, 2.0542e-01f, 7.0876e-02f, + 3.4779e-02f, 1.0037e-02f, -2.2134e-02f, +-6.9304e-02f, 1.1184e-01f, -3.7015e-02f, +-1.7634e-01f, 1.2475e-01f, 9.1947e-02f, +-6.0550e-02f, -1.3904e-01f, 7.5192e-02f, +-2.2871e-40f, 4.7367e-41f, -1.0711e-40f, +-2.8662e-40f, 4.0542e-41f, 3.3067e-40f, +-4.4395e-41f, -7.2684e-41f, 1.8695e-40f, +-1.6702e-01f, -2.6654e-01f, 8.7902e-03f, +-2.0108e-01f, -3.8093e-01f, -8.3700e-02f, +-7.5433e-02f, -2.0689e-01f, 2.7951e-02f, + 2.9938e-03f, 1.1378e-01f, 7.1598e-02f, +-1.6031e-01f, 1.3475e-01f, 1.5800e-01f, +-7.2019e-02f, -1.1663e-01f, 8.0692e-02f, + 1.0610e-01f, 1.1163e-02f, -1.4959e-01f, +-1.1576e-01f, -8.5645e-02f, 4.0414e-02f, + 5.6245e-02f, 1.7056e-01f, 2.5734e-01f, +-6.1086e-02f, -7.0851e-02f, 7.6851e-02f, +-2.7595e-02f, -6.0890e-02f, 4.7472e-02f, + 7.1059e-03f, 6.0942e-05f, 7.4915e-02f, + 1.9350e-01f, -1.8458e-02f, -2.3040e-02f, + 6.3477e-02f, 1.1923e-01f, 9.9319e-02f, + 6.4839e-02f, 2.7973e-01f, 1.2902e-01f, +-1.7829e-01f, 5.7083e-03f, -6.1680e-03f, +-1.1256e-01f, -2.7951e-02f, -2.1544e-01f, +-2.1614e-02f, -7.1468e-02f, -2.2054e-02f, +-8.7543e-02f, -1.2982e-01f, 1.9386e-01f, +-5.7157e-03f, -1.0108e-01f, 1.4467e-01f, +-6.5742e-02f, -7.2054e-02f, 1.7924e-01f, + 7.5418e-40f, 6.3043e-40f, 4.9815e-40f, +-1.0952e-40f, 3.0327e-40f, -2.3848e-40f, + 4.1302e-40f, 2.0150e-40f, -1.6509e-40f, +-1.3985e-02f, -1.0550e-01f, 5.8772e-02f, +-1.7108e-02f, -7.3644e-02f, 3.3014e-02f, +-1.8224e-03f, 2.8931e-03f, 9.2762e-02f, + 4.1531e-02f, -1.5139e-01f, -1.7773e-01f, + 9.6548e-02f, -1.1914e-01f, -4.6536e-02f, + 8.6754e-02f, -4.0057e-03f, 1.8983e-01f, + 1.6545e-01f, -4.7311e-02f, -7.2455e-03f, + 3.7567e-01f, 1.8883e-01f, -7.4325e-02f, +-5.8252e-02f, -1.3811e-02f, -7.0470e-02f, +-3.2943e-02f, -7.0770e-02f, -1.4700e-01f, + 1.7043e-02f, 9.4331e-02f, 4.2857e-03f, + 4.1247e-03f, 1.6690e-01f, 4.2146e-02f, + 1.1420e-01f, -7.4456e-02f, -3.8763e-02f, + 1.6807e-01f, 9.3636e-03f, -1.1796e-01f, + 1.7703e-01f, 1.1386e-03f, -6.8707e-02f, + 1.0259e-01f, -1.8918e-02f, 6.5902e-03f, + 1.2421e-02f, -7.8960e-02f, 2.1766e-02f, + 1.3062e-01f, 4.6001e-02f, 2.4199e-01f, +-1.2955e-02f, -1.9329e-01f, 5.2074e-03f, + 5.9446e-02f, 1.8832e-01f, 2.2094e-01f, +-1.0954e-01f, -8.1867e-02f, -4.3324e-02f, +-3.9596e-41f, 2.8677e-40f, -6.5843e-40f, + 4.2812e-41f, -3.5323e-40f, 4.8298e-40f, + 7.6351e-40f, -2.4759e-40f, 7.3030e-40f, +-1.1284e-01f, -8.4171e-02f, -1.5935e-01f, +-3.2299e-02f, 1.5427e-01f, 8.9029e-02f, +-3.8815e-02f, 1.3098e-01f, -4.3065e-02f, +-2.5276e-01f, -1.7018e-01f, 9.7901e-02f, + 1.4218e-01f, 3.1236e-01f, 2.9636e-01f, +-2.3613e-02f, -5.5258e-02f, -2.0550e-01f +} +, +{ + 0.0333f, 0.1145f, -0.0922f, + 0.1185f, 0.4533f, -0.2015f, +-0.0774f, 0.1759f, -0.0496f, + 0.0954f, -0.0499f, 0.0824f, + 0.1059f, 0.0173f, -0.0586f, +-0.0666f, -0.0287f, -0.0652f, +-0.0558f, -0.1362f, 0.0015f, + 0.1277f, 0.1020f, -0.1369f, + 0.0020f, -0.0103f, -0.0804f, + 0.0507f, 0.1404f, -0.0241f, + 0.0520f, 0.1239f, 0.0633f, +-0.0268f, 0.0335f, 0.0883f, +-0.0549f, -0.1022f, -0.0515f, +-0.0163f, -0.1167f, -0.0442f, + 0.0858f, -0.0804f, -0.0014f, + 0.0354f, -0.0666f, -0.2105f, +-0.0950f, 0.1578f, -0.0920f, +-0.1303f, 0.0299f, -0.0195f, +-0.0281f, -0.1993f, -0.0154f, + 0.0796f, 0.0503f, 0.0954f, + 0.0540f, 0.0212f, 0.0389f, +-0.1387f, 0.1091f, -0.1212f, + 0.1556f, 0.3573f, 0.0976f, +-0.0587f, -0.2070f, 0.2067f, + 0.0138f, 0.0051f, -0.1008f, + 0.2877f, 0.1079f, -0.0681f, + 0.0953f, -0.0739f, -0.2349f, + 0.1482f, 0.0657f, 0.0480f, + 0.1590f, -0.0009f, 0.1402f, + 0.0700f, 0.0435f, 0.1190f, + 0.0957f, 0.0117f, -0.1010f, + 0.1790f, -0.0200f, -0.0765f, + 0.0797f, 0.1455f, -0.0340f, + 0.0008f, -0.0267f, 0.0089f, + 0.0644f, 0.0647f, 0.0397f, + 0.0463f, -0.0116f, -0.0771f, + 0.2237f, 0.0324f, 0.0192f, +-0.0082f, -0.0345f, 0.0294f, + 0.0719f, -0.0185f, 0.1008f, +-0.0307f, 0.0134f, -0.0747f, + 0.0776f, -0.1485f, 0.0135f, + 0.0965f, -0.0665f, -0.1263f, +-0.0101f, -0.0097f, -0.0144f, +-0.0022f, -0.0083f, 0.0277f, + 0.0136f, -0.0076f, 0.0314f, +-0.0008f, 0.0722f, -0.0704f, + 0.0053f, 0.0767f, 0.0368f, +-0.0189f, -0.1354f, 0.0231f, +-0.1416f, 0.1945f, -0.1756f, + 0.2058f, 0.0401f, -0.1348f, +-0.0945f, -0.2530f, -0.3082f, +-0.0096f, 0.0871f, 0.0699f, +-0.0092f, 0.0423f, 0.0995f, +-0.0914f, -0.0570f, -0.0718f, +-0.0739f, -0.2749f, -0.2320f, + 0.1488f, -0.2698f, -0.1977f, + 0.1445f, -0.1655f, -0.0758f, + 0.2035f, -0.0138f, 0.0332f, + 0.0282f, -0.2247f, -0.0945f, +-0.0614f, -0.2484f, -0.0595f, +-0.1174f, -0.1252f, 0.1969f, +-0.1101f, -0.2950f, -0.2164f, +-0.0348f, -0.0891f, 0.1250f, + 0.0195f, 0.0050f, 0.0300f, +-0.0508f, -0.0316f, -0.0194f, + 0.0199f, 0.0345f, 0.0444f, +-0.0022f, -0.0529f, 0.1604f, + 0.0756f, -0.2015f, -0.2117f, +-0.0837f, -0.1270f, 0.1330f, + 0.0286f, 0.0952f, 0.1082f, + 0.0724f, -0.0446f, -0.1156f, + 0.0545f, 0.0444f, -0.0291f, + 0.0759f, 0.1110f, 0.0944f, + 0.1615f, 0.4302f, -0.1060f, + 0.0418f, -0.0281f, -0.1378f, +-0.0757f, -0.0527f, -0.1578f, + 0.0123f, -0.0427f, 0.1504f, + 0.0694f, 0.0690f, 0.0203f, + 0.2132f, -0.3449f, 0.0936f, + 0.2491f, 0.0279f, -0.0884f, +-0.0447f, 0.1589f, -0.0054f, +-0.0246f, 0.1247f, 0.0403f, + 0.0513f, -0.0541f, -0.1141f, + 0.0712f, -0.1174f, -0.0051f, + 0.2304f, 0.2431f, -0.0517f, +-0.1548f, -0.0401f, 0.2032f, +-0.0087f, -0.1676f, -0.0600f, + 0.1094f, -0.0329f, 0.0530f, +-0.0580f, 0.1499f, -0.0806f, +-0.0086f, -0.1400f, -0.0636f, + 0.0708f, -0.1003f, -0.1113f, +-0.0732f, -0.1199f, 0.0060f, +-0.0534f, -0.0011f, 0.0965f, +-0.0268f, 0.0116f, -0.1161f, + 0.0787f, 0.3925f, -0.0819f, +-0.0041f, -0.0892f, -0.2063f, +-0.1296f, 0.0924f, -0.0079f, + 0.5625f, 0.4013f, 0.1645f, +-0.0137f, -0.1935f, 0.2714f, + 0.0980f, 0.0016f, -0.1461f, + 0.1576f, 0.0305f, -0.1450f, + 0.1503f, -0.0303f, -0.1403f, + 0.0262f, -0.0077f, 0.0459f, + 0.2718f, 0.0754f, 0.2404f, + 0.1381f, -0.1499f, 0.0016f, + 0.1454f, -0.1278f, -0.0085f, + 0.1674f, -0.0834f, 0.1993f, + 0.0874f, -0.0598f, -0.0188f, + 0.2003f, 0.3296f, 0.0153f, +-0.0154f, 0.5550f, -0.0945f, + 0.0489f, 0.0415f, -0.0940f, + 0.0164f, 0.0791f, 0.1077f, +-0.0893f, 0.1231f, 0.0473f, +-0.0319f, 0.1444f, 0.1690f, +-0.0518f, -0.1404f, -0.1778f, +-0.0170f, 0.1395f, -0.0234f, + 0.0128f, -0.0112f, -0.0472f, + 0.1039f, 0.1982f, -0.0272f, + 0.0282f, -0.1199f, -0.2622f, +-0.0449f, 0.0239f, -0.1030f, +-0.0840f, -0.1044f, -0.0646f, + 0.0588f, 0.1937f, -0.2494f, + 0.0180f, 0.0747f, 0.1530f, + 0.0500f, 0.1756f, 0.0491f, +-0.1113f, -0.0079f, 0.0854f, +-0.1493f, -0.0559f, -0.0373f, + 0.1972f, -0.3158f, -0.0500f, + 0.1932f, 0.3177f, -0.0018f, +-0.0516f, -0.1144f, 0.0686f, + 0.0175f, 0.0598f, 0.0345f, +-0.0667f, -0.1078f, 0.0384f, + 0.0897f, 0.2198f, -0.0531f, +-0.2596f, -0.1997f, 0.0195f, + 0.0332f, 0.4098f, 0.1381f, + 0.1985f, -0.0669f, -0.1275f, +-0.0751f, -0.2388f, -0.0672f, + 0.0090f, 0.0891f, -0.0362f, + 0.1392f, -0.0518f, 0.2039f, + 0.2079f, -0.1202f, 0.0707f, + 0.0498f, -0.1237f, -0.0665f, +-0.0398f, -0.1557f, -0.0928f, + 0.0505f, 0.1220f, 0.0352f, +-0.0674f, -0.1159f, 0.0724f, +-0.0331f, -0.1751f, 0.0766f, + 0.0992f, -0.0763f, 0.0090f, +-0.1223f, 0.2621f, -0.2029f, + 0.0509f, -0.0279f, -0.1061f, + 0.0598f, 0.0353f, -0.1610f, + 0.0165f, 0.0835f, 0.0704f, +-0.0079f, -0.0982f, 0.0187f, + 0.2331f, -0.1929f, 0.0684f, +-0.0507f, 0.1476f, -0.0886f, +-0.0275f, 0.1658f, 0.0697f, +-0.1123f, -0.0069f, -0.0851f, +-0.0377f, -0.0917f, -0.0629f, +-0.0420f, 0.0506f, 0.1111f, + 0.1086f, 0.1351f, -0.0851f, + 0.0466f, 0.2750f, 0.0185f, +-0.0208f, 0.2090f, 0.0271f, + 0.0217f, -0.0548f, 0.0078f, +-0.0609f, 0.1029f, -0.1641f, + 0.1392f, 0.0115f, 0.0317f, +-0.0570f, 0.1060f, 0.1814f, +-0.2015f, -0.1301f, 0.1082f, + 0.2452f, -0.1815f, -0.0046f, + 0.0103f, -0.0466f, -0.0895f, + 0.0158f, -0.0594f, -0.1386f, +-0.0073f, -0.0719f, -0.0716f, + 0.1308f, -0.0206f, 0.0511f, +-0.0437f, -0.0763f, 0.0287f, + 0.0493f, -0.1239f, 0.0219f, +-0.0041f, 0.0373f, 0.0262f, + 0.0078f, -0.0249f, -0.0284f, + 0.0598f, -0.0205f, -0.0276f, + 0.0115f, -0.1778f, -0.0395f, + 0.1673f, -0.0036f, 0.2334f, + 0.0706f, -0.0694f, 0.0177f, + 0.1123f, -0.0043f, 0.0716f, +-0.0894f, -0.1609f, 0.0334f, +-0.0046f, -0.2006f, -0.0977f, +-0.0127f, 0.1198f, -0.0339f, +-0.0283f, 0.1354f, 0.1637f, +-0.1696f, 0.0187f, -0.2621f, + 0.0496f, 0.2834f, 0.0423f, + 0.1126f, 0.3962f, 0.1660f, +-0.0750f, 0.1955f, 0.0590f, +-0.1088f, -0.1146f, -0.1219f, + 0.1360f, 0.1524f, 0.0498f, +-0.1151f, 0.0219f, -0.0063f, +-0.0821f, 0.0247f, -0.1065f, + 0.1153f, 0.2085f, 0.0618f, +-0.0383f, 0.0527f, -0.2067f +} +, +{ + 1.8014e-01f, 2.1908e-01f, -2.1088e-03f, + 1.7345e-01f, 2.7654e-01f, 1.3607e-02f, + 1.1363e-01f, 9.9105e-02f, -6.5730e-02f, +-3.5679e-02f, 9.6072e-03f, 4.0721e-02f, +-1.8771e-02f, -2.3484e-04f, -1.0230e-02f, + 1.6965e-02f, -1.3032e-02f, -6.3906e-02f, +-4.5686e-02f, -3.6733e-02f, -4.8873e-02f, + 4.0752e-02f, 2.1615e-02f, -1.4822e-02f, + 1.1689e-01f, 3.0153e-02f, -5.0163e-04f, +-7.0394e-03f, -1.2387e-01f, -8.9243e-02f, +-1.8312e-01f, -1.3868e-01f, -6.2618e-02f, +-8.1627e-02f, -2.0480e-01f, -3.0740e-01f, + 4.4296e-02f, 3.8572e-02f, 4.3754e-02f, + 1.7538e-01f, 5.3284e-02f, -7.5663e-03f, + 1.9670e-01f, -1.2397e-01f, -1.6266e-01f, + 1.4575e-01f, -5.7771e-02f, 2.7619e-02f, + 2.2757e-02f, -4.8910e-01f, -2.6201e-01f, + 3.6513e-02f, -2.0704e-01f, -1.3225e-01f, +-6.7533e-02f, 1.1289e-02f, 7.1316e-02f, +-7.6847e-02f, 6.8128e-02f, 7.4717e-02f, + 1.1269e-01f, 2.9978e-02f, 3.2132e-02f, +-5.4557e-02f, -4.4599e-02f, 4.1835e-02f, + 5.7964e-02f, -2.1246e-03f, 1.5007e-01f, + 1.8432e-01f, 1.1463e-01f, 2.2691e-01f, + 9.6166e-02f, 4.7887e-02f, -3.8399e-02f, + 5.8153e-02f, -2.0255e-02f, -1.1362e-01f, + 2.6402e-02f, 2.5562e-02f, 1.9096e-02f, + 1.1588e-01f, 1.4540e-01f, 1.1948e-01f, + 1.0360e-01f, 5.9083e-02f, 1.9263e-01f, + 1.6953e-01f, 2.7390e-02f, 9.7883e-02f, + 1.5059e-01f, 6.7593e-02f, -4.5843e-03f, + 8.7031e-02f, -2.0926e-03f, -6.3056e-02f, +-6.6960e-02f, -5.2056e-02f, -7.3570e-02f, + 1.4361e-02f, 1.1059e-01f, -4.9720e-02f, + 4.4270e-02f, 3.9995e-02f, 4.3101e-03f, +-1.1042e-01f, 4.5028e-02f, -8.9124e-02f, +-1.2906e-01f, -7.6972e-02f, -6.5449e-03f, +-1.9269e-01f, 2.8349e-01f, 1.1573e-01f, +-1.7983e-01f, 9.7615e-02f, 9.4003e-03f, +-4.7802e-02f, -1.5889e-01f, -1.2693e-01f, + 7.4717e-02f, 2.8655e-01f, -7.2637e-02f, + 1.5837e-02f, 8.7125e-02f, -1.2198e-01f, +-1.7754e-02f, -5.6443e-02f, -9.8661e-03f, + 6.3040e-02f, 2.0249e-02f, -3.5368e-02f, + 9.7756e-03f, 2.6760e-02f, -5.5172e-02f, +-1.0406e-02f, 4.8313e-02f, 2.4717e-02f, +-5.2851e-02f, 6.8496e-02f, -2.5933e-02f, + 4.5932e-02f, 5.9892e-02f, 1.9200e-02f, +-5.1316e-40f, -5.1811e-40f, -1.5144e-40f, +-6.7758e-38f, -5.4608e-40f, -3.9680e-40f, +-1.9155e-39f, 2.0423e-41f, 1.5256e-41f, +-2.5559e-08f, -3.2461e-08f, -2.6821e-08f, +-3.6885e-08f, -4.6896e-08f, -3.9086e-08f, +-3.4305e-08f, -4.4160e-08f, -3.7187e-08f, +-3.7416e-40f, 3.6550e-40f, 5.0727e-40f, +-1.6722e-40f, 3.9228e-40f, 5.4548e-40f, +-5.7512e-40f, -2.8156e-40f, 9.4571e-41f, +-4.7040e-40f, -1.6974e-40f, 6.3849e-40f, +-3.7322e-40f, 2.6014e-40f, 2.3080e-40f, +-2.8395e-40f, -3.7116e-40f, 4.4393e-40f, + 1.1597e-40f, 4.3291e-40f, 3.8219e-40f, + 3.3393e-40f, 3.1747e-40f, -1.8400e-36f, +-5.5215e-40f, 1.7648e-40f, -1.6540e-35f, +-3.0953e-40f, 5.3063e-40f, -1.6454e-40f, + 2.1341e-40f, 2.0790e-40f, -3.0226e-40f, +-2.6807e-40f, -1.6601e-40f, 5.1829e-40f, +-1.8897e-40f, -4.5956e-41f, 5.3784e-40f, +-2.5661e-40f, -2.1726e-40f, 1.2010e-40f, + 1.8263e-41f, 1.1214e-40f, -3.7693e-40f, +-4.2596e-40f, 1.8854e-40f, 5.5010e-40f, +-6.6262e-40f, -4.8808e-40f, 3.3123e-40f, + 5.9379e-41f, 2.3249e-40f, 4.4504e-40f, +-8.4836e-04f, -8.4397e-04f, -5.8640e-04f, +-8.3506e-04f, -8.0192e-04f, -5.3901e-04f, +-8.3539e-04f, -7.8069e-04f, -4.8720e-04f, +-3.4706e-04f, -4.4640e-04f, -5.2353e-04f, +-4.4518e-04f, -5.3374e-04f, -5.2734e-04f, +-5.8780e-04f, -5.8730e-04f, -5.4362e-04f, +-5.2452e-04f, -5.4578e-04f, -5.6266e-04f, +-4.2387e-04f, -4.4643e-04f, -4.8936e-04f, +-3.5880e-04f, -3.7886e-04f, -4.1998e-04f, +-2.4479e-04f, -4.0736e-04f, -3.1189e-04f, +-3.4922e-04f, -4.0173e-04f, -2.5042e-04f, +-5.7091e-04f, -5.2665e-04f, -2.3293e-04f, +-2.8505e-04f, 9.7283e-05f, 3.1209e-04f, +-2.7463e-04f, 1.8704e-04f, 4.4351e-04f, +-9.1436e-05f, 3.2602e-04f, 5.7573e-04f, +-4.0112e-04f, -4.2566e-04f, -2.4300e-04f, +-9.9362e-05f, -6.5499e-05f, 3.2872e-05f, + 1.1584e-04f, 2.3417e-04f, 3.4427e-04f, +-7.5767e-05f, 3.9768e-06f, 6.2201e-05f, + 2.3151e-05f, 2.5595e-04f, 3.4038e-04f, +-1.3871e-05f, 3.0295e-04f, 4.4170e-04f, +-1.7802e-04f, -4.5376e-04f, -5.1847e-04f, +-5.0687e-04f, -5.5837e-04f, -2.5917e-04f, +-5.3992e-04f, -7.1375e-04f, -4.8728e-04f, +-1.7543e-01f, -3.4151e-01f, -3.2619e-02f, +-1.9701e-02f, -1.5494e-01f, -1.6534e-01f, + 3.5632e-02f, -1.0897e-01f, -3.8379e-02f, +-6.1420e-02f, -1.0735e-01f, 1.4730e-01f, + 7.4386e-02f, -1.0487e-01f, 7.9646e-02f, + 1.7130e-02f, 4.4391e-02f, -5.1959e-03f, + 4.5682e-02f, -1.1543e-01f, 9.4035e-03f, +-3.4376e-01f, -1.1961e-01f, 1.0099e-01f, + 1.1335e-01f, 7.5840e-02f, 1.0675e-01f, + 4.9539e-02f, 8.7406e-02f, 4.4951e-02f, + 1.8111e-01f, 2.6406e-01f, -1.5924e-02f, +-1.1464e-01f, 8.4579e-04f, -6.6811e-02f, +-8.9635e-03f, 1.8236e-03f, 3.6561e-02f, +-7.0281e-02f, 2.9717e-01f, 3.1836e-02f, +-1.3647e-01f, -6.5627e-02f, 9.3063e-02f, +-2.1851e-01f, -6.0226e-02f, -1.0326e-01f, + 5.3441e-02f, 1.9103e-01f, -5.7999e-02f, +-3.3512e-02f, 1.5496e-01f, -1.1111e-01f, + 2.3256e-03f, -1.5004e-01f, -9.1248e-02f, +-9.7706e-02f, 1.9549e-01f, -1.5403e-01f, +-1.5327e-01f, 8.3335e-02f, 5.6111e-03f, +-1.5707e-01f, 8.0277e-03f, -7.3955e-02f, +-1.4111e-01f, -1.3548e-01f, -1.0563e-01f, + 2.3054e-01f, -2.1822e-02f, -6.6938e-03f, +-1.0259e-01f, 4.3577e-02f, -1.7630e-01f, + 1.6484e-01f, 4.2413e-01f, 6.9475e-02f, +-2.4705e-01f, 2.5757e-01f, -9.5611e-02f, + 1.0236e-01f, -3.4820e-02f, -6.8818e-03f, +-1.1434e-01f, -3.1800e-01f, 2.1337e-02f, +-1.9939e-01f, -2.6532e-01f, 7.3361e-02f, + 6.5939e-02f, 9.5812e-02f, -7.0156e-02f, +-1.6249e-02f, -1.5927e-02f, -1.1189e-01f, +-9.3936e-03f, -1.0933e-01f, -2.9399e-02f, +-2.8752e-02f, -4.5613e-02f, -1.2718e-02f, + 3.8781e-01f, 2.6776e-01f, -1.0373e-02f, +-2.3927e-02f, -6.4398e-02f, 9.9117e-02f, +-6.0732e-02f, -5.5917e-03f, 5.1716e-02f, +-1.4168e-01f, 1.7661e-01f, -5.5893e-02f, +-3.0419e-01f, -3.5537e-01f, 2.1978e-01f, +-1.8610e-01f, -5.7743e-03f, 3.2649e-02f, + 1.9975e-01f, 1.6508e-01f, 1.3808e-02f, + 1.0733e-01f, 1.4722e-01f, 5.8671e-02f, + 6.4940e-02f, 1.6114e-01f, 3.9697e-02f, + 1.1530e-01f, 2.4021e-01f, -2.1669e-01f, + 6.0220e-02f, 2.0257e-01f, -1.5227e-01f, +-6.1096e-02f, 6.6511e-02f, -1.3858e-01f, +-6.5275e-02f, 1.0891e-01f, 8.2048e-02f, +-6.7907e-02f, 2.2863e-02f, -1.0322e-01f, + 1.6542e-01f, -1.4436e-01f, 6.4125e-02f, +-1.0378e-01f, -3.2346e-01f, -1.5123e-02f, + 3.8758e-03f, 1.1006e-01f, -4.4325e-02f, +-1.0102e-01f, -3.7699e-02f, 9.2472e-02f, +-6.8972e-02f, -1.2308e-02f, 1.6478e-01f, + 3.4351e-02f, -1.7461e-02f, 1.0301e-01f, +-2.7125e-01f, -5.6730e-02f, -2.5989e-01f, +-3.0163e-01f, -1.4826e-01f, -3.4955e-01f, +-1.6259e-01f, -1.6708e-01f, -2.7964e-01f, +-6.7134e-02f, -2.2385e-01f, 2.1776e-01f, +-1.1351e-02f, -3.7861e-01f, 1.8687e-01f, + 4.0551e-02f, 8.1943e-02f, 1.0866e-01f, + 1.0273e-01f, 1.1844e-01f, -1.1852e-01f, + 2.6758e-02f, -8.5806e-02f, 5.9444e-02f, +-5.1627e-02f, 7.1636e-02f, 2.2841e-01f, +-3.7242e-03f, 2.9723e-01f, 1.1918e-01f, + 8.4994e-02f, -3.5747e-01f, 3.6148e-02f, + 9.9705e-02f, -1.3736e-01f, -6.0080e-02f, + 1.2370e-01f, 5.0668e-02f, -6.0246e-02f, + 6.0562e-02f, -3.5068e-01f, -3.2645e-01f, + 9.1020e-04f, 6.6203e-02f, -1.0770e-01f, + 1.9434e-02f, 3.0018e-01f, 2.8018e-01f, + 1.4021e-01f, 2.7481e-01f, 2.2868e-01f, + 4.8540e-02f, 1.7719e-01f, -4.5834e-02f, +-9.6349e-02f, -2.3008e-02f, -1.4497e-01f, + 4.3053e-02f, -1.0161e-01f, 2.8750e-02f, +-1.2594e-01f, -1.0388e-02f, -4.3966e-02f, + 7.5993e-02f, -7.1609e-02f, 1.4624e-02f, + 4.1110e-02f, 7.1258e-02f, -2.9109e-02f, +-5.8698e-03f, 1.2389e-01f, 4.7648e-02f, +-6.1585e-04f, -4.4556e-02f, -2.3373e-02f, +-4.4883e-02f, -7.7722e-02f, -7.3635e-02f, +-2.7750e-02f, -1.5117e-03f, -8.7368e-02f, + 2.5113e-02f, 7.7490e-02f, 2.9024e-02f, + 1.5426e-01f, 2.5472e-01f, 4.8057e-02f, +-1.1969e-01f, -1.1487e-01f, -1.1802e-01f, +-4.7392e-02f, -4.2226e-02f, 3.1968e-02f, +-2.6717e-01f, -5.0206e-02f, 8.1946e-04f, +-4.0426e-02f, 1.4373e-01f, -3.3121e-03f, +-4.5292e-02f, -2.4538e-02f, 1.0377e-01f, +-1.7780e-02f, 2.0058e-01f, -2.4343e-02f, +-1.1714e-02f, 1.5984e-01f, -1.2638e-01f, + 6.4655e-02f, 3.7703e-02f, 3.7970e-02f, + 9.1864e-03f, 1.1468e-01f, -6.2760e-04f, +-1.4812e-01f, 6.5670e-03f, 1.0765e-01f, + 1.5023e-01f, -7.0594e-02f, -1.3924e-01f, + 3.6016e-02f, -3.9078e-02f, -3.8950e-02f, + 1.8735e-02f, -1.5573e-01f, -1.2456e-01f +} +, +{ + 4.8634e-02f, -1.3617e-01f, 6.1231e-02f, +-7.0235e-02f, -6.4110e-01f, 1.5985e-01f, + 8.6151e-02f, 1.1847e-01f, 1.3819e-01f, +-3.6017e-04f, -3.2273e-02f, -8.5485e-02f, +-7.0804e-03f, 2.1751e-01f, 7.2575e-03f, +-8.3606e-02f, -1.4885e-01f, -1.2702e-01f, + 4.0848e-41f, 8.0934e-40f, -1.8889e-40f, +-3.9103e-40f, -7.4709e-40f, 3.8377e-40f, +-2.4159e-40f, -4.7610e-40f, 7.7359e-40f, +-8.6217e-05f, -5.9763e-05f, -4.0558e-05f, +-7.4966e-05f, -4.7074e-05f, -3.1656e-05f, +-9.8390e-05f, -6.6833e-05f, -4.7669e-05f, + 3.5375e-02f, 2.8660e-02f, 4.1277e-02f, + 1.6289e-01f, -3.2199e-01f, -1.7845e-02f, + 2.4659e-01f, -3.9618e-02f, 4.1065e-03f, + 2.7267e-02f, 8.6819e-02f, 9.5070e-02f, +-7.2700e-02f, -2.8826e-01f, 1.1750e-03f, + 2.5259e-02f, 2.4681e-03f, 6.4737e-02f, + 7.3023e-03f, 2.9631e-02f, 1.0820e-02f, +-2.1400e-02f, 5.4244e-01f, 1.5639e-01f, +-1.7561e-01f, 4.8947e-01f, -8.8305e-02f, + 6.5073e-02f, 3.4922e-01f, 1.3483e-01f, + 1.4506e-01f, -2.5472e-01f, -7.2894e-02f, + 4.5945e-02f, 1.4040e-01f, 1.2148e-01f, +-2.6932e-01f, -1.1518e-01f, -9.3158e-03f, +-2.3961e-01f, -1.2479e-01f, -8.9796e-02f, + 1.8688e-02f, -4.9267e-02f, 7.7189e-02f, +-7.3691e-02f, 7.8186e-03f, 1.3761e-02f, +-1.5689e-01f, 3.1138e-02f, 3.9231e-02f, +-4.3607e-03f, 2.0813e-01f, 5.5635e-02f, +-6.7000e-41f, 9.8995e-41f, 3.0043e-40f, + 6.7190e-40f, 4.0827e-40f, 7.6057e-40f, + 4.2208e-40f, 8.1141e-40f, -3.3569e-40f, + 1.0179e-03f, 5.1543e-04f, 3.8076e-04f, + 7.3507e-04f, 4.5432e-04f, 3.7410e-04f, + 9.3014e-04f, 6.7365e-04f, 6.0051e-04f, +-5.1998e-02f, 6.5768e-02f, 3.1603e-02f, +-3.0198e-02f, -3.1692e-02f, -6.9299e-02f, + 1.7672e-02f, 2.3766e-01f, 5.7877e-02f, +-5.7944e-02f, 1.2624e-01f, -1.4396e-01f, +-4.1542e-02f, 6.5110e-01f, 1.0942e-01f, +-1.3133e-01f, 5.0538e-02f, -2.7371e-02f, +-3.7515e-02f, 2.8703e-02f, 1.2382e-03f, + 3.8542e-01f, -2.2754e-02f, 3.4459e-02f, + 3.0545e-01f, -5.3817e-01f, -2.1389e-03f, + 1.3888e-02f, -2.2775e-01f, -6.3692e-02f, +-1.8430e-01f, 5.8452e-02f, 4.5764e-02f, +-8.5045e-02f, -1.7060e-01f, -1.8565e-02f, +-2.0384e-02f, -3.3018e-02f, -5.1135e-02f, +-4.5789e-02f, -1.8105e-01f, 3.5419e-02f, +-5.0081e-02f, 8.7719e-02f, 1.0373e-01f, +-1.0033e-02f, 7.0530e-02f, -7.8012e-03f, + 8.4042e-02f, 1.1982e-01f, -9.6046e-02f, +-6.4009e-02f, -1.0711e-01f, -1.3523e-01f, + 1.8868e-41f, -7.0039e-40f, -7.2568e-40f, + 1.7408e-40f, -7.8143e-40f, -6.8130e-40f, +-6.3142e-40f, -6.2560e-40f, -7.4238e-40f, + 2.6297e-04f, 7.0014e-05f, -4.0981e-04f, + 2.6263e-04f, 4.2811e-05f, -4.9950e-04f, + 3.9795e-04f, 1.2615e-04f, -4.7660e-04f, + 7.5933e-02f, 2.6295e-02f, 2.7984e-02f, +-5.5914e-03f, -8.7981e-02f, -9.2618e-02f, + 4.2725e-02f, -3.1210e-01f, 1.3412e-01f, + 5.2683e-02f, 3.9891e-01f, 2.9150e-02f, +-6.6090e-02f, 2.9455e-01f, -1.9710e-01f, + 1.4546e-02f, -2.5572e-02f, 8.1125e-02f, + 1.2271e-01f, 1.6097e-01f, 4.5644e-02f, + 3.6101e-02f, -1.7174e-02f, 6.6110e-02f, + 1.5078e-01f, 4.5180e-01f, 7.7154e-02f, +-5.9725e-02f, 1.0185e-01f, 1.1363e-03f, + 6.7791e-02f, 1.7696e-02f, 5.2638e-02f, + 3.3051e-02f, -8.4049e-02f, 1.4380e-01f, + 1.8744e-02f, -2.0940e-01f, -2.1424e-01f, +-2.1329e-01f, -1.3154e-01f, -3.2572e-01f, + 1.1292e-01f, 1.2361e-02f, -1.5506e-01f, +-1.0362e-02f, 1.9955e-02f, 4.2639e-02f, +-2.1952e-02f, -2.4682e-02f, -2.4453e-02f, +-2.5606e-02f, -3.3580e-02f, -3.6340e-02f, +-5.0830e-40f, 6.3797e-40f, -5.2775e-40f, +-7.7988e-40f, -7.4579e-40f, -5.1901e-40f, +-3.8275e-41f, -5.7607e-40f, -1.3656e-40f, + 2.7164e-04f, 5.9977e-04f, 8.6886e-04f, + 3.0116e-04f, 7.0106e-04f, 1.0248e-03f, + 2.9177e-04f, 6.4748e-04f, 9.4825e-04f, + 6.6310e-02f, 1.5240e-02f, -5.3044e-02f, + 1.2545e-01f, 5.0582e-02f, 2.7358e-02f, + 1.9338e-01f, 1.1377e-01f, 4.6110e-02f, +-3.1997e-02f, 1.5171e-02f, -4.9372e-02f, + 5.4615e-04f, 1.7262e-01f, -2.2081e-01f, + 8.4871e-02f, 1.7824e-02f, -3.6429e-02f, + 4.2821e-02f, -1.0055e-01f, 4.8927e-02f, + 1.2524e-01f, 5.8859e-02f, -2.0980e-02f, + 2.2897e-01f, 1.7594e-01f, 3.4239e-02f, + 1.0915e-01f, 1.2088e-01f, 1.0151e-01f, + 6.8449e-03f, -1.5546e-01f, 1.2024e-01f, + 4.9036e-02f, -1.2245e-01f, 4.6713e-02f, + 7.5083e-03f, -4.8084e-02f, 9.7731e-03f, + 4.8779e-02f, 3.1848e-02f, -9.3517e-02f, + 6.4595e-02f, 3.9337e-02f, -7.2343e-02f, + 3.9519e-02f, 4.1867e-02f, -5.0485e-02f, + 2.5257e-02f, 1.4071e-01f, 1.3606e-01f, + 1.7481e-01f, 2.0210e-01f, 1.7241e-01f, +-7.6295e-40f, -7.8460e-40f, -4.1806e-41f, +-7.9994e-40f, -7.3271e-40f, -6.2665e-40f, +-7.9602e-40f, -7.0226e-40f, -7.4131e-40f, +-4.5544e-04f, -5.2379e-04f, -7.0755e-04f, +-3.3807e-04f, -3.8123e-04f, -5.3222e-04f, +-3.1771e-04f, -3.4586e-04f, -4.8784e-04f, +-3.5257e-02f, -1.1866e-02f, 1.9717e-02f, +-6.0777e-02f, -7.3127e-03f, -3.2825e-02f, +-1.4952e-01f, 3.2117e-01f, -6.3786e-02f, +-1.0255e-02f, 1.2961e-01f, -8.6823e-02f, + 1.6994e-01f, 4.7491e-01f, 2.7135e-01f, + 2.8538e-03f, 1.5572e-01f, -3.3736e-02f, + 8.5996e-02f, -1.0176e-02f, 2.6629e-02f, + 7.3362e-02f, -7.7525e-03f, 5.6261e-02f, + 1.0819e-01f, -2.5863e-01f, -5.7146e-03f, +-7.1781e-02f, 2.8376e-03f, 7.8298e-02f, + 1.3183e-01f, 2.7149e-02f, -9.9786e-02f, + 9.0491e-02f, 8.7938e-02f, -2.1882e-02f, + 4.1396e-03f, -4.5816e-02f, -7.8892e-02f, +-6.3855e-03f, 1.7502e-01f, 1.2053e-01f, + 1.2492e-01f, 6.1258e-02f, -4.0516e-02f, +-4.5409e-02f, -4.5877e-02f, -7.6414e-02f, +-1.0573e-02f, -1.2517e-01f, -4.3991e-02f, +-2.6447e-02f, -9.5478e-02f, -2.4735e-02f, +-4.6548e-41f, -1.6443e-40f, -3.1221e-40f, +-3.2675e-40f, -2.7265e-40f, -3.1190e-40f, +-2.2065e-40f, -2.5407e-40f, -6.9511e-40f, +-1.2727e-04f, -2.6585e-04f, -3.5516e-04f, + 3.4272e-05f, -1.6810e-04f, -3.1677e-04f, +-5.5355e-05f, -2.9924e-04f, -4.3692e-04f, +-5.6428e-02f, 1.0771e-01f, 1.0185e-01f, + 2.2948e-01f, -7.8744e-02f, 6.0768e-04f, +-2.2355e-03f, -2.0128e-03f, -5.7317e-03f, +-7.1232e-03f, 1.0297e-01f, 1.6872e-01f, + 1.9194e-01f, -1.1578e-01f, 1.0732e-01f, +-8.6952e-02f, 3.2901e-02f, -6.6658e-03f, + 7.3979e-02f, 8.3875e-02f, -7.6372e-03f, + 1.9577e-01f, 2.7391e-01f, 4.5275e-02f, + 1.5610e-01f, 2.3802e-01f, 1.6555e-02f, + 1.3814e-01f, 1.2870e-01f, 9.1626e-02f, +-4.6890e-02f, -8.8734e-02f, 7.8866e-02f, + 1.0027e-01f, 2.2139e-01f, 1.0050e-01f, +-6.5845e-02f, -1.0990e-01f, -6.9896e-02f, + 4.1687e-02f, 3.0631e-02f, -8.8441e-02f, +-1.1868e-01f, 1.0836e-02f, 2.5873e-02f, +-1.7114e-02f, 7.6295e-02f, 1.5439e-02f, +-2.4271e-02f, 5.8538e-02f, 9.8190e-02f, + 4.9742e-02f, 8.7807e-02f, 6.5871e-02f, +-7.2669e-40f, -7.5936e-41f, -7.4975e-40f, +-1.6984e-42f, -1.7334e-40f, -8.4954e-41f, +-2.1556e-41f, -1.5374e-40f, -1.5515e-40f, +-6.2626e-04f, -7.2727e-04f, -8.1665e-04f, +-5.6584e-04f, -6.1190e-04f, -6.9584e-04f, +-5.6278e-04f, -5.8554e-04f, -6.3554e-04f, + 8.1550e-02f, -4.1817e-03f, 1.2301e-02f, +-4.5800e-02f, 4.6708e-02f, -8.7972e-02f, +-2.9880e-01f, 2.6456e-01f, 3.9363e-03f, +-3.0939e-02f, -1.9921e-01f, -3.8689e-03f, +-8.6803e-02f, 3.4857e-01f, -1.0201e-01f, + 2.1597e-02f, 1.4380e-02f, 4.3448e-02f, + 7.1195e-02f, 1.4980e-01f, 3.8079e-02f, +-1.2678e-01f, -8.1274e-02f, -4.3445e-02f, + 5.2482e-02f, -1.8763e-01f, 1.1557e-01f, +-9.4614e-02f, 5.4415e-02f, -3.1485e-02f, +-3.6451e-02f, 1.4379e-01f, 5.2291e-02f, +-9.2069e-02f, 9.5675e-02f, -5.8433e-02f, + 7.5768e-03f, -7.1280e-02f, -1.4576e-01f, +-1.4671e-01f, -1.2446e-01f, -1.5207e-01f, +-5.4368e-02f, 3.8303e-02f, -8.1794e-02f, + 2.0492e-02f, 4.0910e-02f, 1.1379e-02f, + 3.1582e-02f, 3.6039e-02f, -4.4040e-03f, + 1.7540e-02f, 1.4097e-04f, -6.4367e-02f, +-7.9553e-40f, -5.3941e-40f, -7.1912e-40f, +-5.8099e-40f, -6.8315e-40f, -6.6012e-40f, +-7.6242e-40f, -5.4784e-40f, -7.0267e-40f, +-2.9197e-04f, -2.1994e-04f, -1.9501e-04f, +-2.6516e-05f, -1.2642e-05f, -8.4345e-05f, + 1.6763e-04f, 1.1268e-04f, -5.4516e-05f, +-3.8007e-03f, -6.8765e-02f, -9.5716e-02f, + 6.3091e-02f, -8.1971e-02f, -9.2895e-02f, +-6.8353e-03f, 7.3639e-02f, 1.3505e-01f, + 9.0083e-02f, 2.4352e-01f, 3.9708e-02f, +-5.4051e-02f, -6.8748e-02f, -1.8937e-01f, +-1.9808e-03f, -7.1337e-02f, -2.8316e-02f, + 8.1504e-02f, 8.3226e-03f, 6.9013e-03f, + 9.4393e-02f, 5.9322e-02f, 5.5023e-02f, + 1.0236e-01f, -4.0205e-02f, 3.5172e-02f, + 6.5381e-02f, 4.9075e-02f, -5.3931e-02f, + 4.3961e-02f, 9.0223e-03f, -4.1678e-02f, +-6.4262e-02f, -5.0304e-02f, -9.3597e-02f +} +, +{ + 3.8496e-01f, 1.4287e-01f, 3.4530e-02f, +-5.5398e-01f, -6.0381e-02f, 1.2078e-02f, + 7.9983e-02f, 2.1478e-01f, -5.7915e-02f, +-1.4020e-01f, -2.6914e-02f, 1.5915e-02f, + 1.2371e-01f, 2.5496e-01f, -2.9867e-02f, + 1.3269e-02f, -9.9596e-02f, -2.3173e-01f, + 5.1471e-02f, -4.5507e-01f, -7.7620e-02f, +-5.1328e-02f, -1.9808e-02f, -4.7051e-02f, + 3.0573e-02f, 7.8762e-02f, -7.2627e-02f, + 6.8690e-02f, -4.0125e-02f, 5.6657e-02f, + 8.0208e-02f, -2.0075e-02f, 1.4019e-01f, +-5.7959e-02f, -7.3152e-02f, 2.0202e-02f, +-8.8702e-02f, -1.9911e-01f, -1.5570e-01f, + 2.8401e-02f, 5.8802e-02f, 1.3050e-01f, + 2.1905e-02f, -3.4298e-02f, 4.0447e-02f, + 1.0184e-01f, -9.0101e-02f, -9.2770e-02f, + 1.1713e-02f, -3.2514e-01f, 1.9393e-01f, +-9.4227e-02f, 2.7053e-01f, -9.7233e-02f, +-1.0478e-01f, 6.0652e-02f, 8.3399e-02f, + 1.1104e-01f, 2.9008e-01f, 4.9208e-02f, +-1.5414e-02f, 3.1718e-02f, -7.9083e-02f, +-5.2358e-03f, 9.0101e-02f, 5.2973e-02f, + 5.5527e-02f, -1.6599e-02f, -8.5167e-02f, +-5.1018e-02f, 7.2243e-03f, -9.5684e-02f, +-5.0608e-02f, -6.7864e-02f, -8.9496e-02f, +-2.4348e-01f, 2.7477e-01f, -1.7588e-01f, + 1.3927e-01f, 5.5502e-02f, -1.3370e-02f, +-4.3509e-02f, -2.1511e-01f, -5.9070e-02f, + 1.0293e-01f, 4.2678e-01f, -8.7527e-02f, +-6.8546e-02f, -5.6296e-02f, -8.7962e-02f, +-8.6130e-02f, 9.2069e-02f, 7.2303e-02f, + 2.4365e-02f, 2.1988e-01f, -7.9408e-03f, +-3.0063e-02f, 1.1554e-01f, -5.0311e-02f, + 1.0605e-02f, 5.4598e-02f, 1.3826e-02f, +-1.4342e-02f, 1.5353e-01f, -5.3974e-03f, + 1.5583e-01f, -6.0889e-02f, -1.5772e-02f, +-2.5956e-02f, -3.5285e-01f, -2.0338e-01f, + 2.6011e-01f, 2.2737e-01f, -1.4693e-01f, +-7.7964e-02f, 1.0053e-01f, -5.4278e-02f, +-3.0668e-02f, 3.4556e-02f, -3.4321e-02f, + 7.8695e-02f, -2.2357e-01f, 9.5733e-02f, + 1.7483e-01f, -1.5153e-01f, -1.8262e-03f, + 4.7605e-02f, -2.2834e-01f, 4.6383e-02f, + 1.5701e-01f, 3.2264e-01f, 1.0334e-02f, + 6.3351e-02f, 1.1340e-01f, 8.3478e-02f, + 6.4196e-02f, 3.3460e-02f, 8.8473e-02f, + 5.4663e-02f, -1.7665e-03f, -4.1935e-02f, +-6.1346e-03f, -5.4463e-02f, -6.2960e-02f, + 2.8159e-02f, 2.9903e-02f, 9.2429e-03f, +-3.0041e-02f, -9.7783e-02f, -4.9500e-02f, + 9.5350e-02f, -7.9143e-02f, -1.3244e-01f, +-6.5129e-02f, 1.4568e-01f, 6.6843e-02f, + 1.5241e-01f, -7.8736e-02f, 1.0721e-01f, +-5.9015e-02f, 1.5320e-01f, 3.0796e-01f, +-5.4266e-03f, -6.0804e-02f, 3.7326e-02f, + 7.4844e-02f, 4.8340e-02f, 1.5251e-01f, + 3.8158e-02f, 1.2087e-01f, -8.9003e-02f, +-5.8369e-02f, -7.3813e-02f, 1.2240e-02f, +-4.5106e-03f, 7.4580e-02f, 1.2042e-01f, + 4.1959e-02f, 1.4529e-01f, 5.3636e-03f, +-4.9708e-03f, -1.0775e-02f, -5.9374e-02f, + 1.5358e-02f, 1.7277e-02f, -1.5412e-01f, + 8.1647e-02f, 3.3503e-02f, -8.1934e-02f, +-1.5807e-02f, -1.0001e-02f, -1.0059e-02f, +-9.0493e-03f, -7.8954e-02f, 4.3891e-02f, +-9.3815e-03f, 3.2241e-02f, 4.7962e-02f, +-7.2252e-03f, 7.9324e-02f, 2.0662e-02f, +-5.7710e-02f, -5.1142e-02f, -1.4296e-01f, + 2.1501e-02f, -1.9518e-02f, -2.7658e-02f, + 1.4983e-01f, 8.5447e-02f, 7.2092e-04f, + 1.1275e-01f, 6.1131e-02f, 5.7955e-02f, + 1.5624e-02f, 2.7225e-01f, 1.1716e-01f, +-1.6322e-04f, -1.3368e-04f, -1.5575e-04f, +-1.0525e-04f, -1.0765e-04f, -1.5306e-04f, +-8.9692e-05f, -1.0857e-04f, -1.7316e-04f, +-1.8015e-03f, -1.3733e-03f, -3.9154e-04f, +-1.8453e-03f, -1.4238e-03f, -4.4163e-04f, +-1.5511e-03f, -1.1131e-03f, -2.0087e-04f, +-2.4082e-03f, -2.2576e-03f, -1.9231e-03f, +-2.4913e-03f, -2.4136e-03f, -2.1678e-03f, +-2.5057e-03f, -2.4650e-03f, -2.2732e-03f, +-2.3901e-05f, -1.5870e-05f, -5.8255e-06f, +-1.5163e-05f, -1.2370e-05f, -6.0712e-06f, +-1.3098e-05f, -1.1132e-05f, -5.7866e-06f, +-5.9760e-03f, -5.9998e-03f, -6.0295e-03f, +-5.9962e-03f, -6.0100e-03f, -6.0277e-03f, +-6.0003e-03f, -6.0059e-03f, -6.0148e-03f, +-3.2764e-05f, -2.9574e-05f, -2.8001e-05f, +-1.0846e-05f, -1.1569e-05f, -1.4282e-05f, +-1.6255e-06f, -2.5666e-06f, -4.7808e-06f, +-5.1999e-03f, -5.2334e-03f, -5.2847e-03f, +-5.2057e-03f, -5.2283e-03f, -5.2713e-03f, +-5.2195e-03f, -5.2321e-03f, -5.2633e-03f, +-3.0782e-06f, -9.2118e-06f, -1.6177e-05f, +-1.6382e-06f, -6.9559e-06f, -1.4245e-05f, +-1.1471e-06f, -6.5984e-06f, -1.4903e-05f, + 7.7574e-02f, -1.2866e-02f, 4.1348e-03f, +-6.7298e-02f, -1.3691e-01f, 6.4079e-02f, + 3.7962e-02f, 8.7737e-02f, -4.1046e-02f, +-2.8471e-02f, 1.7647e-01f, 6.4232e-02f, + 1.2316e-01f, 3.6800e-01f, -1.5740e-01f, +-6.0839e-02f, 1.5449e-02f, -1.0761e-01f, +-6.6869e-02f, -1.2867e-01f, -4.0195e-02f, +-4.9651e-02f, -5.5500e-02f, -2.5879e-02f, + 2.0179e-02f, 6.8467e-02f, 2.6575e-02f, +-6.7728e-04f, -7.6269e-02f, 2.3470e-02f, + 7.1869e-02f, -1.1855e-01f, -2.1067e-02f, + 1.3263e-01f, -3.2957e-02f, -3.4365e-03f, + 8.1936e-02f, 1.3073e-01f, 1.1477e-01f, + 1.2429e-01f, 1.6129e-01f, 1.6251e-01f, + 1.5476e-02f, 3.2862e-02f, 2.1999e-02f, +-2.9189e-02f, -3.3615e-02f, 5.5616e-04f, +-2.4059e-02f, -9.6181e-03f, -4.1175e-02f, +-6.3680e-04f, -9.6559e-02f, -9.1448e-02f, + 3.0238e-02f, 1.2534e-01f, 1.5256e-02f, +-4.2118e-02f, 1.5723e-01f, 2.6929e-03f, + 1.9873e-02f, 5.3050e-02f, -1.0153e-03f, + 2.0634e-02f, 9.2825e-03f, -6.8027e-03f, + 3.1335e-03f, -7.7443e-03f, -1.8307e-02f, + 7.9974e-03f, -1.0283e-03f, -6.2520e-03f, + 4.5050e-02f, 9.9504e-02f, -1.3404e-01f, +-6.7271e-01f, -5.7290e-02f, 2.6919e-02f, + 2.3673e-01f, 2.4688e-02f, -2.0227e-02f, + 5.1389e-02f, -3.9810e-02f, -8.9700e-02f, + 2.8445e-02f, 3.9136e-01f, -1.1508e-01f, +-1.0449e-01f, -6.2005e-02f, 6.5721e-02f, +-1.9123e-01f, -4.2613e-02f, 3.5371e-02f, + 1.9207e-01f, 8.7916e-02f, 4.8089e-02f, +-5.7912e-02f, 1.0014e-01f, -9.4659e-02f, + 1.1240e-02f, -6.2254e-03f, 1.3399e-01f, + 1.6483e-01f, -3.5079e-01f, 1.1612e-02f, + 2.9215e-01f, 5.6875e-02f, 6.9505e-02f, + 1.3721e-02f, 1.2607e-01f, 2.6426e-02f, +-2.0529e-01f, 2.1768e-01f, 2.1232e-01f, +-6.3574e-02f, 2.3504e-02f, -1.0811e-01f, +-1.3470e-02f, -3.6446e-02f, -5.4379e-02f, +-1.3257e-01f, -8.3412e-02f, 3.7745e-02f, + 5.8778e-02f, -2.6060e-01f, 3.8262e-02f, +-4.3689e-03f, -6.6703e-02f, -2.2025e-01f, +-9.0961e-02f, 1.3855e-01f, 3.4573e-04f, +-2.9613e-01f, -3.6138e-02f, -1.3827e-01f, + 4.5896e-02f, -5.3871e-02f, -1.0037e-01f, + 1.8457e-01f, 1.0338e-01f, -5.7306e-02f, + 5.5510e-02f, -9.4938e-02f, -5.6527e-05f, + 1.6372e-01f, -3.3854e-02f, 5.6332e-02f, +-4.0251e-01f, -5.9428e-02f, -9.1470e-02f, +-1.5921e-02f, -5.7948e-02f, 8.1682e-03f, +-3.7833e-03f, 1.6293e-01f, 5.3784e-02f, + 1.1053e-01f, -1.3867e-01f, 2.6772e-02f, +-1.3133e-02f, 3.7614e-01f, 3.6361e-03f, +-1.4205e-01f, 3.1312e-02f, -9.9928e-02f, +-1.5755e-01f, 4.2016e-01f, 9.4065e-02f, + 2.7536e-02f, 1.2620e-01f, -1.4894e-01f, +-4.2137e-02f, -9.8700e-02f, -1.7479e-01f, + 4.5836e-02f, 5.3893e-02f, -1.0138e-01f, + 8.3609e-02f, 2.1849e-02f, -1.0648e-01f, + 7.4801e-02f, -1.2671e-01f, -1.5007e-02f, + 2.7440e-01f, -3.1351e-01f, 6.5787e-02f, +-6.7820e-02f, 1.6312e-01f, -1.3254e-02f, +-2.5770e-02f, -2.0041e-02f, 5.8243e-02f, + 1.6055e-02f, 1.1971e-02f, -4.6112e-02f, +-1.6276e-01f, -1.5313e-02f, -7.9826e-03f, + 9.1668e-02f, 9.7722e-02f, 1.3754e-01f, +-7.4817e-02f, -4.1923e-01f, -1.2337e-01f, + 1.3472e-01f, -4.0745e-02f, -5.4055e-02f, +-1.2943e-02f, 4.8796e-02f, 4.2007e-02f, + 9.4668e-02f, 8.6149e-02f, 1.2362e-01f, + 7.0637e-02f, 2.3565e-01f, 1.4582e-01f, + 5.6904e-02f, -8.2166e-02f, 1.0563e-01f, + 9.3969e-02f, -2.2909e-01f, 4.6537e-02f, + 6.5257e-02f, 1.4804e-01f, -6.2092e-02f, +-1.5699e-02f, -1.5303e-02f, 1.6671e-01f, +-6.1947e-03f, 2.5749e-01f, 1.5257e-01f, + 3.2908e-02f, -5.9907e-02f, 1.1502e-01f, + 7.5876e-02f, -2.6699e-01f, -1.5891e-02f, +-8.0426e-02f, 1.3406e-01f, -1.9881e-02f, + 3.5472e-02f, -8.2140e-02f, 1.6509e-02f, + 8.3390e-03f, -7.8291e-02f, -2.0754e-01f, + 3.4490e-02f, 2.7913e-01f, 5.9566e-02f, + 2.5288e-02f, 1.1725e-01f, -1.0356e-01f, +-5.0955e-02f, 9.2093e-02f, -5.8477e-02f, + 4.4325e-02f, 3.2973e-02f, -1.9477e-01f, + 3.9582e-02f, -8.6877e-02f, -1.1753e-01f, + 3.0401e-02f, -2.8757e-02f, -2.5563e-02f, + 5.0741e-02f, -3.5056e-01f, -2.5584e-01f, + 9.1709e-02f, -4.0932e-02f, 2.3812e-01f, + 5.0945e-02f, 4.9246e-02f, 1.2738e-01f, + 5.1440e-03f, 1.5703e-01f, 5.5743e-02f, +-3.9492e-02f, 1.2114e-01f, 2.0531e-02f, + 8.0800e-02f, 2.6680e-03f, -1.6660e-02f, + 1.0684e-01f, 1.2308e-01f, 1.7882e-02f, + 1.8280e-02f, 1.0972e-01f, -5.2912e-03f +} +, +{ +-1.3812e-02f, -4.6271e-02f, 7.3790e-02f, +-6.3801e-02f, -3.6817e-01f, -1.7880e-02f, + 5.2986e-02f, 1.8626e-01f, 1.5645e-03f, + 1.2367e-02f, -6.2923e-02f, 3.0844e-02f, + 9.3623e-02f, 1.9527e-01f, -2.6366e-02f, +-2.0837e-02f, -3.4424e-02f, 4.0256e-02f, + 4.1482e-02f, 6.1795e-02f, -1.1293e-02f, +-8.9944e-02f, -1.3608e-01f, 1.8067e-02f, + 3.6974e-02f, 5.2530e-03f, -2.7474e-02f, + 1.1872e-05f, 1.9000e-05f, 2.0729e-05f, + 1.0139e-05f, 1.6832e-05f, 1.9392e-05f, + 6.5445e-06f, 1.0973e-05f, 1.3521e-05f, +-5.3340e-02f, 1.3108e-03f, 4.0436e-02f, + 5.7068e-02f, -2.7923e-02f, -5.4781e-02f, +-2.9293e-02f, 2.7145e-02f, 2.7340e-02f, + 5.3520e-03f, 1.8766e-02f, 4.0297e-01f, + 2.6473e-02f, -3.4675e-02f, -1.1783e-01f, +-2.5038e-02f, -1.7702e-02f, -3.4908e-02f, + 1.4847e-02f, 2.3237e-01f, -6.3687e-02f, +-6.5672e-02f, -2.1888e-01f, -1.7233e-02f, + 4.0608e-02f, -6.9580e-02f, -2.2200e-02f, + 5.8163e-02f, 1.3695e-01f, -2.6257e-02f, +-1.3328e-01f, -3.5730e-01f, 2.4507e-02f, +-4.5611e-03f, 2.0424e-01f, -3.9821e-02f, + 5.5300e-02f, -1.6006e-01f, 1.1717e-01f, +-2.6107e-02f, -8.6995e-02f, 8.3720e-02f, + 7.5494e-02f, 3.2189e-01f, 1.5527e-01f, +-6.6869e-02f, 1.4469e-01f, 5.1805e-02f, + 9.8760e-02f, -1.6759e-01f, -1.2350e-01f, + 5.7005e-02f, 8.4904e-02f, 8.9713e-02f, +-1.4263e-02f, 2.8914e-02f, 3.2239e-02f, +-2.4871e-02f, 5.6014e-02f, -4.4469e-02f, + 3.1209e-02f, 1.3677e-02f, -2.1052e-02f, +-1.6548e-03f, -1.8796e-03f, -1.9883e-03f, +-1.6186e-03f, -1.8494e-03f, -1.9670e-03f, +-1.5841e-03f, -1.8173e-03f, -1.9345e-03f, + 3.5726e-02f, 1.8013e-01f, 1.6913e-02f, +-1.2168e-01f, -6.3848e-02f, 3.0555e-02f, + 3.0269e-02f, -1.0260e-01f, -1.5259e-02f, +-4.7375e-03f, 5.5115e-02f, 6.2642e-01f, + 9.9776e-03f, -2.1988e-01f, -2.0984e-01f, + 7.0470e-03f, 6.3178e-02f, -1.3607e-02f, + 1.1918e-01f, -2.4081e-01f, 1.7889e-01f, +-1.0514e-01f, 2.9220e-01f, -1.3263e-01f, + 5.6091e-03f, -4.1623e-02f, 2.5589e-02f, +-1.8496e-01f, 2.7698e-02f, -6.5768e-02f, + 2.9677e-01f, 4.4163e-02f, 5.8530e-02f, +-1.1010e-01f, -7.6787e-02f, 3.9844e-02f, + 5.2113e-03f, -1.8202e-02f, 1.4129e-03f, +-6.1402e-03f, -2.7222e-01f, 7.4690e-02f, + 1.9131e-02f, 2.2753e-01f, 1.9587e-02f, +-2.7391e-02f, 6.7917e-03f, 2.0496e-03f, + 6.7333e-02f, 7.8262e-02f, 2.1110e-03f, +-5.4519e-02f, 3.0763e-02f, 1.5628e-02f, + 9.5055e-02f, 3.8855e-02f, 1.2446e-02f, +-1.5152e-01f, 7.8124e-02f, -1.2616e-02f, + 9.3100e-03f, -1.6528e-02f, -1.2873e-02f, +-1.8377e-03f, -1.9231e-03f, -1.8930e-03f, +-1.8058e-03f, -1.8841e-03f, -1.8678e-03f, +-1.7387e-03f, -1.7966e-03f, -1.7781e-03f, +-4.5122e-02f, 1.7027e-03f, -3.5534e-03f, + 8.5222e-03f, 1.0130e-01f, 4.7893e-02f, + 6.5574e-02f, 7.2150e-03f, -2.1820e-03f, +-5.5105e-03f, -1.8990e-01f, 2.6527e-02f, + 6.6140e-03f, 2.1537e-01f, -2.2183e-02f, +-8.0628e-03f, 6.8398e-03f, 9.4474e-03f, + 1.2239e-01f, -1.3337e-01f, 7.3391e-02f, +-1.2205e-01f, 1.3145e-01f, -2.0063e-02f, + 2.2168e-02f, 3.6097e-03f, 2.7146e-02f, + 4.6717e-02f, 2.1122e-02f, 1.5491e-02f, +-1.3077e-01f, 1.1635e-01f, 1.0849e-02f, + 8.0113e-02f, -8.4028e-02f, 1.2863e-03f, +-2.9796e-02f, -8.4537e-02f, -2.6766e-03f, +-7.7771e-03f, -2.4274e-03f, 8.6274e-02f, +-2.0354e-02f, 4.1245e-02f, 8.4227e-02f, + 5.5894e-02f, 1.0706e-01f, 5.2965e-02f, +-7.8731e-03f, 5.5825e-01f, 1.0373e-01f, +-1.1975e-01f, -2.0071e-02f, -2.5286e-02f, +-7.7477e-02f, 5.3589e-02f, -1.5710e-03f, +-1.2753e-01f, 2.5166e-01f, 8.2205e-03f, +-9.8349e-02f, -4.9539e-02f, -5.4941e-02f, +-4.9916e-03f, -4.9986e-03f, -5.0660e-03f, +-4.9770e-03f, -4.9840e-03f, -5.0543e-03f, +-4.9997e-03f, -5.0114e-03f, -5.0809e-03f, + 6.1819e-02f, 1.5061e-01f, 1.1984e-02f, + 1.2905e-01f, 2.5921e-01f, 1.4768e-01f, + 4.5548e-02f, 1.4902e-01f, -4.8961e-03f, +-1.3605e-02f, 8.2896e-02f, -4.1931e-01f, +-2.2657e-02f, 2.4768e-01f, 2.6528e-01f, +-1.1566e-02f, -8.7819e-03f, 4.3618e-02f, +-3.4332e-02f, -1.8392e-01f, 4.4471e-02f, +-3.7073e-02f, -5.4620e-02f, 1.0899e-01f, + 3.7891e-02f, 9.9487e-02f, 3.2383e-02f, +-6.3628e-02f, -5.0303e-03f, 5.4617e-02f, +-8.7802e-02f, 2.1977e-01f, -6.0249e-03f, + 6.3554e-02f, -5.4291e-02f, -2.6709e-02f, +-1.5505e-02f, -6.7104e-02f, 3.8607e-02f, +-1.1427e-01f, -3.2524e-01f, 4.0077e-02f, +-6.5144e-03f, 1.2313e-01f, -2.7924e-02f, + 1.4265e-02f, -3.8338e-02f, 8.6780e-02f, + 1.5341e-01f, 1.2174e-01f, -7.3160e-02f, + 2.6326e-04f, 7.3690e-02f, 5.2187e-02f, +-3.3114e-02f, -3.6588e-02f, 1.1635e-02f, +-3.3521e-02f, 1.0767e-01f, -8.9125e-03f, +-2.2431e-02f, -4.5655e-03f, 7.5531e-03f, + 6.7227e-04f, 7.2856e-04f, 7.3907e-04f, + 6.5335e-04f, 7.0702e-04f, 7.1233e-04f, + 6.1540e-04f, 6.7286e-04f, 6.7797e-04f, +-3.1496e-02f, 6.0514e-02f, 4.2013e-02f, +-2.8617e-02f, 1.4846e-02f, 4.0016e-03f, + 4.7006e-03f, -4.0017e-02f, -3.0411e-02f, +-9.6037e-03f, 8.8522e-02f, 9.8616e-02f, + 4.1297e-02f, -3.2645e-01f, -7.6144e-03f, +-1.0711e-02f, 3.9324e-02f, 4.0144e-02f, + 5.2899e-02f, -7.8668e-02f, -5.4798e-02f, +-2.0428e-01f, 5.7238e-02f, -3.6937e-02f, +-3.6103e-02f, -8.2683e-02f, -2.8101e-02f, + 8.2479e-02f, 5.7766e-02f, -1.2019e-01f, +-3.8373e-01f, 6.8272e-02f, -1.1758e-02f, + 5.1129e-02f, -2.7931e-01f, 4.5608e-02f, +-2.5151e-02f, -5.0816e-02f, 1.7231e-02f, +-3.6376e-02f, 1.5916e-01f, 2.9192e-02f, +-4.1947e-02f, 5.3183e-02f, -9.7289e-02f, + 4.6138e-02f, 7.0842e-02f, 1.6673e-02f, +-1.7243e-03f, 2.7203e-01f, 3.8262e-02f, +-1.4000e-01f, -7.3793e-02f, -2.0050e-02f, +-1.8750e-02f, -8.5319e-02f, -3.0858e-02f, +-5.9981e-02f, 1.2729e-01f, 1.4094e-02f, +-5.4088e-02f, -2.3694e-02f, -9.7485e-03f, +-4.7840e-03f, -4.8359e-03f, -4.8727e-03f, +-4.7882e-03f, -4.8380e-03f, -4.8755e-03f, +-4.7859e-03f, -4.8321e-03f, -4.8633e-03f, + 4.9511e-02f, 1.0935e-01f, -3.7430e-03f, + 1.1834e-01f, 7.7243e-02f, 4.3074e-02f, + 6.7446e-02f, 2.9734e-02f, -1.1276e-02f, +-2.0080e-02f, 1.3561e-01f, -1.3455e-01f, +-1.4505e-02f, 2.2100e-01f, 4.9635e-02f, +-1.0040e-02f, 3.4560e-02f, -7.4607e-03f, +-6.8873e-02f, -5.6221e-02f, 1.2255e-02f, +-2.9198e-02f, 7.1612e-02f, 2.9402e-02f, + 4.1036e-02f, 4.6417e-02f, 6.0284e-03f, +-6.5261e-02f, 2.1426e-03f, 2.4192e-02f, +-1.6073e-03f, -6.2222e-03f, -1.8295e-02f, + 2.4952e-04f, -2.0623e-02f, -3.3064e-03f, + 5.9188e-02f, -4.8839e-02f, 7.9840e-02f, +-6.7952e-02f, -4.7191e-01f, 1.5117e-01f, + 1.5668e-01f, 2.4733e-01f, 1.1354e-01f, + 1.7742e-02f, -4.4059e-02f, 9.5374e-03f, + 3.2049e-01f, -1.3779e-01f, 9.6608e-02f, + 8.4580e-02f, 1.4293e-01f, 6.1574e-02f, + 2.8777e-03f, 7.8795e-02f, -5.1902e-02f, + 1.2212e-01f, 1.0321e-01f, 3.2360e-02f, +-9.6617e-02f, 7.8941e-03f, -7.0876e-02f, + 3.5869e-03f, 3.5891e-03f, 3.5923e-03f, + 3.5746e-03f, 3.5840e-03f, 3.5967e-03f, + 3.5785e-03f, 3.5932e-03f, 3.6080e-03f, + 1.5454e-03f, 3.0582e-03f, 4.3737e-02f, +-5.9833e-02f, -1.1247e-01f, 4.4380e-02f, +-1.3206e-01f, 8.2778e-03f, 4.7963e-02f, +-4.3720e-02f, -7.5722e-03f, 2.0510e-01f, + 3.0133e-02f, -4.0506e-01f, 2.7867e-01f, + 5.5586e-02f, 2.8926e-02f, 1.3360e-03f, + 1.9490e-05f, 3.3326e-01f, -7.7241e-02f, +-1.5648e-01f, 1.5195e-01f, -1.3995e-01f, + 8.6519e-02f, 1.0447e-01f, -4.1413e-02f, +-3.8667e-03f, 1.6159e-01f, 1.1627e-01f, +-2.2646e-01f, -3.4758e-02f, -6.7956e-03f, +-3.2689e-01f, 1.9606e-01f, -9.1523e-02f, + 1.1238e-02f, 1.5084e-03f, 4.2113e-02f, +-1.1154e-02f, -3.6596e-01f, -7.2252e-02f, + 6.6621e-02f, 1.0188e-01f, 4.1032e-01f, + 3.5892e-02f, -4.8304e-02f, 6.6142e-03f, + 1.3374e-01f, 2.2720e-01f, -7.1224e-02f, + 6.8952e-02f, 2.0467e-01f, 5.0251e-02f, +-6.2016e-02f, 2.2175e-01f, -1.7764e-02f, + 2.7542e-02f, 1.4905e-01f, 3.6637e-02f, +-7.2231e-02f, 5.0271e-03f, -7.1823e-02f, + 3.5760e-03f, 3.5540e-03f, 3.5692e-03f, + 3.5664e-03f, 3.5490e-03f, 3.5689e-03f, + 3.5671e-03f, 3.5619e-03f, 3.5864e-03f, + 2.7470e-02f, -3.9752e-02f, 4.1063e-02f, +-2.4985e-02f, -1.7969e-01f, 8.2186e-02f, +-5.4251e-02f, -5.9651e-03f, 2.5079e-02f, +-2.1197e-02f, 2.5426e-02f, 1.3585e-01f, +-1.3460e-02f, -1.1377e-01f, 1.2278e-01f, + 3.6533e-02f, 1.2843e-02f, 5.6219e-02f, + 5.8141e-04f, 2.8354e-01f, -6.2016e-02f, +-1.0289e-01f, 1.8724e-01f, -9.9475e-02f, + 5.1193e-02f, 7.5986e-02f, -1.2951e-03f, +-8.2587e-02f, 1.8498e-01f, 1.0891e-01f, + 1.3538e-01f, -4.7728e-01f, 1.0868e-01f, +-8.6415e-02f, -1.7061e-01f, 1.0457e-02f +} +}; +__device__ __constant__ static const float biasL[8][8] = +{ +{ +-0.1175f, -0.0258f, -0.0053f, -0.0437f, -0.0563f, -0.1047f, -0.3449f, 0.0568f +} +, +{ + 0.0339f, -0.1738f, 0.0061f, 0.1565f, -0.0316f, -0.0016f, -0.0032f, -0.0554f +} +, +{ +-0.0508f, -0.0609f, 0.0347f, -0.0802f, -0.0438f, 0.2512f, -0.0491f, -0.0259f +} +, +{ + 0.0655f, 0.0255f, 0.0228f, -0.0027f, -0.0155f, -0.0163f, -0.0174f, -0.1095f +} +, +{ + 4.9947e-03f, 5.3372e-03f, -4.5286e-09f, -1.3756e-03f, 3.8858e-03f, -4.4197e-02f, 3.3970e-02f, 2.8411e-02f +} +, +{ +-0.0396f, 0.0007f, 0.1735f, 0.0109f, 0.1177f, 0.0919f, 0.0567f, -0.0005f +} +, +{ + 0.0127f, -0.0688f, 0.1102f, -0.0052f, 0.1602f, -0.0191f, -0.0322f, 0.0311f +} +, +{ + 0.0063f, 0.0093f, 0.0729f, 0.3734f, 0.0006f, 0.1915f, 0.3186f, 0.2636f +} +}; +__device__ __constant__ static const float kernelsL10[4 * 8] = +{ +-0.0967f, -0.3094f, + 0.3537f, 0.5705f, + 0.2547f, 0.3360f, +-0.0718f, -0.0700f, +-0.3013f, -0.1602f, + 0.4520f, 0.0495f, + 0.1564f, 0.3773f, +-0.0216f, 0.4367f, +-0.4855f, -0.1972f, +-0.2026f, -0.4390f, + 0.3743f, -0.1156f, + 0.4408f, -0.3123f, +-0.3577f, 0.0753f, +-0.3396f, 0.0336f, + 0.1052f, -0.4180f, + 0.0799f, -0.3587f +}; + +#include "ACNetCommon.hip" + +DECLARE_ACNET_HDN_INTERFACE_FUNCTION(3) diff --git a/hip/src/Anime4K09.hip b/hip/src/Anime4K09.hip new file mode 100644 index 0000000..61cfe09 --- /dev/null +++ b/hip/src/Anime4K09.hip @@ -0,0 +1,404 @@ +#include "hip/hip_runtime.h" +#include "HipHelper.hip" +#include "HipInterface.hpp" +#include + +#define MAX3(a, b, c) fmaxf(fmaxf(a, b), c) +#define MIN3(a, b, c) fminf(fminf(a, b), c) + +template +__inline__ __device__ static void getLightest( + typename Vec4::type &mc, typename Vec4::type &a, typename Vec4::type &b, typename Vec4::type &c, float strength) +{ + constexpr float offset = std::is_floating_point::value ? 0.0f : 0.5f; + mc = makeVec4( + mc.x + strength * (__fdividef(a.x + b.x + c.x, 3.0f) - mc.x) + offset, + mc.y + strength * (__fdividef(a.y + b.y + c.y, 3.0f) - mc.y) + offset, + mc.z + strength * (__fdividef(a.z + b.z + c.z, 3.0f) - mc.z) + offset, + mc.w + strength * (__fdividef(a.w + b.w + c.w, 3.0f) - mc.w) + offset); +} + +template +__inline__ __device__ static void getAVerage( + typename Vec4::type &mc, typename Vec4::type &a, typename Vec4::type &b, typename Vec4::type &c, float strength) +{ + constexpr float offset = std::is_floating_point::value ? 0.0f : 0.5f; + mc = makeVec4( + mc.x + strength * (__fdividef(a.x + b.x + c.x, 3.0f) - mc.x) + offset, + mc.y + strength * (__fdividef(a.y + b.y + c.y, 3.0f) - mc.y) + offset, + mc.z + strength * (__fdividef(a.z + b.z + c.z, 3.0f) - mc.z) + offset, + 0.299f * mc.z + 0.587f * mc.y + 0.114f * mc.x + offset); +} + +template +__global__ static void getGray( + hipTextureObject_t srcImg, hipSurfaceObject_t dstImg, + unsigned int W, unsigned int H) +{ + const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; + const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) + return; + + const float u = __fdividef(x + 0.5f, W); + const float v = __fdividef(y + 0.5f, H); + constexpr float scale = PixelValue::max(); + constexpr float offset = std::is_floating_point::value ? 0.0f : 0.5f; + + float4 fmc = tex2D(srcImg, u, v); + + auto mc = makeVec4( + fmc.x * scale + offset, fmc.y * scale + offset, fmc.z * scale + offset, fmc.w * scale + offset); + mc.w = 0.299f * mc.z + 0.587f * mc.y + 0.114f * mc.x + offset; + + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); +} + +template +__global__ static void pushColor( + hipSurfaceObject_t srcImg, hipSurfaceObject_t dstImg, + unsigned int W, unsigned int H, const float strength) +{ + const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; + const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) + return; + + typename Vec4::type tl, tc, tr, ml, mc, mr, bl, bc, br; + surf2Dread(&tl, srcImg, sizeof(mc) * (x - 1), y - 1); + surf2Dread(&tc, srcImg, sizeof(mc) * x, y - 1); + surf2Dread(&tr, srcImg, sizeof(mc) * (x + 1), y - 1); + surf2Dread(&ml, srcImg, sizeof(mc) * (x - 1), y); + surf2Dread(&mc, srcImg, sizeof(mc) * x, y); + surf2Dread(&mr, srcImg, sizeof(mc) * (x + 1), y); + surf2Dread(&bl, srcImg, sizeof(mc) * (x - 1), y + 1); + surf2Dread(&bc, srcImg, sizeof(mc) * x, y + 1); + surf2Dread(&br, srcImg, sizeof(mc) * (x + 1), y + 1); + + T maxD, minL; + + //top and bottom + maxD = MAX3(bl.w, bc.w, br.w); + minL = MIN3(tl.w, tc.w, tr.w); + if (minL > mc.w && mc.w > maxD) + getLightest(mc, tl, tc, tr, strength); + else + { + maxD = MAX3(tl.w, tc.w, tr.w); + minL = MIN3(bl.w, bc.w, br.w); + if (minL > mc.w && mc.w > maxD) + getLightest(mc, bl, bc, br, strength); + } + + //sundiagonal + maxD = MAX3(ml.w, mc.w, bc.w); + minL = MIN3(tc.w, tr.w, mr.w); + if (minL > maxD) + getLightest(mc, tc, tr, mr, strength); + else + { + maxD = MAX3(tc.w, mc.w, mr.w); + minL = MIN3(ml.w, bl.w, bc.w); + if (minL > maxD) + getLightest(mc, ml, bl, bc, strength); + } + + //left and right + maxD = MAX3(tl.w, ml.w, bl.w); + minL = MIN3(tr.w, mr.w, br.w); + if (minL > mc.w && mc.w > maxD) + getLightest(mc, tr, mr, br, strength); + else + { + maxD = MAX3(tr.w, mr.w, br.w); + minL = MIN3(tl.w, ml.w, bl.w); + if (minL > mc.w && mc.w > maxD) + getLightest(mc, tl, ml, bl, strength); + } + + //diagonal + maxD = MAX3(tc.w, mc.w, ml.w); + minL = MIN3(mr.w, br.w, bc.w); + if (minL > maxD) + getLightest(mc, mr, br, bc, strength); + else + { + maxD = MAX3(bc.w, mc.w, mr.w); + minL = MIN3(ml.w, tl.w, tc.w); + if (minL > maxD) + getLightest(mc, ml, tl, tc, strength); + } + + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); +} + +template +__global__ static void getGradient( + hipSurfaceObject_t srcImg, hipSurfaceObject_t dstImg, + unsigned int W, unsigned int H) +{ + const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; + const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) + return; + + typename Vec4::type tl, tc, tr, ml, mc, mr, bl, bc, br; + surf2Dread(&tl, srcImg, sizeof(mc) * (x - 1), y - 1); + surf2Dread(&tc, srcImg, sizeof(mc) * x, y - 1); + surf2Dread(&tr, srcImg, sizeof(mc) * (x + 1), y - 1); + surf2Dread(&ml, srcImg, sizeof(mc) * (x - 1), y); + surf2Dread(&mc, srcImg, sizeof(mc) * x, y); + surf2Dread(&mr, srcImg, sizeof(mc) * (x + 1), y); + surf2Dread(&bl, srcImg, sizeof(mc) * (x - 1), y + 1); + surf2Dread(&bc, srcImg, sizeof(mc) * x, y + 1); + surf2Dread(&br, srcImg, sizeof(mc) * (x + 1), y + 1); + + const float gradX = tr.w + mr.w + mr.w + br.w - tl.w - ml.w - ml.w - bl.w; + const float gradY = tl.w + tc.w + tc.w + tr.w - bl.w - bc.w - bc.w - br.w; + + mc.w = PixelValue::max() - clamp(sqrtf(gradX * gradX + gradY * gradY), PixelValue::min(), PixelValue::max()); + + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); +} + +template +__global__ static void pushGradient( + hipSurfaceObject_t srcImg, hipSurfaceObject_t dstImg, + unsigned int W, unsigned int H, const float strength) +{ + const unsigned int x = blockIdx.x * blockDim.x + threadIdx.x; + const unsigned int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) + return; + + typename Vec4::type tl, tc, tr, ml, mc, mr, bl, bc, br; + surf2Dread(&tl, srcImg, sizeof(mc) * (x - 1), y - 1); + surf2Dread(&tc, srcImg, sizeof(mc) * x, y - 1); + surf2Dread(&tr, srcImg, sizeof(mc) * (x + 1), y - 1); + surf2Dread(&ml, srcImg, sizeof(mc) * (x - 1), y); + surf2Dread(&mc, srcImg, sizeof(mc) * x, y); + surf2Dread(&mr, srcImg, sizeof(mc) * (x + 1), y); + surf2Dread(&bl, srcImg, sizeof(mc) * (x - 1), y + 1); + surf2Dread(&bc, srcImg, sizeof(mc) * x, y + 1); + surf2Dread(&br, srcImg, sizeof(mc) * (x + 1), y + 1); + + T maxD, minL; + + //top and bottom + maxD = MAX3(bl.w, bc.w, br.w); + minL = MIN3(tl.w, tc.w, tr.w); + if (minL > mc.w && mc.w > maxD) + { + getAVerage(mc, tl, tc, tr, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + + maxD = MAX3(tl.w, tc.w, tr.w); + minL = MIN3(bl.w, bc.w, br.w); + if (minL > mc.w && mc.w > maxD) + { + getAVerage(mc, bl, bc, br, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + + //sundiagonal + maxD = MAX3(ml.w, mc.w, bc.w); + minL = MIN3(tc.w, tr.w, mr.w); + if (minL > maxD) + { + getAVerage(mc, tc, tr, mr, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + + maxD = MAX3(tc.w, mc.w, mr.w); + minL = MIN3(ml.w, bl.w, bc.w); + if (minL > maxD) + { + getAVerage(mc, ml, bl, bc, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + + //left and right + maxD = MAX3(tl.w, ml.w, bl.w); + minL = MIN3(tr.w, mr.w, br.w); + if (minL > mc.w && mc.w > maxD) + { + getAVerage(mc, tr, mr, br, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + + maxD = MAX3(tr.w, mr.w, br.w); + minL = MIN3(tl.w, ml.w, bl.w); + if (minL > mc.w && mc.w > maxD) + { + getAVerage(mc, tl, ml, bl, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + + //diagonal + maxD = MAX3(tc.w, mc.w, ml.w); + minL = MIN3(mr.w, br.w, bc.w); + if (minL > maxD) + { + getAVerage(mc, mr, br, bc, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + maxD = MAX3(bc.w, mc.w, mr.w); + minL = MIN3(ml.w, tl.w, tc.w); + if (minL > maxD) + { + getAVerage(mc, ml, tl, tc, strength); + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); + return; + } + + mc.w = 0.299f * mc.z + 0.587f * mc.y + 0.114f * mc.x; + surf2Dwrite(mc, dstImg, sizeof(mc) * x, y); +} + +template +static void cuRunKernelAnime4K09Impl(const T *inputData, T *outputData, Anime4KCPP::Hip::ACHipParamAnime4K09 *param, hipStream_t& stream) +{ + hipError_t err = hipSuccess; + if (currHipDeviceID) + { + err = hipSetDevice(currHipDeviceID); + CheckHipErr(err); + } + + // hipStream_t stream; + // hipStreamCreate(&stream); + + hipChannelFormatDesc channelDesc = hipCreateChannelDesc::type>(); + + hipArray_t cuArray0; + err = hipMallocArray(&cuArray0, &channelDesc, param->orgW, param->orgH); + CheckHipErr(err); + + hipArray_t cuArray1; + err = hipMallocArray(&cuArray1, &channelDesc, param->W, param->H, hipArrayDefault /* hipArraySurfaceLoadStore */); + CheckHipErr(err); + + hipArray_t cuArray2; + err = hipMallocArray(&cuArray2, &channelDesc, param->W, param->H, hipArrayDefault /* hipArraySurfaceLoadStore */); + CheckHipErr(err); + + hipArray_t cuArray3; + err = hipMallocArray(&cuArray3, &channelDesc, param->W, param->H, hipArrayDefault /* hipArraySurfaceLoadStore */); + CheckHipErr(err); + + struct hipResourceDesc resDesc; + struct hipTextureDesc texDesc; + memset(&resDesc, 0, sizeof(resDesc)); + memset(&texDesc, 0, sizeof(texDesc)); + + texDesc.addressMode[0] = hipAddressModeBorder; + texDesc.addressMode[1] = hipAddressModeBorder; + texDesc.filterMode = hipFilterModeLinear; + texDesc.readMode = std::is_floating_point::value ? hipReadModeElementType : hipReadModeNormalizedFloat; + texDesc.normalizedCoords = 1; + + resDesc.resType = hipResourceTypeArray; + + resDesc.res.array.array = cuArray0; + hipTextureObject_t tex = 0; + err = hipCreateTextureObject(&tex, &resDesc, &texDesc, NULL); + CheckHipErr(err); + + resDesc.res.array.array = cuArray1; + hipSurfaceObject_t surf1 = 0; + err = hipCreateSurfaceObject(&surf1, &resDesc); + CheckHipErr(err); + + resDesc.res.array.array = cuArray2; + hipSurfaceObject_t surf2 = 0; + err = hipCreateSurfaceObject(&surf2, &resDesc); + CheckHipErr(err); + + resDesc.res.array.array = cuArray3; + hipSurfaceObject_t surf3 = 0; + err = hipCreateSurfaceObject(&surf3, &resDesc); + CheckHipErr(err); + + err = hipMemcpy2DToArrayAsync(cuArray0, 0, 0, inputData, + param->stride, sizeof(typename Vec4::type) * param->orgW, param->orgH, + hipMemcpyHostToDevice, stream); + CheckHipErr(err); + + dim3 dimBlock(16, 16); + dim3 dimGrid( + (param->W + dimBlock.x - 1) / dimBlock.x, + (param->H + dimBlock.y - 1) / dimBlock.y); + + { + int i; + getGray<<>>(tex, surf1, param->W, param->H); + for (i = 0; i < param->passes && i < param->pushColorCount; i++) + { + pushColor<<>>(surf1, surf2, param->W, param->H, param->strengthColor); + getGradient<<>>(surf2, surf3, param->W, param->H); + pushGradient<<>>(surf3, surf1, param->W, param->H, param->strengthGradient); + } + while (i++ < param->passes) + { + getGradient<<>>(surf1, surf2, param->W, param->H); + pushGradient<<>>(surf2, surf1, param->W, param->H, param->strengthGradient); + } + } + + err = hipHostRegister(outputData, sizeof(typename Vec4::type) * param->W * param->H, hipHostRegisterDefault); + CheckHipErr(err); + + err = hipMemcpy2DFromArrayAsync(outputData, sizeof(typename Vec4::type) * param->W, cuArray1, 0, 0, + sizeof(typename Vec4::type) * param->W, param->H, + hipMemcpyDeviceToHost, stream); + CheckHipErr(err); + + err = hipStreamSynchronize(stream); + CheckHipErr(err); + + err = hipHostUnregister(outputData); + CheckHipErr(err); + + err = hipGetLastError(); + CheckHipErr(err); + + hipDestroyTextureObject(tex); + hipDestroySurfaceObject(surf1); + hipDestroySurfaceObject(surf2); + hipDestroySurfaceObject(surf3); + + hipFreeArray(cuArray0); + hipFreeArray(cuArray1); + hipFreeArray(cuArray2); + hipFreeArray(cuArray3); + + // hipStreamDestroy(stream); +} + +void Anime4KCPP::Hip::cuRunKernelAnime4K09(const void* inputData, void* outputData, ACHipDataType type, ACHipParamAnime4K09* param, hipStream_t& stream) +{ + switch (type) + { + case ACHipDataType::AC_8U: + cuRunKernelAnime4K09Impl(reinterpret_cast(inputData), reinterpret_cast(outputData), param, stream); + break; + case ACHipDataType::AC_16U: + cuRunKernelAnime4K09Impl(reinterpret_cast(inputData), reinterpret_cast(outputData), param, stream); + break; + case ACHipDataType::AC_32F: + cuRunKernelAnime4K09Impl(reinterpret_cast(inputData), reinterpret_cast(outputData), param, stream); + break; + } +} diff --git a/hip/src/Manager.hip b/hip/src/Manager.hip new file mode 100644 index 0000000..c684088 --- /dev/null +++ b/hip/src/Manager.hip @@ -0,0 +1,69 @@ +#include "HipHelper.hip" +#include "HipInterface.hpp" +#include + +int currHipDeviceID = 0; + +void Anime4KCPP::Hip::cuSetDeviceID(const int id) noexcept +{ + if (id < 0 || id >= cuGetDeviceCount()) + currHipDeviceID = 0; + else + currHipDeviceID = id; +} + +int Anime4KCPP::Hip::cuGetDeviceID() noexcept +{ + return currHipDeviceID; +} + +void Anime4KCPP::Hip::cuReleaseHip() noexcept +{ + hipDeviceReset(); + currHipDeviceID = 0; +} + +int Anime4KCPP::Hip::cuGetDeviceCount() noexcept +{ + int deviceCount; + hipError_t err = hipGetDeviceCount(&deviceCount); + if (err != hipSuccess) + return 0; + return deviceCount; +} + +std::string Anime4KCPP::Hip::cuGetDeviceInfo(const int id) +{ + hipDeviceProp_t deviceProp; + hipError_t err = + (id < 0 || id >= cuGetDeviceCount()) ? hipGetDeviceProperties(&deviceProp, 0) : hipGetDeviceProperties(&deviceProp, id); + if (err != hipSuccess) + return "Failed to find HIP device: " + std::to_string(id); + + return "Device id: " + std::to_string(id) + + "\n Type: " + std::string(deviceProp.name) + + "\n Video Memory: " + std::to_string(deviceProp.totalGlobalMem >> 20) + " mb" + + "\n Compute Capability: " + std::to_string(deviceProp.major) + "." + std::to_string(deviceProp.minor); +} + +std::string Anime4KCPP::Hip::cuGetHipInfo() +{ + std::string info; + int deviceCount = cuGetDeviceCount(); + if (!deviceCount) + info = "No HIP device found"; + else + for (int i = 0; i < deviceCount; i++) + info += cuGetDeviceInfo(i) + "\n"; + return info; +} + +bool Anime4KCPP::Hip::cuCheckDeviceSupport(const int id) noexcept +{ + hipDeviceProp_t deviceProp; + hipError_t err = + (id < 0 || id >= cuGetDeviceCount()) ? hipGetDeviceProperties(&deviceProp, 0) : hipGetDeviceProperties(&deviceProp, id); + if (err != hipSuccess || deviceProp.major < 2) + return false; + return true; +}