summaryrefslogtreecommitdiff
path: root/src/c/elementaryFunctions/atanh
diff options
context:
space:
mode:
authoryash11122017-07-07 21:20:49 +0530
committeryash11122017-07-07 21:20:49 +0530
commit3f52712f806fbd80d66dfdcaff401e5cf94dcca4 (patch)
treea8333b8187cb44b505b9fe37fc9a7ac8a1711c10 /src/c/elementaryFunctions/atanh
downloadScilab2C_fossee_old-3f52712f806fbd80d66dfdcaff401e5cf94dcca4.tar.gz
Scilab2C_fossee_old-3f52712f806fbd80d66dfdcaff401e5cf94dcca4.tar.bz2
Scilab2C_fossee_old-3f52712f806fbd80d66dfdcaff401e5cf94dcca4.zip
sci2c arduino updated
Diffstat (limited to 'src/c/elementaryFunctions/atanh')
-rw-r--r--src/c/elementaryFunctions/atanh/Makefile.am68
-rw-r--r--src/c/elementaryFunctions/atanh/Makefile.in809
-rw-r--r--src/c/elementaryFunctions/atanh/catanha.c20
-rw-r--r--src/c/elementaryFunctions/atanh/catanhs.c20
-rw-r--r--src/c/elementaryFunctions/atanh/datanha.c20
-rw-r--r--src/c/elementaryFunctions/atanh/datanhs.c23
-rw-r--r--src/c/elementaryFunctions/atanh/satanha.c20
-rw-r--r--src/c/elementaryFunctions/atanh/satanhs.c18
-rw-r--r--src/c/elementaryFunctions/atanh/testAtanh.h40
-rw-r--r--src/c/elementaryFunctions/atanh/testDoubleAtanh.c605
-rw-r--r--src/c/elementaryFunctions/atanh/testFloatAtanh.c600
-rw-r--r--src/c/elementaryFunctions/atanh/zatanha.c20
-rw-r--r--src/c/elementaryFunctions/atanh/zatanhs.c25
13 files changed, 2288 insertions, 0 deletions
diff --git a/src/c/elementaryFunctions/atanh/Makefile.am b/src/c/elementaryFunctions/atanh/Makefile.am
new file mode 100644
index 0000000..df8ec21
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/Makefile.am
@@ -0,0 +1,68 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+##
+## This file must be used under the terms of the CeCILL.
+## This source file is licensed as described in the file COPYING, which
+## you should have received as part of this distribution. The terms
+## are also available at
+## http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+##
+##
+
+libAtanh_la_CFLAGS = -I ../../type \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libAtanh.la
+
+libAtanh_la_SOURCES = $(HEAD) $(SRC)
+
+SRC = satanhs.c \
+ datanhs.c \
+ catanhs.c \
+ zatanhs.c \
+ satanha.c \
+ datanha.c \
+ catanha.c \
+ zatanha.c
+
+HEAD = ../includes/atanh.h
+
+####
+# Checking Part
+####
+
+check_INCLUDES = -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/elementaryFunctions/atan/libAtan.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/atanh/libAtanh.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/isnan/libIsnan.la \
+ @LIBMATH@
+
+check_PROGRAMS = testFloatAtanh testDoubleAtanh
+
+TESTS = testFloatAtanh testDoubleAtanh
+
+#
+# -*- Hyperbolic ArcTangeant Tests -*-
+#
+testFloatAtanh_SOURCES = testAtanh.h testFloatAtanh.c
+testFloatAtanh_CFLAGS = $(check_INCLUDES)
+testFloatAtanh_LDADD = $(check_LDADD)
+
+testDoubleAtanh_SOURCES = testAtanh.h testDoubleAtanh.c
+testDoubleAtanh_CFLAGS = $(check_INCLUDES)
+testDoubleAtanh_LDADD = $(check_LDADD)
diff --git a/src/c/elementaryFunctions/atanh/Makefile.in b/src/c/elementaryFunctions/atanh/Makefile.in
new file mode 100644
index 0000000..d1541b3
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/Makefile.in
@@ -0,0 +1,809 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = testFloatAtanh$(EXEEXT) testDoubleAtanh$(EXEEXT)
+TESTS = testFloatAtanh$(EXEEXT) testDoubleAtanh$(EXEEXT)
+subdir = src/c/elementaryFunctions/atanh
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libAtanh_la_LIBADD =
+am__objects_1 =
+am__objects_2 = libAtanh_la-satanhs.lo libAtanh_la-datanhs.lo \
+ libAtanh_la-catanhs.lo libAtanh_la-zatanhs.lo \
+ libAtanh_la-satanha.lo libAtanh_la-datanha.lo \
+ libAtanh_la-catanha.lo libAtanh_la-zatanha.lo
+am_libAtanh_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libAtanh_la_OBJECTS = $(am_libAtanh_la_OBJECTS)
+libAtanh_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libAtanh_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleAtanh_OBJECTS = \
+ testDoubleAtanh-testDoubleAtanh.$(OBJEXT)
+testDoubleAtanh_OBJECTS = $(am_testDoubleAtanh_OBJECTS)
+am__DEPENDENCIES_1 = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/elementaryFunctions/atan/libAtan.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/atanh/libAtanh.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/isnan/libIsnan.la
+testDoubleAtanh_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testDoubleAtanh_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleAtanh_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatAtanh_OBJECTS = testFloatAtanh-testFloatAtanh.$(OBJEXT)
+testFloatAtanh_OBJECTS = $(am_testFloatAtanh_OBJECTS)
+testFloatAtanh_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testFloatAtanh_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatAtanh_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libAtanh_la_SOURCES) $(testDoubleAtanh_SOURCES) \
+ $(testFloatAtanh_SOURCES)
+DIST_SOURCES = $(libAtanh_la_SOURCES) $(testDoubleAtanh_SOURCES) \
+ $(testFloatAtanh_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libAtanh_la_CFLAGS = -I ../../type \
+ -I ../includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libAtanh.la
+libAtanh_la_SOURCES = $(HEAD) $(SRC)
+SRC = satanhs.c \
+ datanhs.c \
+ catanhs.c \
+ zatanhs.c \
+ satanha.c \
+ datanha.c \
+ catanha.c \
+ zatanha.c
+
+HEAD = ../includes/atanh.h
+
+####
+# Checking Part
+####
+check_INCLUDES = -I $(top_builddir)/src/c/elementaryFunctions/includes \
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes \
+ -I $(top_builddir)/src/c/type
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/c/elementaryFunctions/atan/libAtan.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/c/elementaryFunctions/atanh/libAtanh.la \
+ $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/isnan/libIsnan.la \
+ @LIBMATH@
+
+
+#
+# -*- Hyperbolic ArcTangeant Tests -*-
+#
+testFloatAtanh_SOURCES = testAtanh.h testFloatAtanh.c
+testFloatAtanh_CFLAGS = $(check_INCLUDES)
+testFloatAtanh_LDADD = $(check_LDADD)
+testDoubleAtanh_SOURCES = testAtanh.h testDoubleAtanh.c
+testDoubleAtanh_CFLAGS = $(check_INCLUDES)
+testDoubleAtanh_LDADD = $(check_LDADD)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/elementaryFunctions/atanh/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/elementaryFunctions/atanh/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libAtanh.la: $(libAtanh_la_OBJECTS) $(libAtanh_la_DEPENDENCIES)
+ $(libAtanh_la_LINK) -rpath $(pkglibdir) $(libAtanh_la_OBJECTS) $(libAtanh_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleAtanh$(EXEEXT): $(testDoubleAtanh_OBJECTS) $(testDoubleAtanh_DEPENDENCIES)
+ @rm -f testDoubleAtanh$(EXEEXT)
+ $(testDoubleAtanh_LINK) $(testDoubleAtanh_OBJECTS) $(testDoubleAtanh_LDADD) $(LIBS)
+testFloatAtanh$(EXEEXT): $(testFloatAtanh_OBJECTS) $(testFloatAtanh_DEPENDENCIES)
+ @rm -f testFloatAtanh$(EXEEXT)
+ $(testFloatAtanh_LINK) $(testFloatAtanh_OBJECTS) $(testFloatAtanh_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-catanha.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-catanhs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-datanha.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-datanhs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-satanha.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-satanhs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-zatanha.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtanh_la-zatanhs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleAtanh-testDoubleAtanh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatAtanh-testFloatAtanh.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libAtanh_la-satanhs.lo: satanhs.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-satanhs.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-satanhs.Tpo -c -o libAtanh_la-satanhs.lo `test -f 'satanhs.c' || echo '$(srcdir)/'`satanhs.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-satanhs.Tpo $(DEPDIR)/libAtanh_la-satanhs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='satanhs.c' object='libAtanh_la-satanhs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-satanhs.lo `test -f 'satanhs.c' || echo '$(srcdir)/'`satanhs.c
+
+libAtanh_la-datanhs.lo: datanhs.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-datanhs.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-datanhs.Tpo -c -o libAtanh_la-datanhs.lo `test -f 'datanhs.c' || echo '$(srcdir)/'`datanhs.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-datanhs.Tpo $(DEPDIR)/libAtanh_la-datanhs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='datanhs.c' object='libAtanh_la-datanhs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-datanhs.lo `test -f 'datanhs.c' || echo '$(srcdir)/'`datanhs.c
+
+libAtanh_la-catanhs.lo: catanhs.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-catanhs.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-catanhs.Tpo -c -o libAtanh_la-catanhs.lo `test -f 'catanhs.c' || echo '$(srcdir)/'`catanhs.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-catanhs.Tpo $(DEPDIR)/libAtanh_la-catanhs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='catanhs.c' object='libAtanh_la-catanhs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-catanhs.lo `test -f 'catanhs.c' || echo '$(srcdir)/'`catanhs.c
+
+libAtanh_la-zatanhs.lo: zatanhs.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-zatanhs.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-zatanhs.Tpo -c -o libAtanh_la-zatanhs.lo `test -f 'zatanhs.c' || echo '$(srcdir)/'`zatanhs.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-zatanhs.Tpo $(DEPDIR)/libAtanh_la-zatanhs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zatanhs.c' object='libAtanh_la-zatanhs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-zatanhs.lo `test -f 'zatanhs.c' || echo '$(srcdir)/'`zatanhs.c
+
+libAtanh_la-satanha.lo: satanha.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-satanha.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-satanha.Tpo -c -o libAtanh_la-satanha.lo `test -f 'satanha.c' || echo '$(srcdir)/'`satanha.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-satanha.Tpo $(DEPDIR)/libAtanh_la-satanha.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='satanha.c' object='libAtanh_la-satanha.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-satanha.lo `test -f 'satanha.c' || echo '$(srcdir)/'`satanha.c
+
+libAtanh_la-datanha.lo: datanha.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-datanha.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-datanha.Tpo -c -o libAtanh_la-datanha.lo `test -f 'datanha.c' || echo '$(srcdir)/'`datanha.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-datanha.Tpo $(DEPDIR)/libAtanh_la-datanha.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='datanha.c' object='libAtanh_la-datanha.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-datanha.lo `test -f 'datanha.c' || echo '$(srcdir)/'`datanha.c
+
+libAtanh_la-catanha.lo: catanha.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-catanha.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-catanha.Tpo -c -o libAtanh_la-catanha.lo `test -f 'catanha.c' || echo '$(srcdir)/'`catanha.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-catanha.Tpo $(DEPDIR)/libAtanh_la-catanha.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='catanha.c' object='libAtanh_la-catanha.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-catanha.lo `test -f 'catanha.c' || echo '$(srcdir)/'`catanha.c
+
+libAtanh_la-zatanha.lo: zatanha.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -MT libAtanh_la-zatanha.lo -MD -MP -MF $(DEPDIR)/libAtanh_la-zatanha.Tpo -c -o libAtanh_la-zatanha.lo `test -f 'zatanha.c' || echo '$(srcdir)/'`zatanha.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtanh_la-zatanha.Tpo $(DEPDIR)/libAtanh_la-zatanha.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zatanha.c' object='libAtanh_la-zatanha.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtanh_la_CFLAGS) $(CFLAGS) -c -o libAtanh_la-zatanha.lo `test -f 'zatanha.c' || echo '$(srcdir)/'`zatanha.c
+
+testDoubleAtanh-testDoubleAtanh.o: testDoubleAtanh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleAtanh_CFLAGS) $(CFLAGS) -MT testDoubleAtanh-testDoubleAtanh.o -MD -MP -MF $(DEPDIR)/testDoubleAtanh-testDoubleAtanh.Tpo -c -o testDoubleAtanh-testDoubleAtanh.o `test -f 'testDoubleAtanh.c' || echo '$(srcdir)/'`testDoubleAtanh.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleAtanh-testDoubleAtanh.Tpo $(DEPDIR)/testDoubleAtanh-testDoubleAtanh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleAtanh.c' object='testDoubleAtanh-testDoubleAtanh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleAtanh_CFLAGS) $(CFLAGS) -c -o testDoubleAtanh-testDoubleAtanh.o `test -f 'testDoubleAtanh.c' || echo '$(srcdir)/'`testDoubleAtanh.c
+
+testDoubleAtanh-testDoubleAtanh.obj: testDoubleAtanh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleAtanh_CFLAGS) $(CFLAGS) -MT testDoubleAtanh-testDoubleAtanh.obj -MD -MP -MF $(DEPDIR)/testDoubleAtanh-testDoubleAtanh.Tpo -c -o testDoubleAtanh-testDoubleAtanh.obj `if test -f 'testDoubleAtanh.c'; then $(CYGPATH_W) 'testDoubleAtanh.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleAtanh.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleAtanh-testDoubleAtanh.Tpo $(DEPDIR)/testDoubleAtanh-testDoubleAtanh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleAtanh.c' object='testDoubleAtanh-testDoubleAtanh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleAtanh_CFLAGS) $(CFLAGS) -c -o testDoubleAtanh-testDoubleAtanh.obj `if test -f 'testDoubleAtanh.c'; then $(CYGPATH_W) 'testDoubleAtanh.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleAtanh.c'; fi`
+
+testFloatAtanh-testFloatAtanh.o: testFloatAtanh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatAtanh_CFLAGS) $(CFLAGS) -MT testFloatAtanh-testFloatAtanh.o -MD -MP -MF $(DEPDIR)/testFloatAtanh-testFloatAtanh.Tpo -c -o testFloatAtanh-testFloatAtanh.o `test -f 'testFloatAtanh.c' || echo '$(srcdir)/'`testFloatAtanh.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatAtanh-testFloatAtanh.Tpo $(DEPDIR)/testFloatAtanh-testFloatAtanh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatAtanh.c' object='testFloatAtanh-testFloatAtanh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatAtanh_CFLAGS) $(CFLAGS) -c -o testFloatAtanh-testFloatAtanh.o `test -f 'testFloatAtanh.c' || echo '$(srcdir)/'`testFloatAtanh.c
+
+testFloatAtanh-testFloatAtanh.obj: testFloatAtanh.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatAtanh_CFLAGS) $(CFLAGS) -MT testFloatAtanh-testFloatAtanh.obj -MD -MP -MF $(DEPDIR)/testFloatAtanh-testFloatAtanh.Tpo -c -o testFloatAtanh-testFloatAtanh.obj `if test -f 'testFloatAtanh.c'; then $(CYGPATH_W) 'testFloatAtanh.c'; else $(CYGPATH_W) '$(srcdir)/testFloatAtanh.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatAtanh-testFloatAtanh.Tpo $(DEPDIR)/testFloatAtanh-testFloatAtanh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatAtanh.c' object='testFloatAtanh-testFloatAtanh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatAtanh_CFLAGS) $(CFLAGS) -c -o testFloatAtanh-testFloatAtanh.obj `if test -f 'testFloatAtanh.c'; then $(CYGPATH_W) 'testFloatAtanh.c'; else $(CYGPATH_W) '$(srcdir)/testFloatAtanh.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkglibLTLIBRARIES install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-pkglibLTLIBRARIES
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/c/elementaryFunctions/atanh/catanha.c b/src/c/elementaryFunctions/atanh/catanha.c
new file mode 100644
index 0000000..0c7a77e
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/catanha.c
@@ -0,0 +1,20 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "atanh.h"
+
+void catanha(floatComplex* x, int size, floatComplex* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = catanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/atanh/catanhs.c b/src/c/elementaryFunctions/atanh/catanhs.c
new file mode 100644
index 0000000..8c97515
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/catanhs.c
@@ -0,0 +1,20 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "atanh.h"
+#include "atan.h"
+
+floatComplex catanhs(floatComplex z) {
+ floatComplex minus_i_z = FloatComplex(cimags(z), -creals(z));
+ floatComplex atan_minus_i_z = catans(minus_i_z);
+ return FloatComplex(-cimags(atan_minus_i_z), creals(atan_minus_i_z));
+}
diff --git a/src/c/elementaryFunctions/atanh/datanha.c b/src/c/elementaryFunctions/atanh/datanha.c
new file mode 100644
index 0000000..01189a8
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/datanha.c
@@ -0,0 +1,20 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "atanh.h"
+
+void datanha(double* x, int size, double* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = datanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/atanh/datanhs.c b/src/c/elementaryFunctions/atanh/datanhs.c
new file mode 100644
index 0000000..e5eddf3
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/datanhs.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "atanh.h"
+#include "atan.h"
+/*
+// METHOD
+// based on the formula atanh(z) = i atan(-i z)
+//
+// Real case : atanh(x) = -imag(atan(-i x))
+*/
+double datanhs(double x) {
+ return (-zimags(zatans(DoubleComplex(0.0, -x))));
+}
diff --git a/src/c/elementaryFunctions/atanh/satanha.c b/src/c/elementaryFunctions/atanh/satanha.c
new file mode 100644
index 0000000..48b79a0
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/satanha.c
@@ -0,0 +1,20 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "atanh.h"
+
+void satanha(float* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = satanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/atanh/satanhs.c b/src/c/elementaryFunctions/atanh/satanhs.c
new file mode 100644
index 0000000..15354aa
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/satanhs.c
@@ -0,0 +1,18 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "atanh.h"
+#include "atan.h"
+
+float satanhs(float x) {
+ return (-cimags(catans(FloatComplex(0.0, -x))));
+}
diff --git a/src/c/elementaryFunctions/atanh/testAtanh.h b/src/c/elementaryFunctions/atanh/testAtanh.h
new file mode 100644
index 0000000..c683c17
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/testAtanh.h
@@ -0,0 +1,40 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef _TESTATANH_H_
+#define _TESTATANH_H_
+
+#include <stdio.h>
+#include <assert.h>
+#include <math.h>
+#include "atanh.h"
+#include "constant.h"
+
+void satanhsTest(void);
+
+void satanhaTest(void);
+
+void datanhsTest(void);
+
+void datanhaTest(void);
+
+void catanhsTest(void);
+
+void catanhaTest(void);
+
+void zatanhsTest(void);
+
+void zatanhaTest(void);
+
+int testAtanh(void);
+
+#endif /* !_TESTATANH_H_ */
diff --git a/src/c/elementaryFunctions/atanh/testDoubleAtanh.c b/src/c/elementaryFunctions/atanh/testDoubleAtanh.c
new file mode 100644
index 0000000..03b97e8
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/testDoubleAtanh.c
@@ -0,0 +1,605 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "testAtanh.h"
+#include "isnan.h"
+
+#define SOURCE {-1.1105866164187250255679,-1.0028386111936116176224,0.2375765916352992890292,\
+-1.9260782734203465427214,1.6339029335662884623304,0.4006142544568777608127,\
+-0.1884054141613809019162,0.3250370808239260722594,0.4942341130822986983162,\
+-0.5271214361991748420522,-0.2047974713791562706433,-0.6989092545405519718571,\
+-0.7715561486980614391840,-0.571989225566208348006,-0.5020150984917894909643,\
+-2.2857334641783242368263,2.332010485133160226923,1.3889136138977253853710,\
+1.3789467621494246873937,0.1097978131481585906126,-0.0647218447158609960779,\
+0.0281807372021152316433,0.1350188864488831574917,1.0304207301469319180143,\
+1.2534650597477734468299,-0.6673847151191693027883,0.7687329161404042876526,\
+0.9397659613234893294376,-0.1842256540708016310237,-0.6380964000421092130466,\
+-0.4312384814994691395462,0.2955203345655439961526,-0.9485014036835781592316,\
+-0.7318488744075331009498,1.0038104194654713374746,-1.1353561092070965088396,\
+-1.0960321876977914268281,-0.0171134176442899188508,-0.5858103496627128370378,\
+0.1289555865425900393895,1.5820296359767425098397,-1.4631497998103890623156,\
+1.2963845181574007447978,-0.3801415377268548834166,2.06830447887869084411,\
+-0.5625246161593648874799,0.5326361661049561213588,-1.2444472935191353002438,\
+1.98041335297601972520,-1.1243976757801756871658,-0.2002672475586080858001,\
+-0.8369527550627472445299,-0.5501861155367867572963,-0.4142018271607930679501,\
+0.0805610771656549429220,1.1377543872793591805959,0.0358630657002049213489,\
+-0.7784293535508046701921,0.1468114639619267913773,0.8017875463824070125796,\
+0.9541283226908341408290,0.2570812112878080313294,0.5669583797452802942374,\
+-0.5124357940757415796895,-1.0874670623228419596984,0.1679748561443953069894,\
+1.0653376770396050243761,1.4418584607257751706300,0.4931419934636970814346,\
+0.8961862868877283894165,1.9862847823434610639026,-0.1823693074986679762972,\
+-1.4947586037652456081304,0.2872503175279246256935,0.0312925927822978733328,\
+0.6112211190486463996407,-0.7772375221664085120921,1.1093137211625221372202,\
+0.0442238350338455751820,1.6762117307909378816078,-0.6876351157010545112058,\
+-1.22967891951066876643,-0.1299578267276684795384,1.6975824415216096419101,\
+1.308926550069704708434,-1.098941911191897657929,0.8471934585094353931112,\
+-0.4433269337102597185130,-0.7837315591442685080992,0.9116218827858540985076,\
+-1.0105858633572861737804,0.4876488481804939212338,0.0655402107055627763943,\
+-0.2953709263667435580558,0.6148227532021686148056,-0.4034374023520052587877,\
+0.5833631341612930398810,-0.5528588193199002187583,-0.2778100246524093375200,\
+2.382193101614083818873,-0.5178234271111435971235,-0.6905004153871671102038,\
+1.1100538942612350190586,0.4362472672541874985086,1.6185312525007526929244,\
+-0.2435431173062182208522,1.3489566990051822248375,0.7594498437474611618470,\
+-0.2810994191894010674204,0.0572337467470783664569,-0.2986850540752242211262,\
+0.3080328437634018978741,-1.063898707867213300204,-0.4732241206771939379117,\
+0.4359979545522715271844,-1.1975945596394972358922,-2.0463590761656762495591,\
+-1.6981361097863292286547,-0.3298420709745075729558,0.6443404115154376388119,\
+1.1582132747946760620295,-0.1360263343598554774960,1.1191856336437415730956,\
+-0.3857336264473540388131,-0.9009857125105711350699,-0.6654259233895634118028,\
+0.8142113557520732625150,-0.7421459588282103281287,-0.7442082361451903826932,\
+-0.7150337980929084569226,0.9101123379002086233314,1.6512593716591941195304,\
+0.5444875921569681809231,-1.4717893200735545633506,-0.2233299046672752585785,\
+-0.0991741463892287511417,-0.9902546973703609811679,-1.376446086882661790085,\
+-1.7488399727971684072259,1.8239775508132596293365,-0.2630036367047015599674,\
+-0.5010962842642737724574,-0.5862555775092695986572,-1.3195380346103915414346,\
+-0.3864449051827200110054,-0.0225200748008141174439,-0.9526576040369814091235,\
+1.6155833271255157779223,1.2505121957121025921822,-0.1546296525315759562424,\
+0.7865497689541539605429,-0.6949758322935190024694,-0.4332203785337710999492,\
+0.6084666055394067907258,0.2648887243137521552150,-0.3173806367287662633103,\
+-0.9277748648924035723695,-0.6967437125955047161341,0.0106825075357279020843,\
+0.7977499585474604471003,0.9612439572909651230859,0.6750778949370804804531,\
+0.0690725368983376858401,-1.8076399886892613455558,-0.2596249600654364497743,\
+0.6728882350569161951981,-0.4537439012069451327314,0.695587590556807633391,\
+1.2463414096089968641223,-0.2637405473740589423315,-0.8045531944567444471161,\
+0.2829556705817293793537,0.1166763530431780965246,1.0028892209395869894450,\
+0.4234280063942446603598,0.6056937191431178701961,-1.4168714241399820163991,\
+-0.7415110426654055730822,-1.6002352979874459038001,-0.0441220186662526561716,\
+-0.6809183287313597121582,0.2835255852521558761481,0.2496331067144885174081,\
+0.1563210463282909690186,-1.006767784835231216434,-0.6458091780006059989816,\
+-2.529451976430145521135,-0.4966644528621277365765,0.3057445000796202294602,\
+0.0051108872162743653259,0.3463692486733729314352,0.4684023556979828861735,\
+-2.0819698824296395400779,-1.8736446723365958177965,0.5032045449115828406050,\
+1.0514506638411960093293,-0.5657157774822674234372,-0.2842153768346438180714,\
+0.1431506224954579853392,1.0806316268163596028273}
+
+/*
+#define RESULT {-1.4744610660983759053977+%i*1.5707963267948965579990,\
+-3.2795029213225106445861+%i*1.5707963267948965579990,0.2422041646840577544531,\
+-0.5752297863073998485106+%i*1.5707963267948965579990,\
+0.7121630945985538696519-%i*1.5707963267948965579990,0.4243803995861772371256,\
+-0.1906833812311178877330,0.3372689843733094883227,0.5416475837340712917722,\
+-0.5861506043378337249550,-0.2077349615310257191503,-0.8651650049502660477785,\
+-1.0241615832881652004005,-0.6504743749122398055462,-0.5519965631116492410513,\
+-0.4691302795139216663678+%i*1.5707963267948965579990,\
+0.4584432136447526562328-%i*1.5707963267948965579990,\
+0.9076183700076346783092-%i*1.5707963267948965579990,\
+0.9185087029260963209509-%i*1.5707963267948965579990,0.1102422571172131521289,\
+-0.0648124440153749203919,0.0281882007066550886731,0.1358484485857832935185,\
+2.1004370090239423696232-%i*1.5707963267948965579990,\
+1.0924991774831627200371-%i*1.5707963267948965579990,-0.8060125587957032156083,\
+1.0172227264061333151801,1.736042493622687921118,-0.1863533018119427342452,\
+-0.7549561185313359290561,-0.4614170985204111286038,0.3046041145449288611857,\
+-1.8166306469319770666715,-0.9326970536559181512715,\
+3.1325332888309622703105-%i*1.5707963267948965579990,\
+-1.3792397781139973389486+%i*1.5707963267948965579990,\
+-1.5415589891296013203004+%i*1.5707963267948965579990,-0.0171150886014554831638,\
+-0.6712634278717346525411,0.1296776288627018158817,\
+0.7449048409492748934468-%i*1.5707963267948965579990,\
+-0.8355728364335629487769+%i*1.5707963267948965579990,\
+1.0237167786809893144095-%i*1.5707963267948965579990,-0.4002250855702985665729,\
+0.5275261647661907415952-%i*1.5707963267948965579990,-0.6365188485604326151801,\
+0.593818237113303393215,-1.1086074290970830968917+%i*1.5707963267948965579990,\
+0.5559215037224033428842-%i*1.5707963267948965579990,\
+-1.4188800488983950298660+%i*1.5707963267948965579990,-0.2030109524350925953584,\
+-1.2109116806527058241016,-0.618648185057067423465,-0.4406726279385401179312,\
+0.0807360417981298622569,1.3710194541092590725384-%i*1.5707963267948965579990,\
+0.0358784527834248925804,-1.041372191940861169357,0.1478800901804916689830,\
+1.1035975394582797637355,1.8759258138597765253053,0.2629805384285096581110,\
+0.6430289187352878910175,-0.5660273762902281458054,\
+-1.5862221930864266461469+%i*1.5707963267948965579990,0.1695819872689824647782,\
+1.7267400811821158601589-%i*1.5707963267948965579990,\
+0.8547625432037965209631-%i*1.5707963267948965579990,0.5402035003963170378682,\
+1.4525009288261496731565,0.5539201036322172200244-%i*1.5707963267948965579990,\
+-0.1844324167806210001963,-0.8089386385243267918455+%i*1.5707963267948965579990,\
+0.2955667016509896383170,0.0313028129649670083801,0.7108684384800065814147,\
+-1.0383547009634652713572,1.4799479994581337116699-%i*1.5707963267948965579990,\
+0.0442526991314810200229,0.6878256510027744852209-%i*1.5707963267948965579990,\
+-0.8434557413354200061661,-1.1364652701643074284021+%i*1.5707963267948965579990,\
+-0.1306969520152806707447,0.6762452782098172798797-%i*1.5707963267948965579990,\
+1.005717225984443130571-%i*1.5707963267948965579990,\
+-1.5273278613167085016045+%i*1.5707963267948965579990,1.2461250150575873263392,\
+-0.4763639926970618110325,-1.0549712063383256399618,1.5370414589157994633695,\
+-2.6233309837037732670240+%i*1.5707963267948965579990,0.5329709825316656379712,\
+0.0656342963912304455665,-0.3044404175419783142864,0.7166384348283165728333,\
+-0.4277478080499193535680,0.6675457063378462674308,-0.6224892627320329774321,\
+-0.2853073726746037097612,0.4474264519637772830052-%i*1.5707963267948965579990,\
+-0.5733611255013777441292,-0.8489115589330021860448,\
+1.4767492874056193929988-%i*1.5707963267948965579990,0.4675865941091252309114,\
+0.7215105644264150352996-%i*1.5707963267948965579990,-0.2485372004835029458025,\
+0.9533893539015392271097-%i*1.5707963267948965579990,0.9949139163386880868600,\
+-0.2888754177942080558772,0.0572963634231402757502,-0.3080752338091528041986,\
+0.3183705746036424866219,-1.7375264548714035583998+%i*1.5707963267948965579990,\
+-0.5142166878802835183748,0.4672787235144033601841,\
+-1.2044507032201230423141+%i*1.5707963267948965579990,\
+-0.5343152701155061690130+%i*1.5707963267948965579990,\
+-0.6759512002250491757849+%i*1.5707963267948965579990,-0.3426510354825004212032,\
+0.7655602779397917556636,1.3065460037453791031226-%i*1.5707963267948965579990,\
+-0.1368747459554155443406,1.4390524672743967293798-%i*1.5707963267948965579990,\
+-0.4067781526762131449892,-1.4774318344439005823432,-0.8024889348769219665769,\
+1.1393982155849557980076,-0.9552396245178285116850,-0.9598461538853348962164,\
+-0.8974087416560057040016,1.5281783215878395054688,\
+0.7019410287263873060581-%i*1.5707963267948965579990,0.6105122611902852325372,\
+-0.8280825291376695540535+%i*1.5707963267948965579990,-0.2271580885894484980181,\
+-0.0995012215536074662303,-2.6596162554083884188572,\
+-0.9212932842045244985485+%i*1.5707963267948965579990,\
+-0.6502044836894653734305+%i*1.5707963267948965579990,\
+0.6158791818865629874580-%i*1.5707963267948965579990,-0.2693325220287110521866,\
+-0.5507689268125864900938,-0.6719415444836209783119,\
+-0.9911235054617995032800+%i*1.5707963267948965579990,-0.4076140317144636981972,\
+-0.0225238830066269123120,-1.8597701914697917224828,\
+0.7233360518064337885136-%i*1.5707963267948965579990,\
+1.0977027535066357089022-%i*1.5707963267948965579990,-0.1558800560054872108573,\
+1.0623189198966227486665,-0.8575163748144335462698,-0.463854325361329367094,\
+0.7064828873383774965333,0.2713587745389601235679,-0.3287316374977890531817,\
+-1.6421667900158274377986,-0.8609439745036365776443,0.0106829139117793642938,\
+1.092393189014539744974,1.9620237692362385573119,0.8200147353723576948425,\
+0.0691827011392311119753,-0.6229915735462322468052+%i*1.5707963267948965579990,\
+-0.2657062181808059753152,0.8160024961656430209089,-0.4894047987117864928486,\
+0.8587006143920951073412,1.1051698569402153005115-%i*1.5707963267948965579990,\
+-0.2701243583599451381083,-1.1113900272171266525589,0.2908920738530955119039,\
+0.1172101729688146409813,3.2706795664298211612220-%i*1.5707963267948965579990,\
+0.4518615589828762768576,0.7020915980292293800957,\
+-0.8787256719819279693340+%i*1.5707963267948965579990,-0.9538277279422371357498,\
+-0.7330177387440419689568+%i*1.5707963267948965579990,-0.0441506837064596646680,\
+-0.8308242272476199508091,0.2915116980546684222197,0.2550214973106580407247,\
+0.1576133484131722883870,-2.8460534045826286764225+%i*1.5707963267948965579990,\
+-0.768075815339287371053,-0.4181165627609883528315+%i*1.5707963267948965579990,\
+-0.5448685867460187903788,0.3158443034854154785052,0.0051109317177532613205,\
+0.3613121056785816853640,0.5080216801947243787652,\
+-0.5233928099098102970643+%i*1.5707963267948965579990,\
+-0.5953313420807592182271+%i*1.5707963267948965579990,0.5535880446904775098460,\
+1.842839548963430384987-%i*1.5707963267948965579990,-0.6411995769353845409100,\
+-0.2922619465382557679689,0.1441406428551997020993,\
+1.6252679142635939602002-%i*1.5707963267948965579990}
+*/
+#define ZSOURCER {0.1566312085376346807664,-0.9832172164912469369824,-0.4352704306190940952703,\
+0.5411529581857100756892,-0.4189678441885264503775,-0.3123240835354778588417,\
+-0.6429953452754243459211,0.5746034575341304462270,0.0583200256392587754184,\
+-0.7281504683187327575666,0.4564682359303286474095,1.2276307555220513645367,\
+1.0722151830463704236251,-0.8694353593641974686790,0.4560977429718384712487,\
+0.922397585949679688078,0.3447492619094876808994,-1.2072516069836567442763,\
+-3.0311848873460989217676,-0.5227521113472203273531,-0.9127256852426085531604,\
+0.9702908997340189412029,0.7984557906741573951592,-0.374280495762714437991,\
+0.2178224309624917087724,-0.7621335705740988064605,0.4017588191443041689688,\
+0.0259981222714757570502,-2.250132425948803138738,0.5878367273362664624514,\
+2.3809410297786541832465,0.1486053165381447105364,0.101236219868174881498,\
+0.6421364318076420163450,-0.6540329098904471560871,-0.5416580949191436289425,\
+0.9514918150544823260972,-1.267340977798151469003,-0.8455403103569121281424,\
+-0.364558782701674466420,-1.0697180418170626481356,0.1606013529586497734503,\
+-1.6656989490484364058176,0.4667927145215887141383,-0.0128825329067423742513,\
+0.9947195275346620846335,0.8275102004468978256213,0.2927543106645062453985,\
+-0.9280170868066852651879,-0.3636959897126564866809,1.4783506936052415170479,\
+2.4281448731590140610592,-0.0602106018714212570808,1.541843889601811401491,\
+1.341076792855444343999,-1.9789304036759756133534,-0.3294688652910273685137,\
+0.622286327382227888450,-0.6118557906779339417014,0.7459354816620213934897,\
+-0.4040802511755230974622,0.6577039363065745325443,-0.5486081684530353941298,\
+0.3927975474240214537325,0.7894975295935096060163,-0.1452945797743281086678,\
+0.1437495883505973681693,0.4103084241265512188690,0.1795141291570316322002,\
+-2.0420270362087347137958,-1.0136631446624102537157,-0.6372521675576777733241,\
+-0.2601528835939894701568,1.1986221523039410907785,1.601129898882974078589,\
+-1.2343266797475058726974,0.9483471983582205666607,-0.0424058145973261885198,\
+0.5150673339403005757120,0.0937153808744289607002,0.4638195050716256706558,\
+0.2202932903531656105844,-0.6924450714085558233890,-0.6889026252552187257194,\
+0.4927201161848878685490,0.3688430529148965519859,-0.1495056200185169992256,\
+0.0956460878099940903230,0.8967077311519383586713,0.7486850824131056070243,\
+-0.3635393959060023716390,2.72178097931810514254,0.8872833757746945160250,\
+0.9893578306194498184212,0.8262130885403843327808,1.8679166202704664545564,\
+0.5569566531470352410693,-0.0576405625178402075681,0.8001172842696224751791,\
+0.4480121632350138050072,-0.2882322764074837784243,-0.2677211241656151097246,\
+0.2862315832454170316801,0.9463381000719524038800,-1.574827516423719320215,\
+1.7962971923614798885893,0.9930237578825827915452,1.17225507537484907594,\
+-0.9161863233099263315040,0.1421586828731320473196,-0.1430347256308386882928,\
+-0.4683233849545334614994,-0.3180446316984328336552,-0.0576576190062656410151,\
+0.6249620545306199259628,0.7539731616235149092020,-0.1134181356790778527621,\
+-0.3551074647649283821949,-1.5743164879335251882253,-0.3132427332940839193043,\
+-0.5345549536487770314608,-0.3108292305558989498948,-0.0698678127822071615149,\
+1.9098270701284520978191,0.3087451523556873911325,0.792464324566980904407,\
+-0.7089070907362685636244,-1.69657580301203281259,0.2839165766617411379436,\
+-1.9503478026750964424707,-0.8383432843348773699788,0.4243701560501659808544,\
+1.0206422864827822127864,0.1651260412410127109695,-2.4565661716609770159891,\
+1.3581676364949575308572,1.5976518292284813682613,1.038096252933477403602,\
+-0.2179395863297476365616,0.1906211564102877620286,0.1220518503007956001571,\
+1.7007780598076820410824,2.3461749520518053735429,-0.7583114756702955538969,\
+0.1563580374722161325796,0.9458374821601646109670,1.106385383701591562655,\
+1.857413924600636034867,0.9819266230329063427362,0.1010843883126317094279,\
+-0.0394749928167329941497,0.9565452494078602319050,-1.164240263162510835571,\
+-0.0360262254241734622418,-0.4279483181417821913151,0.0207154879461370518279,\
+0.1331812668838084079415,0.0637098112636336894044,0.5563753726211196903861,\
+2.170691821782472885616,-1.4105863647114469383581,-0.3956456917805734052607,\
+-0.7536155387925271842420,-0.1512156734265959479036,-1.0252674376565367175829,\
+0.9250804906985814479725,0.0319417929504777348138,-0.3662171854280546479110,\
+0.9733260674698945846828,-0.2668109355235854240895,0.9653716053391865337119,\
+0.5007936673782547032374,-0.1208939822530236685161,1.0971085072938426829836,\
+0.2029604338428208087919,0.3746473304704570073120,0.9561076870030955632274,\
+1.1282520720814495085449,1.5637873924930061342309,0.4739411474762828535567,\
+-0.9908999627117486275196,0.4483771591380850130015,0.7638174840760570960541,\
+1.21967084705659489785,-1.1141855892005874117956,0.3637931277318062761594,\
+0.0172116174170295101187,-0.5359859794230503737822,1.7180258735531828140353,\
+-0.4389711879238100133982,-0.5289769194381308548003,-0.2349363816328474963147,\
+-1.770826942434098993928,-0.2698746134406798669048,-1.6219764795098883247704,\
+-0.4683402918639187895167,0.4233140865550635290049,0.5072350201185169549234,\
+1.846909249365268790299,0.8538988411566506009365}
+
+#define ZSOURCEI {-1.2880264074010461250452,-0.9681461673606511775247,0.8819263929226937026584,\
+-0.2968181427237222558269,0.3676169132810200301797,-1.4546278949302484662098,\
+-0.4969724671301882223950,-1.3684785326259825133377,0.3201951876584711031981,\
+0.0925515282972030062236,-1.3629699188377910612502,1.3008264376880041002238,\
+-1.312881117519760332257,0.7519787618494813141723,-0.349314202941638340949,\
+-0.6612113457421112672208,-0.1912192548186895935114,-0.2871763408135362682927,\
+2.1040662039819300055399,0.6770601919983177952034,-0.9998765495359557275989,\
+1.0320694267454630921321,0.5184250597548623051836,0.3020078279774962016,\
+-0.2426203970909892593255,1.085343122387009806573,0.3728224888143483184422,\
+0.3597109342835585477083,-0.5464095547489105086925,-0.0522892744113094345981,\
+-0.0037796004128336437196,1.3386616898503973516199,-0.8603866811447716811401,\
+-0.215138661778858181206,-0.1519505658345833010170,-0.0684049031594022166614,\
+0.3134237083474871732314,-0.2552970754123656815793,1.0371924512876768975644,\
+-2.4944520251764212837031,-0.9105655292839007763916,-0.5967335487543307115388,\
+-0.6520109300715212219401,1.891233309015407648701,-0.7688305781614098721732,\
+0.1640648747943601049037,-0.613585069751534706306,-0.2234197861121311190491,\
+1.9233974415188206386063,0.315204859780382373735,0.4595542257467975510998,\
+-1.1764564844019769207506,-2.1928435621757311757563,-0.3567337876240649907622,\
+1.4844812942744205486179,0.2127167501638982105572,0.326665566953199926203,\
+-0.3823116465408597508535,1.1195697860125490841199,0.3156195041989769412005,\
+-1.3411228504687704443654,1.2817926351994635147946,-0.8385592799769060468051,\
+0.2920629737538525949603,0.4117329700106473477916,0.8168979807640022183790,\
+0.6114286447089312126479,-0.9103003485572774833301,0.0883797323534893930486,\
+-0.8309636819350860736932,0.300088746736916378577,-0.9870316877320252091366,\
+0.0574605523525985317779,-0.0055294403676948468418,-0.4910286442216560409690,\
+-0.9282905300686704608282,-0.9620222168730435674533,1.5101979946106838248454,\
+0.16215452036647093337,0.8355679951054210130579,0.2598273768449387843837,\
+-0.8781794540671359339257,-0.0960593767304002976726,-0.8457942620552999501982,\
+-1.5126206512504021262089,0.0267016916333849170517,-0.0455102979008666919114,\
+-0.9512410833653791586428,-0.1410038404270228529214,0.8526701417894808621156,\
+-0.5427383894147087550763,0.3670995115141847953133,-0.4196045805115825033660,\
+-0.861511165291383607112,-0.5242638386479363532544,-1.0690056931583220567461,\
+-1.204258995571379831091,-0.1994216356488724417595,-0.651264013076401249158,\
+-1.2804046190990912013064,-0.1189798590125256405603,0.2757828726342566594276,\
+0.1186787898486535430820,-0.9717707229710241811915,-0.2337132662497607982210,\
+-1.2810105417899781965474,0.4516508120864454189913,-1.7941677742351858082515,\
+1.2424962452829722003855,-0.1452111265545129592525,0.803374036348334819024,\
+2.2359407014896999221776,0.0801276770871145183062,0.1489247936009177042394,\
+0.3146211320275099643240,-1.49119197842913098206,-0.8212344459793755602206,\
+-1.3094646972226284820096,-0.2661055404338998897629,0.2164009824597608044883,\
+0.4021554472831923576770,1.0836546525394512574536,-0.8330897968467666503400,\
+-1.2783354864784060023197,1.0944391027576960695455,0.5158321013729825210703,\
+0.5039256424604841022585,-1.1530018443600813515815,0.5567649276400054025871,\
+1.5507245891800580661624,2.0511800424609365478545,0.2003839203406024560561,\
+-0.5188228347179002497569,-0.5014579405716672599880,0.2409475853154263991218,\
+-1.2895515809257553918599,1.3505164949531500706570,-1.7662555890569775485233,\
+0.0695313390316097817978,0.4857809488385180229919,-1.54949381746834280449,\
+-0.5022279078645265348868,-0.4715667339089154030951,0.9071363416804920642988,\
+-0.0090747242741150424550,-1.426140714401586517823,0.0902619806757116310836,\
+-0.7111783918397256432087,0.4421886947944868029303,1.3229936148586256550175,\
+0.0399972677459073389095,-0.2744759605679197855821,-0.6365722011642755973071,\
+0.0838977431731276618310,-0.0154779602574307128399,1.3680369604712516728995,\
+0.8578728691952266505183,0.9477645632263477226687,0.4034044727794333096149,\
+-0.1637512612660888822180,-1.521579761721328916124,0.7389202762668894974851,\
+1.6242287608009475796678,0.0251523200085141500348,-0.2296479198161843759962,\
+0.3374847554612029343346,1.0988696857027278053209,0.6720077941707034430152,\
+1.6284314621145825618953,1.2811365743500131575416,-0.6480287734962971724073,\
+0.4079918994040774293808,-0.6857363255654103095793,0.1644734231427373016832,\
+-0.9707468997532966437092,-1.0103908741767126944211,-0.3245462572729273520444,\
+0.3569008288111439886059,1.1707819570142721232742,0.0931015649413182710958,\
+1.2605162559518456877328,-0.2998099303847839292025,-1.8576048661033506270712,\
+0.3542284165121863948045,-0.3606813370588974332343,-0.1691565053601437607078,\
+-1.3723457158075849093848,-0.3869812789951324605298,1.327934065790971063237,\
+0.6883264291332520379285,1.1636463404567130019984,-1.6679940626595868291560,\
+-1.1660526540945894691248,2.4012435579972462029730,1.8717476066252398680945,\
+0.6269431765551266577674,-0.7276289505214773578601,0.5485159953217271233683,\
+-1.0371187436769986334184,2.282202076649753941240}
+
+#define ZRESULTR {0.0586345786159515672264,-0.4119079581767730036113,-0.2376773392005311347219,\
+0.5274985111723742292611,-0.3785076402666358030835,-0.0984442400006558665515,\
+-0.5157322835496214175066,0.1877549307968403857760,0.0529309487949000886942,\
+-0.8980782630098248509043,0.1535280327645664466552,0.3347825460369071581823,\
+0.3118103625565722958335,-0.4854100811784345381739,0.4200271027799429846006,\
+0.558160367722654870981,0.3440445808210612077538,-0.9190853850068781971672,\
+-0.2206972238733744262618,-0.3495146734241325048309,-0.3828254526784128919381,\
+0.3837160824181031770763,0.6067122840309074893739,-0.3528285483819846302112,\
+0.2081338122939639656561,-0.3109916924279712002743,0.3607981848765179355709,\
+0.0230220619188065515892,-0.4409843876587154487545,0.6706334235337022553480,\
+0.4476928944367338791821,0.0530051009287677843407,0.0580922710665942171326,\
+0.6889248635636368023327,-0.7403179849986993854571,-0.6014835481325517818618,\
+0.9148458682398055152873,-0.9100406392834269331260,-0.3512629496668798201320,\
+-0.0497281250251861567380,-0.4533232590993708788218,0.1183827451686376569517,\
+-0.5400714293963024825729,0.0986159601519734224651,-0.0080964813496256192449,\
+1.2504251172076377152109,0.553383982176059552316,0.2851532314993195926789,\
+-0.1735373380028721046475,-0.3392884681219434650501,0.6674877635610125814480,\
+0.3361668249120546292374,-0.0103608516149833115860,0.6876886023380593959686,\
+0.2994018975364160506381,-0.5461669463711513738957,-0.3036470157958083837535,\
+0.5659099835134179246054,-0.2522688982901432619421,0.73840604848731461463,\
+-0.1399717847889199173750,0.2285367773899925347703,-0.3073816797691770186240,\
+0.3738323046463303267473,0.6895008314715558306318,-0.0869179912549136179933,\
+0.1045814791078650968226,0.2183617419002600035238,0.1799962512946713666384,\
+-0.4306170362358095471400,-0.956790010441086580251,-0.2988659063401313820130,\
+-0.26528818791890551587,1.2018988344435987958292,0.6134078020904577543959,\
+-0.4635409097157874858119,0.4066731412601408690577,-0.0129216461290907521503,\
+0.5459518490067882812156,0.0551242941387568297085,0.4571890743247491450951,\
+0.1235106929418888221939,-0.8301715333893021631084,-0.3700021952100086553017,\
+0.1433522018206848380739,0.3867313699737674470569,-0.1503114555841373045642,\
+0.0501390172375495365986,1.193524050554648274769,0.3916234392819171183930,\
+-0.2811037877759303138525,0.3767282302151824247005,0.7464338830239950484113,\
+0.4613726054161970124845,0.6177367275920276901147,0.3993738908711506052640,\
+0.2139276426895061200550,-0.0554860078847602203322,0.5165924809229520686671,\
+0.1633124027176871273515,-0.2918709165103665625907,-0.2528080890770357247455,\
+0.2897583915934112130941,0.4021736360794072595581,-0.713539018877845987454,\
+0.3562716257530119112751,0.7547097044407786725628,0.2233423544188815612621,\
+-0.3032157270895312062287,0.1400739703409606129458,-0.0867211925226533952848,\
+-0.0758855325499612903828,-0.3269646450472631915574,-0.0564625318897502212478,\
+0.6090972295195002939039,0.2104281878811394279616,-0.0676285383445118792878,\
+-0.1277092508406163506862,-0.7041149381903939463712,-0.3071683332013411815709,\
+-0.4736979352269045095980,-0.1404550230528205378988,-0.0412179517191962191403,\
+0.3529283428251930310182,0.1380434056063472858522,0.6051661095195016715209,\
+-0.5594498837332433360814,-0.3889971602159096875084,0.2168075281019664068971,\
+-0.3028666557798217473518,-0.1458483340857026078208,0.4293137169051447488144,\
+0.6953697523295457871839,0.1321249855766219449826,-0.4265596445818128912286,\
+0.3486234081846604770938,0.3421608935025099995642,0.2115120471977689209364,\
+-0.2203370156751261743633,0.1545639581145290264441,0.0357922784779254460341,\
+0.5794250482661091883330,0.4312552311016552564205,-0.3727620017605887681178,\
+0.1576377379130869393897,0.2624856474568436071060,1.3577286999442579329411,\
+0.4860182340340697959569,0.7617714539289787145648,0.0366834217396586823035,\
+-0.0394322693273299676453,0.9807192175900326658322,-0.6164954700307514467994,\
+-0.0357893654572665059765,-0.4572287236587250780495,0.0072135289476597582586,\
+0.0765359692550191955673,0.0335408660165012612042,0.4931690601828112585636,\
+0.4939993220457917777466,-0.296325232124018844715,-0.2516901659302647753513,\
+-0.1874945429943649932714,-0.1522841974461120184703,-1.0886404519839611992893,\
+0.8661426586684568551533,0.0144669239838038730245,-0.2498600121525025030689,\
+0.2258303913936256790418,-0.0996627600161344717744,0.5798388843647412915772,\
+0.4402912178536843579302,-0.0821496253311937152386,1.1995498265712831731378,\
+0.1037875988793510867447,0.1808411497687466285011,0.9003994950861190504909,\
+0.8693703906397208802659,0.3871229651004495231348,0.5084262016718109622460,\
+-0.3127921352240150554280,0.4284515458646944163768,0.1566612259199449408431,\
+0.8425254932446538669311,-0.8675086878856705929763,0.3679908151081396905369,\
+0.0059690185652748976169,-0.4818927853047598741654,0.3475368987720111602080,\
+-0.2928677403656957944911,-0.21281918945471237081,-0.0615315656203920743894,\
+-0.3828854358877186170318,-0.0395445045895176927608,-0.2453056840726963727661,\
+-0.3319274210060903507191,0.2716611153754885932265,0.3885772436850290501020,\
+0.4083161225294907326067,0.1256636073410991871757}
+
+#define ZRESULTI {-0.9150826723701824816359,-1.0038007968241344780580,0.7761168535216221853190,\
+-0.3822213477951738047622,0.4088073079437265500147,-0.9829838814461281382151,\
+-0.6207924428978939257462,-0.9924436424002488488227,0.3107781745847606469368,\
+0.190823563908477877860,-0.9717930993017909191423,1.1362832817249874928223,\
+-1.0952400709881249252220,0.8906629459042527674484,-0.4031733379746096357366,\
+-0.8926214809458651311402,-0.2125955165236021182640,-1.1626545105534673574255,\
+1.4098114180999468114663,0.6875898477221956683891,-0.9827065462915589577619,\
+1.0122682558571856059615,0.7403338169936454216113,0.3329978318477040399870,\
+-0.2487126175192662380642,0.9535461622187894059621,0.4086259224331897366156,\
+0.3454903551399998162807,-1.4480476267508943788442,-0.0795552773231696652712,\
+-1.5699867995861691571946,0.9329922799220887741356,-0.7134073946597112581003,\
+-0.3357762973784728099957,-0.2527252112264842809353,-0.0962463379406888058787,\
+0.7882465889811950399135,-1.2456800812145352175264,0.9674854545265952898703,\
+-1.1957951138140576752278,-1.0308375326751320066876,-0.5464592420922904647540,\
+-1.3032325007401501792970,1.1035601617683621356036,-0.6554945586705149818130,\
+0.8103435172856551238496,-0.8103372317467707475203,-0.2385573277010208381732,\
+1.1587938021757215878438,0.3435431890072572769235,1.279788873802896409515,\
+-1.3915550484745486947702,-1.143175630086853633571,-1.3493948361964505089361,\
+1.180878018812092644652,1.4994549779312595916281,0.3471363780379303487500,\
+-0.5114436565324694816681,0.922077454999635448551,0.5359370502466848096290,\
+-0.9575622722618749582679,0.9840232928412098178939,-0.7866361736794498238368,\
+0.3275153905103054818859,0.6621644080795368036974,0.6911787537867797315272,\
+0.5555203262090003812901,-0.7845741854114917090968,0.0910458923193785268912,\
+-1.367532424689007264362,0.8821163892946874973688,-0.8805618815721650838313,\
+0.0615381817744835926676,-1.5581379012861951149915,-1.3216226160366340014463,\
+-1.1059140418930615279436,-0.9879008462145800750775,0.986169123983388073995,\
+0.2146596902165759102044,0.6986026791593697993221,0.3134566221055383739014,\
+-0.7342575229927524871343,-0.1797145584041555665955,-0.8413107892059722425770,\
+-1.019619130948550722593,0.0308925093685123823561,-0.0465149720271331584831,\
+-0.7628135267341744629732,-0.5063811875785856342347,0.8689285269800102184945,\
+-0.5424489267017504889878,1.5149231207825908374076,-0.7635699257253423244407,\
+-0.9835608360649982229162,-0.7651335213236122312352,-1.3047698554262849857110,\
+-0.9383103802342007693227,-0.1974540431056293898759,-0.8100733516290339331078,\
+-0.9439058311312691351702,-0.1288637100697393178539,0.2871927052822376702501,\
+0.1283857487876574610119,-0.9893521517129132414325,-1.4229736910621084700068,\
+-1.278268082403663186142,0.88910168768678732309,-1.1784373117164359534570,\
+1.03935358865908744619,-0.1470722349218777647017,0.6828818013490814964328,\
+1.1635383473949738597497,0.0888393991592487247688,0.1483135488190464867930,\
+0.4446342289575472839225,-1.055940453660143329984,-0.6913288042725108661912,\
+-0.9407243087808065951094,-1.4053508981321376491991,0.2342864098211708545616,\
+0.4844410101414913238926,0.8475776035888460402390,-0.6960123633858344982528,\
+-1.3016421578221382127083,0.8519589639880413844963,0.7342440505866469901974,\
+0.6668635124458689444893,-1.2591545397069716649696,0.535024814500131951078,\
+1.30226369708141054282,1.1661057476987222170095,0.2373787574293542146364,\
+-0.9309471081116736934646,-0.4736579850459717855315,1.5236251088004300058287,\
+-1.171065543003733777638,1.2334327135159162125433,-1.153213069447322158823,\
+0.0728510737378383066432,0.4639741641063248600574,-0.9996734202650466860618,\
+-1.3518108187607991155232,-1.4723273061328936428538,0.8933558949405833171653,\
+-0.0093018535376701225181,-1.0826576750905823054438,1.2404141733855511553486,\
+-1.3465428092378513014182,0.8747309046321107839361,0.9253397074562169644096,\
+0.0400381835355557713640,-0.7765785126027255902414,-1.0546807717631738743336,\
+0.0838092326986521196641,-0.0189446011407611511479,0.9396543988269212555053,\
+0.7141040044798073749277,0.7596541492574908627233,0.4957818734457210552158,\
+-1.5271090619693206136276,-1.1987057982776780917789,0.6860846415801318265437,\
+1.0836815939774062655943,0.0257348439490480244973,-0.8966457616590515211641,\
+0.7629454929184202871539,0.8326995831057554253718,0.6358947917453465770166,\
+1.122174794910343109677,0.9210086183100237855470,-0.9179542949015334629692,\
+0.4753128844824887067055,-0.6057418122474197419436,1.0912054352763760345368,\
+-0.7811598998629154522177,-0.8252118132068452238670,-0.8003932093064218822320,\
+1.040963230413896711823,1.2239764586679500180111,0.1191234084420016575701,\
+1.064003892301497833373,-0.3509788166940612241795,-1.1278108079499422622405,\
+1.1420720075136889803957,-1.0231852297083139369249,-0.1916370368791805167685,\
+-0.941129540386991148004,-0.4709650954727132576849,1.2604683484747309929475,\
+0.6665567013842946808566,0.9183588395793375047660,-1.0371195264398431756803,\
+-1.276620042706810842503,1.1799805845600985776400,1.255793767839696428723,\
+0.6354974793467924598644,-0.6865980682751140484754,0.5939555774818401356896,\
+-1.3024651432778990844952,1.197724373266410013983}
+
+#define RESULT {-1.4744610660983759053977,-3.2795029213225106445861,0.2422041646840577544531,\
+-0.5752297863073998485106,0.7121630945985538696519,0.4243803995861772371256,\
+-0.1906833812311178877330,0.3372689843733094883227,0.5416475837340712917722,\
+-0.5861506043378337249550,-0.2077349615310257191503,-0.8651650049502660477785,\
+-1.0241615832881652004005,-0.6504743749122398055462,-0.5519965631116492410513,\
+-0.4691302795139216663678,0.4584432136447526562328,0.9076183700076346783092,\
+0.9185087029260963209509,0.1102422571172131521289,-0.0648124440153749203919,\
+0.0281882007066550886731,0.1358484485857832935185,2.1004370090239423696232,\
+1.0924991774831627200371,-0.8060125587957032156083,1.0172227264061333151801,\
+1.736042493622687921118,-0.1863533018119427342452,-0.7549561185313359290561,\
+-0.4614170985204111286038,0.3046041145449288611857,-1.8166306469319770666715,\
+-0.9326970536559181512715,3.1325332888309622703105,-1.3792397781139973389486,\
+-1.5415589891296013203004,-0.0171150886014554831638,-0.6712634278717346525411,\
+0.1296776288627018158817,0.7449048409492748934468,-0.8355728364335629487769,\
+1.0237167786809893144095,-0.4002250855702985665729,0.5275261647661907415952,\
+-0.6365188485604326151801,0.593818237113303393215,-1.1086074290970830968917,\
+0.5559215037224033428842,-1.4188800488983950298660,-0.2030109524350925953584,\
+-1.2109116806527058241016,-0.618648185057067423465,-0.4406726279385401179312,\
+0.0807360417981298622569,1.3710194541092590725384,0.0358784527834248925804,\
+-1.041372191940861169357,0.1478800901804916689830,1.1035975394582797637355,\
+1.8759258138597765253053,0.2629805384285096581110,0.6430289187352878910175,\
+-0.5660273762902281458054,-1.5862221930864266461469,0.1695819872689824647782,\
+1.7267400811821158601589,0.8547625432037965209631,0.5402035003963170378682,\
+1.4525009288261496731565,0.5539201036322172200244,-0.1844324167806210001963,\
+-0.8089386385243267918455,0.2955667016509896383170,0.0313028129649670083801,\
+0.7108684384800065814147,-1.0383547009634652713572,1.4799479994581337116699,\
+0.0442526991314810200229,0.6878256510027744852209,-0.8434557413354200061661,\
+-1.1364652701643074284021,-0.1306969520152806707447,0.6762452782098172798797,\
+1.005717225984443130571,-1.5273278613167085016045,1.2461250150575873263392,\
+-0.4763639926970618110325,-1.0549712063383256399618,1.5370414589157994633695,\
+-2.6233309837037732670240,0.5329709825316656379712,0.0656342963912304455665,\
+-0.3044404175419783142864,0.7166384348283165728333,-0.4277478080499193535680,\
+0.6675457063378462674308,-0.6224892627320329774321,-0.2853073726746037097612,\
+0.4474264519637772830052,-0.5733611255013777441292,-0.8489115589330021860448,\
+1.4767492874056193929988,0.4675865941091252309114,0.7215105644264150352996,\
+-0.2485372004835029458025,0.9533893539015392271097,0.9949139163386880868600,\
+-0.2888754177942080558772,0.0572963634231402757502,-0.3080752338091528041986,\
+0.3183705746036424866219,-1.7375264548714035583998,-0.5142166878802835183748,\
+0.4672787235144033601841,-1.2044507032201230423141,-0.5343152701155061690130,\
+-0.6759512002250491757849,-0.3426510354825004212032,0.7655602779397917556636,\
+1.3065460037453791031226,-0.1368747459554155443406,1.4390524672743967293798,\
+-0.4067781526762131449892,-1.4774318344439005823432,-0.8024889348769219665769,\
+1.1393982155849557980076,-0.9552396245178285116850,-0.9598461538853348962164,\
+-0.8974087416560057040016,1.5281783215878395054688,0.7019410287263873060581,\
+0.6105122611902852325372,-0.8280825291376695540535,-0.2271580885894484980181,\
+-0.0995012215536074662303,-2.6596162554083884188572,-0.9212932842045244985485,\
+-0.6502044836894653734305,0.6158791818865629874580,-0.2693325220287110521866,\
+-0.5507689268125864900938,-0.6719415444836209783119,-0.9911235054617995032800,\
+-0.4076140317144636981972,-0.0225238830066269123120,-1.8597701914697917224828,\
+0.7233360518064337885136,1.0977027535066357089022,-0.1558800560054872108573,\
+1.0623189198966227486665,-0.8575163748144335462698,-0.463854325361329367094,\
+0.7064828873383774965333,0.2713587745389601235679,-0.3287316374977890531817,\
+-1.6421667900158274377986,-0.8609439745036365776443,0.0106829139117793642938,\
+1.092393189014539744974,1.9620237692362385573119,0.8200147353723576948425,\
+0.0691827011392311119753,-0.6229915735462322468052,-0.2657062181808059753152,\
+0.8160024961656430209089,-0.4894047987117864928486,0.8587006143920951073412,\
+1.1051698569402153005115,-0.2701243583599451381083,-1.1113900272171266525589,\
+0.2908920738530955119039,0.1172101729688146409813,3.2706795664298211612220,\
+0.4518615589828762768576,0.7020915980292293800957,-0.8787256719819279693340,\
+-0.9538277279422371357498,-0.7330177387440419689568,-0.0441506837064596646680,\
+-0.8308242272476199508091,0.2915116980546684222197,0.2550214973106580407247,\
+0.1576133484131722883870,-2.8460534045826286764225,-0.768075815339287371053,\
+-0.4181165627609883528315,-0.5448685867460187903788,0.3158443034854154785052,\
+0.0051109317177532613205,0.3613121056785816853640,0.5080216801947243787652,\
+-0.5233928099098102970643,-0.5953313420807592182271,0.5535880446904775098460,\
+1.842839548963430384987,-0.6411995769353845409100,-0.2922619465382557679689,\
+0.1441406428551997020993,1.6252679142635939602002}
+
+
+void datanhsTest() {
+ double in[]= SOURCE;
+ double res[]= RESULT;
+ double out;
+ int i=0;
+
+ for (i=0;i<200;i++){
+ out=datanhs(in[i]);
+ if (disnans(out)) assert(1);
+ else {
+ assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-15);
+ }
+ }
+}
+
+void zatanhsTest() {
+ double inR[]=ZSOURCER;
+ double inI[]=ZSOURCEI;
+ double resR[]=ZRESULTR;
+ double resI[]=ZRESULTI;
+ doubleComplex in, out;
+ int i=0;
+
+ for (i=0;i<200;i++){
+ in=DoubleComplex(inR[i],inI[i]);
+ out=zatanhs(in);
+ assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <3e-15);
+ assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <3e-15);
+ }
+ out=zatanhs((DoubleComplex(2.0/10.0,11.0/10.0)));
+ assert( ( (fabs(zreals(out)-0.0898435002269743487879)) / (fabs(zreals(out))) ) <3e-15);
+ assert( ( (fabs(zimags(out)-0.8419736541926906570055)) / (fabs(zimags(out))) ) <1e-15);
+
+}
+
+void datanhaTest(void) {
+ double in[]= SOURCE;
+ double res[]=RESULT;
+ double out[200];
+ int i=0;
+
+ datanha(in,200,out);
+ for (i=0;i<200;i++){
+ if (disnans(out[i])) assert(1);
+ else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-15);
+ }
+}
+
+void zatanhaTest(void) {
+ double inR[]=ZSOURCER;
+ double inI[]=ZSOURCEI;
+ double resR[]=ZRESULTR;
+ double resI[]=ZRESULTI;
+ doubleComplex in[200], out[200];
+ int i=0;
+
+ for (i=0;i<200;i++){
+ in[i]=DoubleComplex(inR[i],inI[i]);
+ }
+ zatanha(in,200,out);
+ for (i=0;i<200;i++){
+ assert( ( (fabs(zreals(out[i])-resR[i])) / (fabs(zreals(out[i]))) ) <3e-15);
+ assert( ( (fabs(zimags(out[i])-resI[i])) / (fabs(zimags(out[i]))) ) <3e-15);
+ }
+}
+
+
+
+int testAtanh() {
+ printf("\n>>>> Double Hyperbolic Arctangeant Tests\n");
+ datanhsTest();
+ zatanhsTest();
+ datanhaTest();
+ zatanhaTest();
+ return 0;
+}
+
+int main() {
+ assert(testAtanh() == 0);
+ return 0;
+}
diff --git a/src/c/elementaryFunctions/atanh/testFloatAtanh.c b/src/c/elementaryFunctions/atanh/testFloatAtanh.c
new file mode 100644
index 0000000..3addb95
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/testFloatAtanh.c
@@ -0,0 +1,600 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "testAtanh.h"
+#include "isnan.h"
+
+
+#define SOURCE {-1.1105866164187250255679f,-1.0028386111936116176224f,0.2375765916352992890292f,\
+-1.9260782734203465427214f,1.6339029335662884623304f,0.4006142544568777608127f,\
+-0.1884054141613809019162f,0.3250370808239260722594f,0.4942341130822986983162f,\
+-0.5271214361991748420522f,-0.2047974713791562706433f,-0.6989092545405519718571f,\
+-0.7715561486980614391840f,-0.571989225566208348006f,-0.5020150984917894909643f,\
+-2.2857334641783242368263f,2.332010485133160226923f,1.3889136138977253853710f,\
+1.3789467621494246873937f,0.1097978131481585906126f,-0.0647218447158609960779f,\
+0.0281807372021152316433f,0.1350188864488831574917f,1.0304207301469319180143f,\
+1.2534650597477734468299f,-0.6673847151191693027883f,0.7687329161404042876526f,\
+0.9397659613234893294376f,-0.1842256540708016310237f,-0.6380964000421092130466f,\
+-0.4312384814994691395462f,0.2955203345655439961526f,-0.9485014036835781592316f,\
+-0.7318488744075331009498f,1.0038104194654713374746f,-1.1353561092070965088396f,\
+-1.0960321876977914268281f,-0.0171134176442899188508f,-0.5858103496627128370378f,\
+0.1289555865425900393895f,1.5820296359767425098397f,-1.4631497998103890623156f,\
+1.2963845181574007447978f,-0.3801415377268548834166f,2.06830447887869084411f,\
+-0.5625246161593648874799f,0.5326361661049561213588f,-1.2444472935191353002438f,\
+1.98041335297601972520f,-1.1243976757801756871658f,-0.2002672475586080858001f,\
+-0.8369527550627472445299f,-0.5501861155367867572963f,-0.4142018271607930679501f,\
+0.0805610771656549429220f,1.1377543872793591805959f,0.0358630657002049213489f,\
+-0.7784293535508046701921f,0.1468114639619267913773f,0.8017875463824070125796f,\
+0.9541283226908341408290f,0.2570812112878080313294f,0.5669583797452802942374f,\
+-0.5124357940757415796895f,-1.0874670623228419596984f,0.1679748561443953069894f,\
+1.0653376770396050243761f,1.4418584607257751706300f,0.4931419934636970814346f,\
+0.8961862868877283894165f,1.9862847823434610639026f,-0.1823693074986679762972f,\
+-1.4947586037652456081304f,0.2872503175279246256935f,0.0312925927822978733328f,\
+0.6112211190486463996407f,-0.7772375221664085120921f,1.1093137211625221372202f,\
+0.0442238350338455751820f,1.6762117307909378816078f,-0.6876351157010545112058f,\
+-1.22967891951066876643f,-0.1299578267276684795384f,1.6975824415216096419101f,\
+1.308926550069704708434f,-1.098941911191897657929f,0.8471934585094353931112f,\
+-0.4433269337102597185130f,-0.7837315591442685080992f,0.9116218827858540985076f,\
+-1.0105858633572861737804f,0.4876488481804939212338f,0.0655402107055627763943f,\
+-0.2953709263667435580558f,0.6148227532021686148056f,-0.4034374023520052587877f,\
+0.5833631341612930398810f,-0.5528588193199002187583f,-0.2778100246524093375200f,\
+2.382193101614083818873f,-0.5178234271111435971235f,-0.6905004153871671102038f,\
+1.1100538942612350190586f,0.4362472672541874985086f,1.6185312525007526929244f,\
+-0.2435431173062182208522f,1.3489566990051822248375f,0.7594498437474611618470f,\
+-0.2810994191894010674204f,0.0572337467470783664569f,-0.2986850540752242211262f,\
+0.3080328437634018978741f,-1.063898707867213300204f,-0.4732241206771939379117f,\
+0.4359979545522715271844f,-1.1975945596394972358922f,-2.0463590761656762495591f,\
+-1.6981361097863292286547f,-0.3298420709745075729558f,0.6443404115154376388119f,\
+1.1582132747946760620295f,-0.1360263343598554774960f,1.1191856336437415730956f,\
+-0.3857336264473540388131f,-0.9009857125105711350699f,-0.6654259233895634118028f,\
+0.8142113557520732625150f,-0.7421459588282103281287f,-0.7442082361451903826932f,\
+-0.7150337980929084569226f,0.9101123379002086233314f,1.6512593716591941195304f,\
+0.5444875921569681809231f,-1.4717893200735545633506f,-0.2233299046672752585785f,\
+-0.0991741463892287511417f,-0.9902546973703609811679f,-1.376446086882661790085f,\
+-1.7488399727971684072259f,1.8239775508132596293365f,-0.2630036367047015599674f,\
+-0.5010962842642737724574f,-0.5862555775092695986572f,-1.3195380346103915414346f,\
+-0.3864449051827200110054f,-0.0225200748008141174439f,-0.9526576040369814091235f,\
+1.6155833271255157779223f,1.2505121957121025921822f,-0.1546296525315759562424f,\
+0.7865497689541539605429f,-0.6949758322935190024694f,-0.4332203785337710999492f,\
+0.6084666055394067907258f,0.2648887243137521552150f,-0.3173806367287662633103f,\
+-0.9277748648924035723695f,-0.6967437125955047161341f,0.0106825075357279020843f,\
+0.7977499585474604471003f,0.9612439572909651230859f,0.6750778949370804804531f,\
+0.0690725368983376858401f,-1.8076399886892613455558f,-0.2596249600654364497743f,\
+0.6728882350569161951981f,-0.4537439012069451327314f,0.695587590556807633391f,\
+1.2463414096089968641223f,-0.2637405473740589423315f,-0.8045531944567444471161f,\
+0.2829556705817293793537f,0.1166763530431780965246f,1.0028892209395869894450f,\
+0.4234280063942446603598f,0.6056937191431178701961f,-1.4168714241399820163991f,\
+-0.7415110426654055730822f,-1.6002352979874459038001f,-0.0441220186662526561716f,\
+-0.6809183287313597121582f,0.2835255852521558761481f,0.2496331067144885174081f,\
+0.1563210463282909690186f,-1.006767784835231216434f,-0.6458091780006059989816f,\
+-2.529451976430145521135f,-0.4966644528621277365765f,0.3057445000796202294602f,\
+0.0051108872162743653259f,0.3463692486733729314352f,0.4684023556979828861735f,\
+-2.0819698824296395400779f,-1.8736446723365958177965f,0.5032045449115828406050f,\
+1.0514506638411960093293f,-0.5657157774822674234372f,-0.2842153768346438180714f,\
+0.1431506224954579853392f,1.0806316268163596028273f}
+
+#define RESULT {-1.4744610660983759053977f,-3.2795029213225106445861f,0.2422041646840577544531f,\
+-0.5752297863073998485106f,0.7121630945985538696519f,0.4243803995861772371256f,\
+-0.1906833812311178877330f,0.3372689843733094883227f,0.5416475837340712917722f,\
+-0.5861506043378337249550f,-0.2077349615310257191503f,-0.8651650049502660477785f,\
+-1.0241615832881652004005f,-0.6504743749122398055462f,-0.5519965631116492410513f,\
+-0.4691302795139216663678f,0.4584432136447526562328f,0.9076183700076346783092f,\
+0.9185087029260963209509f,0.1102422571172131521289f,-0.0648124440153749203919f,\
+0.0281882007066550886731f,0.1358484485857832935185f,2.1004370090239423696232f,\
+1.0924991774831627200371f,-0.8060125587957032156083f,1.0172227264061333151801f,\
+1.736042493622687921118f,-0.1863533018119427342452f,-0.7549561185313359290561f,\
+-0.4614170985204111286038f,0.3046041145449288611857f,-1.8166306469319770666715f,\
+-0.9326970536559181512715f,3.1325332888309622703105f,-1.3792397781139973389486f,\
+-1.5415589891296013203004f,-0.0171150886014554831638f,-0.6712634278717346525411f,\
+0.1296776288627018158817f,0.7449048409492748934468f,-0.8355728364335629487769f,\
+1.0237167786809893144095f,-0.4002250855702985665729f,0.5275261647661907415952f,\
+-0.6365188485604326151801f,0.593818237113303393215f,-1.1086074290970830968917f,\
+0.5559215037224033428842f,-1.4188800488983950298660f,-0.2030109524350925953584f,\
+-1.2109116806527058241016f,-0.618648185057067423465f,-0.4406726279385401179312f,\
+0.0807360417981298622569f,1.3710194541092590725384f,0.0358784527834248925804f,\
+-1.041372191940861169357f,0.1478800901804916689830f,1.1035975394582797637355f,\
+1.8759258138597765253053f,0.2629805384285096581110f,0.6430289187352878910175f,\
+-0.5660273762902281458054f,-1.5862221930864266461469f,0.1695819872689824647782f,\
+1.7267400811821158601589f,0.8547625432037965209631f,0.5402035003963170378682f,\
+1.4525009288261496731565f,0.5539201036322172200244f,-0.1844324167806210001963f,\
+-0.8089386385243267918455f,0.2955667016509896383170f,0.0313028129649670083801f,\
+0.7108684384800065814147f,-1.0383547009634652713572f,1.4799479994581337116699f,\
+0.0442526991314810200229f,0.6878256510027744852209f,-0.8434557413354200061661f,\
+-1.1364652701643074284021f,-0.1306969520152806707447f,0.6762452782098172798797f,\
+1.005717225984443130571f,-1.5273278613167085016045f,1.2461250150575873263392f,\
+-0.4763639926970618110325f,-1.0549712063383256399618f,1.5370414589157994633695f,\
+-2.6233309837037732670240f,0.5329709825316656379712f,0.0656342963912304455665f,\
+-0.3044404175419783142864f,0.7166384348283165728333f,-0.4277478080499193535680f,\
+0.6675457063378462674308f,-0.6224892627320329774321f,-0.2853073726746037097612f,\
+0.4474264519637772830052f,-0.5733611255013777441292f,-0.8489115589330021860448f,\
+1.4767492874056193929988f,0.4675865941091252309114f,0.7215105644264150352996f,\
+-0.2485372004835029458025f,0.9533893539015392271097f,0.9949139163386880868600f,\
+-0.2888754177942080558772f,0.0572963634231402757502f,-0.3080752338091528041986f,\
+0.3183705746036424866219f,-1.7375264548714035583998f,-0.5142166878802835183748f,\
+0.4672787235144033601841f,-1.2044507032201230423141f,-0.5343152701155061690130f,\
+-0.6759512002250491757849f,-0.3426510354825004212032f,0.7655602779397917556636f,\
+1.3065460037453791031226f,-0.1368747459554155443406f,1.4390524672743967293798f,\
+-0.4067781526762131449892f,-1.4774318344439005823432f,-0.8024889348769219665769f,\
+1.1393982155849557980076f,-0.9552396245178285116850f,-0.9598461538853348962164f,\
+-0.8974087416560057040016f,1.5281783215878395054688f,0.7019410287263873060581f,\
+0.6105122611902852325372f,-0.8280825291376695540535f,-0.2271580885894484980181f,\
+-0.0995012215536074662303f,-2.6596162554083884188572f,-0.9212932842045244985485f,\
+-0.6502044836894653734305f,0.6158791818865629874580f,-0.2693325220287110521866f,\
+-0.5507689268125864900938f,-0.6719415444836209783119f,-0.9911235054617995032800f,\
+-0.4076140317144636981972f,-0.0225238830066269123120f,-1.8597701914697917224828f,\
+0.7233360518064337885136f,1.0977027535066357089022f,-0.1558800560054872108573f,\
+1.0623189198966227486665f,-0.8575163748144335462698f,-0.463854325361329367094f,\
+0.7064828873383774965333f,0.2713587745389601235679f,-0.3287316374977890531817f,\
+-1.6421667900158274377986f,-0.8609439745036365776443f,0.0106829139117793642938f,\
+1.092393189014539744974f,1.9620237692362385573119f,0.8200147353723576948425f,\
+0.0691827011392311119753f,-0.6229915735462322468052f,-0.2657062181808059753152f,\
+0.8160024961656430209089f,-0.4894047987117864928486f,0.8587006143920951073412f,\
+1.1051698569402153005115f,-0.2701243583599451381083f,-1.1113900272171266525589f,\
+0.2908920738530955119039f,0.1172101729688146409813f,3.2706795664298211612220f,\
+0.4518615589828762768576f,0.7020915980292293800957f,-0.8787256719819279693340f,\
+-0.9538277279422371357498f,-0.7330177387440419689568f,-0.0441506837064596646680f,\
+-0.8308242272476199508091f,0.2915116980546684222197f,0.2550214973106580407247f,\
+0.1576133484131722883870f,-2.8460534045826286764225f,-0.768075815339287371053f,\
+-0.4181165627609883528315f,-0.5448685867460187903788f,0.3158443034854154785052f,\
+0.0051109317177532613205f,0.3613121056785816853640f,0.5080216801947243787652f,\
+-0.5233928099098102970643f,-0.5953313420807592182271f,0.5535880446904775098460f,\
+1.842839548963430384987f,-0.6411995769353845409100f,-0.2922619465382557679689f,\
+0.1441406428551997020993f,1.6252679142635939602002f}
+/*
+#define RESULT2 {-1.4744610660983759053977+%i*1.5707963267948965579990f,\
+-3.2795029213225106445861+%i*1.5707963267948965579990f,0.2422041646840577544531f,\
+-0.5752297863073998485106+%i*1.5707963267948965579990f,\
+0.7121630945985538696519-%i*1.5707963267948965579990f,0.4243803995861772371256f,\
+-0.1906833812311178877330f,0.3372689843733094883227f,0.5416475837340712917722f,\
+-0.5861506043378337249550f,-0.2077349615310257191503f,-0.8651650049502660477785f,\
+-1.0241615832881652004005f,-0.6504743749122398055462f,-0.5519965631116492410513f,\
+-0.4691302795139216663678+%i*1.5707963267948965579990f,\
+0.4584432136447526562328-%i*1.5707963267948965579990f,\
+0.9076183700076346783092-%i*1.5707963267948965579990f,\
+0.9185087029260963209509-%i*1.5707963267948965579990f,0.1102422571172131521289f,\
+-0.0648124440153749203919f,0.0281882007066550886731f,0.1358484485857832935185f,\
+2.1004370090239423696232-%i*1.5707963267948965579990f,\
+1.0924991774831627200371-%i*1.5707963267948965579990f,-0.8060125587957032156083f,\
+1.0172227264061333151801f,1.736042493622687921118f,-0.1863533018119427342452f,\
+-0.7549561185313359290561f,-0.4614170985204111286038f,0.3046041145449288611857f,\
+-1.8166306469319770666715f,-0.9326970536559181512715f,\
+3.1325332888309622703105-%i*1.5707963267948965579990f,\
+-1.3792397781139973389486+%i*1.5707963267948965579990f,\
+-1.5415589891296013203004+%i*1.5707963267948965579990f,-0.0171150886014554831638f,\
+-0.6712634278717346525411f,0.1296776288627018158817f,\
+0.7449048409492748934468-%i*1.5707963267948965579990f,\
+-0.8355728364335629487769+%i*1.5707963267948965579990f,\
+1.0237167786809893144095-%i*1.5707963267948965579990f,-0.4002250855702985665729f,\
+0.5275261647661907415952-%i*1.5707963267948965579990f,-0.6365188485604326151801f,\
+0.593818237113303393215f,-1.1086074290970830968917+%i*1.5707963267948965579990f,\
+0.5559215037224033428842-%i*1.5707963267948965579990f,\
+-1.4188800488983950298660+%i*1.5707963267948965579990f,-0.2030109524350925953584f,\
+-1.2109116806527058241016f,-0.618648185057067423465f,-0.4406726279385401179312f,\
+0.0807360417981298622569f,1.3710194541092590725384-%i*1.5707963267948965579990f,\
+0.0358784527834248925804f,-1.041372191940861169357f,0.1478800901804916689830f,\
+1.1035975394582797637355f,1.8759258138597765253053f,0.2629805384285096581110f,\
+0.6430289187352878910175f,-0.5660273762902281458054f,\
+-1.5862221930864266461469+%i*1.5707963267948965579990f,0.1695819872689824647782f,\
+1.7267400811821158601589-%i*1.5707963267948965579990f,\
+0.8547625432037965209631-%i*1.5707963267948965579990f,0.5402035003963170378682f,\
+1.4525009288261496731565f,0.5539201036322172200244-%i*1.5707963267948965579990f,\
+-0.1844324167806210001963f,-0.8089386385243267918455+%i*1.5707963267948965579990f,\
+0.2955667016509896383170f,0.0313028129649670083801f,0.7108684384800065814147f,\
+-1.0383547009634652713572f,1.4799479994581337116699-%i*1.5707963267948965579990f,\
+0.0442526991314810200229f,0.6878256510027744852209-%i*1.5707963267948965579990f,\
+-0.8434557413354200061661f,-1.1364652701643074284021+%i*1.5707963267948965579990f,\
+-0.1306969520152806707447f,0.6762452782098172798797-%i*1.5707963267948965579990f,\
+1.005717225984443130571-%i*1.5707963267948965579990f,\
+-1.5273278613167085016045+%i*1.5707963267948965579990f,1.2461250150575873263392f,\
+-0.4763639926970618110325f,-1.0549712063383256399618f,1.5370414589157994633695f,\
+-2.6233309837037732670240+%i*1.5707963267948965579990f,0.5329709825316656379712f,\
+0.0656342963912304455665f,-0.3044404175419783142864f,0.7166384348283165728333f,\
+-0.4277478080499193535680f,0.6675457063378462674308f,-0.6224892627320329774321f,\
+-0.2853073726746037097612f,0.4474264519637772830052-%i*1.5707963267948965579990f,\
+-0.5733611255013777441292f,-0.8489115589330021860448f,\
+1.4767492874056193929988-%i*1.5707963267948965579990f,0.4675865941091252309114f,\
+0.7215105644264150352996-%i*1.5707963267948965579990f,-0.2485372004835029458025f,\
+0.9533893539015392271097-%i*1.5707963267948965579990f,0.9949139163386880868600f,\
+-0.2888754177942080558772f,0.0572963634231402757502f,-0.3080752338091528041986f,\
+0.3183705746036424866219f,-1.7375264548714035583998+%i*1.5707963267948965579990f,\
+-0.5142166878802835183748f,0.4672787235144033601841f,\
+-1.2044507032201230423141+%i*1.5707963267948965579990f,\
+-0.5343152701155061690130+%i*1.5707963267948965579990f,\
+-0.6759512002250491757849+%i*1.5707963267948965579990f,-0.3426510354825004212032f,\
+0.7655602779397917556636f,1.3065460037453791031226-%i*1.5707963267948965579990f,\
+-0.1368747459554155443406f,1.4390524672743967293798-%i*1.5707963267948965579990f,\
+-0.4067781526762131449892f,-1.4774318344439005823432f,-0.8024889348769219665769f,\
+1.1393982155849557980076f,-0.9552396245178285116850f,-0.9598461538853348962164f,\
+-0.8974087416560057040016f,1.5281783215878395054688f,\
+0.7019410287263873060581-%i*1.5707963267948965579990f,0.6105122611902852325372f,\
+-0.8280825291376695540535+%i*1.5707963267948965579990f,-0.2271580885894484980181f,\
+-0.0995012215536074662303f,-2.6596162554083884188572f,\
+-0.9212932842045244985485+%i*1.5707963267948965579990f,\
+-0.6502044836894653734305+%i*1.5707963267948965579990f,\
+0.6158791818865629874580-%i*1.5707963267948965579990f,-0.2693325220287110521866f,\
+-0.5507689268125864900938f,-0.6719415444836209783119f,\
+-0.9911235054617995032800+%i*1.5707963267948965579990f,-0.4076140317144636981972f,\
+-0.0225238830066269123120f,-1.8597701914697917224828f,\
+0.7233360518064337885136-%i*1.5707963267948965579990f,\
+1.0977027535066357089022-%i*1.5707963267948965579990f,-0.1558800560054872108573f,\
+1.0623189198966227486665f,-0.8575163748144335462698f,-0.463854325361329367094f,\
+0.7064828873383774965333f,0.2713587745389601235679f,-0.3287316374977890531817f,\
+-1.6421667900158274377986f,-0.8609439745036365776443f,0.0106829139117793642938f,\
+1.092393189014539744974f,1.9620237692362385573119f,0.8200147353723576948425f,\
+0.0691827011392311119753f,-0.6229915735462322468052+%i*1.5707963267948965579990f,\
+-0.2657062181808059753152f,0.8160024961656430209089f,-0.4894047987117864928486f,\
+0.8587006143920951073412f,1.1051698569402153005115-%i*1.5707963267948965579990f,\
+-0.2701243583599451381083f,-1.1113900272171266525589f,0.2908920738530955119039f,\
+0.1172101729688146409813f,3.2706795664298211612220-%i*1.5707963267948965579990f,\
+0.4518615589828762768576f,0.7020915980292293800957f,\
+-0.8787256719819279693340+%i*1.5707963267948965579990f,-0.9538277279422371357498f,\
+-0.7330177387440419689568+%i*1.5707963267948965579990f,-0.0441506837064596646680f,\
+-0.8308242272476199508091f,0.2915116980546684222197f,0.2550214973106580407247f,\
+0.1576133484131722883870f,-2.8460534045826286764225+%i*1.5707963267948965579990f,\
+-0.768075815339287371053f,-0.4181165627609883528315+%i*1.5707963267948965579990f,\
+-0.5448685867460187903788f,0.3158443034854154785052f,0.0051109317177532613205f,\
+0.3613121056785816853640f,0.5080216801947243787652f,\
+-0.5233928099098102970643+%i*1.5707963267948965579990f,\
+-0.5953313420807592182271+%i*1.5707963267948965579990f,0.5535880446904775098460f,\
+1.842839548963430384987-%i*1.5707963267948965579990f,-0.6411995769353845409100f,\
+-0.2922619465382557679689f,0.1441406428551997020993f,\
+1.6252679142635939602002-%i*1.5707963267948965579990f}
+*/
+#define CSOURCER {0.1566312085376346807664f,-0.9832172164912469369824f,-0.4352704306190940952703f,\
+0.5411529581857100756892f,-0.4189678441885264503775f,-0.3123240835354778588417f,\
+-0.6429953452754243459211f,0.5746034575341304462270f,0.0583200256392587754184f,\
+-0.7281504683187327575666f,0.4564682359303286474095f,1.2276307555220513645367f,\
+1.0722151830463704236251f,-0.8694353593641974686790f,0.4560977429718384712487f,\
+0.922397585949679688078f,0.3447492619094876808994f,-1.2072516069836567442763f,\
+-3.0311848873460989217676f,-0.5227521113472203273531f,-0.9127256852426085531604f,\
+0.9702908997340189412029f,0.7984557906741573951592f,-0.374280495762714437991f,\
+0.2178224309624917087724f,-0.7621335705740988064605f,0.4017588191443041689688f,\
+0.0259981222714757570502f,-2.250132425948803138738f,0.5878367273362664624514f,\
+2.3809410297786541832465f,0.1486053165381447105364f,0.101236219868174881498f,\
+0.6421364318076420163450f,-0.6540329098904471560871f,-0.5416580949191436289425f,\
+0.9514918150544823260972f,-1.267340977798151469003f,-0.8455403103569121281424f,\
+-0.364558782701674466420f,-1.0697180418170626481356f,0.1606013529586497734503f,\
+-1.6656989490484364058176f,0.4667927145215887141383f,-0.0128825329067423742513f,\
+0.9947195275346620846335f,0.8275102004468978256213f,0.2927543106645062453985f,\
+-0.9280170868066852651879f,-0.3636959897126564866809f,1.4783506936052415170479f,\
+2.4281448731590140610592f,-0.0602106018714212570808f,1.541843889601811401491f,\
+1.341076792855444343999f,-1.9789304036759756133534f,-0.3294688652910273685137f,\
+0.622286327382227888450f,-0.6118557906779339417014f,0.7459354816620213934897f,\
+-0.4040802511755230974622f,0.6577039363065745325443f,-0.5486081684530353941298f,\
+0.3927975474240214537325f,0.7894975295935096060163f,-0.1452945797743281086678f,\
+0.1437495883505973681693f,0.4103084241265512188690f,0.1795141291570316322002f,\
+-2.0420270362087347137958f,-1.0136631446624102537157f,-0.6372521675576777733241f,\
+-0.2601528835939894701568f,1.1986221523039410907785f,1.601129898882974078589f,\
+-1.2343266797475058726974f,0.9483471983582205666607f,-0.0424058145973261885198f,\
+0.5150673339403005757120f,0.0937153808744289607002f,0.4638195050716256706558f,\
+0.2202932903531656105844f,-0.6924450714085558233890f,-0.6889026252552187257194f,\
+0.4927201161848878685490f,0.3688430529148965519859f,-0.1495056200185169992256f,\
+0.0956460878099940903230f,0.8967077311519383586713f,0.7486850824131056070243f,\
+-0.3635393959060023716390f,2.72178097931810514254f,0.8872833757746945160250f,\
+0.9893578306194498184212f,0.8262130885403843327808f,1.8679166202704664545564f,\
+0.5569566531470352410693f,-0.0576405625178402075681f,0.8001172842696224751791f,\
+0.4480121632350138050072f,-0.2882322764074837784243f,-0.2677211241656151097246f,\
+0.2862315832454170316801f,0.9463381000719524038800f,-1.574827516423719320215f,\
+1.7962971923614798885893f,0.9930237578825827915452f,1.17225507537484907594f,\
+-0.9161863233099263315040f,0.1421586828731320473196f,-0.1430347256308386882928f,\
+-0.4683233849545334614994f,-0.3180446316984328336552f,-0.0576576190062656410151f,\
+0.6249620545306199259628f,0.7539731616235149092020f,-0.1134181356790778527621f,\
+-0.3551074647649283821949f,-1.5743164879335251882253f,-0.3132427332940839193043f,\
+-0.5345549536487770314608f,-0.3108292305558989498948f,-0.0698678127822071615149f,\
+1.9098270701284520978191f,0.3087451523556873911325f,0.792464324566980904407f,\
+-0.7089070907362685636244f,-1.69657580301203281259f,0.2839165766617411379436f,\
+-1.9503478026750964424707f,-0.8383432843348773699788f,0.4243701560501659808544f,\
+1.0206422864827822127864f,0.1651260412410127109695f,-2.4565661716609770159891f,\
+1.3581676364949575308572f,1.5976518292284813682613f,1.038096252933477403602f,\
+-0.2179395863297476365616f,0.1906211564102877620286f,0.1220518503007956001571f,\
+1.7007780598076820410824f,2.3461749520518053735429f,-0.7583114756702955538969f,\
+0.1563580374722161325796f,0.9458374821601646109670f,1.106385383701591562655f,\
+1.857413924600636034867f,0.9819266230329063427362f,0.1010843883126317094279f,\
+-0.0394749928167329941497f,0.9565452494078602319050f,-1.164240263162510835571f,\
+-0.0360262254241734622418f,-0.4279483181417821913151f,0.0207154879461370518279f,\
+0.1331812668838084079415f,0.0637098112636336894044f,0.5563753726211196903861f,\
+2.170691821782472885616f,-1.4105863647114469383581f,-0.3956456917805734052607f,\
+-0.7536155387925271842420f,-0.1512156734265959479036f,-1.0252674376565367175829f,\
+0.9250804906985814479725f,0.0319417929504777348138f,-0.3662171854280546479110f,\
+0.9733260674698945846828f,-0.2668109355235854240895f,0.9653716053391865337119f,\
+0.5007936673782547032374f,-0.1208939822530236685161f,1.0971085072938426829836f,\
+0.2029604338428208087919f,0.3746473304704570073120f,0.9561076870030955632274f,\
+1.1282520720814495085449f,1.5637873924930061342309f,0.4739411474762828535567f,\
+-0.9908999627117486275196f,0.4483771591380850130015f,0.7638174840760570960541f,\
+1.21967084705659489785f,-1.1141855892005874117956f,0.3637931277318062761594f,\
+0.0172116174170295101187f,-0.5359859794230503737822f,1.7180258735531828140353f,\
+-0.4389711879238100133982f,-0.5289769194381308548003f,-0.2349363816328474963147f,\
+-1.770826942434098993928f,-0.2698746134406798669048f,-1.6219764795098883247704f,\
+-0.4683402918639187895167f,0.4233140865550635290049f,0.5072350201185169549234f,\
+1.846909249365268790299f,0.8538988411566506009365f}
+
+#define CSOURCEI {-1.2880264074010461250452f,-0.9681461673606511775247f,0.8819263929226937026584f,\
+-0.2968181427237222558269f,0.3676169132810200301797f,-1.4546278949302484662098f,\
+-0.4969724671301882223950f,-1.3684785326259825133377f,0.3201951876584711031981f,\
+0.0925515282972030062236f,-1.3629699188377910612502f,1.3008264376880041002238f,\
+-1.312881117519760332257f,0.7519787618494813141723f,-0.349314202941638340949f,\
+-0.6612113457421112672208f,-0.1912192548186895935114f,-0.2871763408135362682927f,\
+2.1040662039819300055399f,0.6770601919983177952034f,-0.9998765495359557275989f,\
+1.0320694267454630921321f,0.5184250597548623051836f,0.3020078279774962016f,\
+-0.2426203970909892593255f,1.085343122387009806573f,0.3728224888143483184422f,\
+0.3597109342835585477083f,-0.5464095547489105086925f,-0.0522892744113094345981f,\
+-0.0037796004128336437196f,1.3386616898503973516199f,-0.8603866811447716811401f,\
+-0.215138661778858181206f,-0.1519505658345833010170f,-0.0684049031594022166614f,\
+0.3134237083474871732314f,-0.2552970754123656815793f,1.0371924512876768975644f,\
+-2.4944520251764212837031f,-0.9105655292839007763916f,-0.5967335487543307115388f,\
+-0.6520109300715212219401f,1.891233309015407648701f,-0.7688305781614098721732f,\
+0.1640648747943601049037f,-0.613585069751534706306f,-0.2234197861121311190491f,\
+1.9233974415188206386063f,0.315204859780382373735f,0.4595542257467975510998f,\
+-1.1764564844019769207506f,-2.1928435621757311757563f,-0.3567337876240649907622f,\
+1.4844812942744205486179f,0.2127167501638982105572f,0.326665566953199926203f,\
+-0.3823116465408597508535f,1.1195697860125490841199f,0.3156195041989769412005f,\
+-1.3411228504687704443654f,1.2817926351994635147946f,-0.8385592799769060468051f,\
+0.2920629737538525949603f,0.4117329700106473477916f,0.8168979807640022183790f,\
+0.6114286447089312126479f,-0.9103003485572774833301f,0.0883797323534893930486f,\
+-0.8309636819350860736932f,0.300088746736916378577f,-0.9870316877320252091366f,\
+0.0574605523525985317779f,-0.0055294403676948468418f,-0.4910286442216560409690f,\
+-0.9282905300686704608282f,-0.9620222168730435674533f,1.5101979946106838248454f,\
+0.16215452036647093337f,0.8355679951054210130579f,0.2598273768449387843837f,\
+-0.8781794540671359339257f,-0.0960593767304002976726f,-0.8457942620552999501982f,\
+-1.5126206512504021262089f,0.0267016916333849170517f,-0.0455102979008666919114f,\
+-0.9512410833653791586428f,-0.1410038404270228529214f,0.8526701417894808621156f,\
+-0.5427383894147087550763f,0.3670995115141847953133f,-0.4196045805115825033660f,\
+-0.861511165291383607112f,-0.5242638386479363532544f,-1.0690056931583220567461f,\
+-1.204258995571379831091f,-0.1994216356488724417595f,-0.651264013076401249158f,\
+-1.2804046190990912013064f,-0.1189798590125256405603f,0.2757828726342566594276f,\
+0.1186787898486535430820f,-0.9717707229710241811915f,-0.2337132662497607982210f,\
+-1.2810105417899781965474f,0.4516508120864454189913f,-1.7941677742351858082515f,\
+1.2424962452829722003855f,-0.1452111265545129592525f,0.803374036348334819024f,\
+2.2359407014896999221776f,0.0801276770871145183062f,0.1489247936009177042394f,\
+0.3146211320275099643240f,-1.49119197842913098206f,-0.8212344459793755602206f,\
+-1.3094646972226284820096f,-0.2661055404338998897629f,0.2164009824597608044883f,\
+0.4021554472831923576770f,1.0836546525394512574536f,-0.8330897968467666503400f,\
+-1.2783354864784060023197f,1.0944391027576960695455f,0.5158321013729825210703f,\
+0.5039256424604841022585f,-1.1530018443600813515815f,0.5567649276400054025871f,\
+1.5507245891800580661624f,2.0511800424609365478545f,0.2003839203406024560561f,\
+-0.5188228347179002497569f,-0.5014579405716672599880f,0.2409475853154263991218f,\
+-1.2895515809257553918599f,1.3505164949531500706570f,-1.7662555890569775485233f,\
+0.0695313390316097817978f,0.4857809488385180229919f,-1.54949381746834280449f,\
+-0.5022279078645265348868f,-0.4715667339089154030951f,0.9071363416804920642988f,\
+-0.0090747242741150424550f,-1.426140714401586517823f,0.0902619806757116310836f,\
+-0.7111783918397256432087f,0.4421886947944868029303f,1.3229936148586256550175f,\
+0.0399972677459073389095f,-0.2744759605679197855821f,-0.6365722011642755973071f,\
+0.0838977431731276618310f,-0.0154779602574307128399f,1.3680369604712516728995f,\
+0.8578728691952266505183f,0.9477645632263477226687f,0.4034044727794333096149f,\
+-0.1637512612660888822180f,-1.521579761721328916124f,0.7389202762668894974851f,\
+1.6242287608009475796678f,0.0251523200085141500348f,-0.2296479198161843759962f,\
+0.3374847554612029343346f,1.0988696857027278053209f,0.6720077941707034430152f,\
+1.6284314621145825618953f,1.2811365743500131575416f,-0.6480287734962971724073f,\
+0.4079918994040774293808f,-0.6857363255654103095793f,0.1644734231427373016832f,\
+-0.9707468997532966437092f,-1.0103908741767126944211f,-0.3245462572729273520444f,\
+0.3569008288111439886059f,1.1707819570142721232742f,0.0931015649413182710958f,\
+1.2605162559518456877328f,-0.2998099303847839292025f,-1.8576048661033506270712f,\
+0.3542284165121863948045f,-0.3606813370588974332343f,-0.1691565053601437607078f,\
+-1.3723457158075849093848f,-0.3869812789951324605298f,1.327934065790971063237f,\
+0.6883264291332520379285f,1.1636463404567130019984f,-1.6679940626595868291560f,\
+-1.1660526540945894691248f,2.4012435579972462029730f,1.8717476066252398680945f,\
+0.6269431765551266577674f,-0.7276289505214773578601f,0.5485159953217271233683f,\
+-1.0371187436769986334184f,2.282202076649753941240f}
+
+#define CRESULTR {0.0586345786159515672264f,-0.4119079581767730036113f,-0.2376773392005311347219f,\
+0.5274985111723742292611f,-0.3785076402666358030835f,-0.0984442400006558665515f,\
+-0.5157322835496214175066f,0.1877549307968403857760f,0.0529309487949000886942f,\
+-0.8980782630098248509043f,0.1535280327645664466552f,0.3347825460369071581823f,\
+0.3118103625565722958335f,-0.4854100811784345381739f,0.4200271027799429846006f,\
+0.558160367722654870981f,0.3440445808210612077538f,-0.9190853850068781971672f,\
+-0.2206972238733744262618f,-0.3495146734241325048309f,-0.3828254526784128919381f,\
+0.3837160824181031770763f,0.6067122840309074893739f,-0.3528285483819846302112f,\
+0.2081338122939639656561f,-0.3109916924279712002743f,0.3607981848765179355709f,\
+0.0230220619188065515892f,-0.4409843876587154487545f,0.6706334235337022553480f,\
+0.4476928944367338791821f,0.0530051009287677843407f,0.0580922710665942171326f,\
+0.6889248635636368023327f,-0.7403179849986993854571f,-0.6014835481325517818618f,\
+0.9148458682398055152873f,-0.9100406392834269331260f,-0.3512629496668798201320f,\
+-0.0497281250251861567380f,-0.4533232590993708788218f,0.1183827451686376569517f,\
+-0.5400714293963024825729f,0.0986159601519734224651f,-0.0080964813496256192449f,\
+1.2504251172076377152109f,0.553383982176059552316f,0.2851532314993195926789f,\
+-0.1735373380028721046475f,-0.3392884681219434650501f,0.6674877635610125814480f,\
+0.3361668249120546292374f,-0.0103608516149833115860f,0.6876886023380593959686f,\
+0.2994018975364160506381f,-0.5461669463711513738957f,-0.3036470157958083837535f,\
+0.5659099835134179246054f,-0.2522688982901432619421f,0.73840604848731461463f,\
+-0.1399717847889199173750f,0.2285367773899925347703f,-0.3073816797691770186240f,\
+0.3738323046463303267473f,0.6895008314715558306318f,-0.0869179912549136179933f,\
+0.1045814791078650968226f,0.2183617419002600035238f,0.1799962512946713666384f,\
+-0.4306170362358095471400f,-0.956790010441086580251f,-0.2988659063401313820130f,\
+-0.26528818791890551587f,1.2018988344435987958292f,0.6134078020904577543959f,\
+-0.4635409097157874858119f,0.4066731412601408690577f,-0.0129216461290907521503f,\
+0.5459518490067882812156f,0.0551242941387568297085f,0.4571890743247491450951f,\
+0.1235106929418888221939f,-0.8301715333893021631084f,-0.3700021952100086553017f,\
+0.1433522018206848380739f,0.3867313699737674470569f,-0.1503114555841373045642f,\
+0.0501390172375495365986f,1.193524050554648274769f,0.3916234392819171183930f,\
+-0.2811037877759303138525f,0.3767282302151824247005f,0.7464338830239950484113f,\
+0.4613726054161970124845f,0.6177367275920276901147f,0.3993738908711506052640f,\
+0.2139276426895061200550f,-0.0554860078847602203322f,0.5165924809229520686671f,\
+0.1633124027176871273515f,-0.2918709165103665625907f,-0.2528080890770357247455f,\
+0.2897583915934112130941f,0.4021736360794072595581f,-0.713539018877845987454f,\
+0.3562716257530119112751f,0.7547097044407786725628f,0.2233423544188815612621f,\
+-0.3032157270895312062287f,0.1400739703409606129458f,-0.0867211925226533952848f,\
+-0.0758855325499612903828f,-0.3269646450472631915574f,-0.0564625318897502212478f,\
+0.6090972295195002939039f,0.2104281878811394279616f,-0.0676285383445118792878f,\
+-0.1277092508406163506862f,-0.7041149381903939463712f,-0.3071683332013411815709f,\
+-0.4736979352269045095980f,-0.1404550230528205378988f,-0.0412179517191962191403f,\
+0.3529283428251930310182f,0.1380434056063472858522f,0.6051661095195016715209f,\
+-0.5594498837332433360814f,-0.3889971602159096875084f,0.2168075281019664068971f,\
+-0.3028666557798217473518f,-0.1458483340857026078208f,0.4293137169051447488144f,\
+0.6953697523295457871839f,0.1321249855766219449826f,-0.4265596445818128912286f,\
+0.3486234081846604770938f,0.3421608935025099995642f,0.2115120471977689209364f,\
+-0.2203370156751261743633f,0.1545639581145290264441f,0.0357922784779254460341f,\
+0.5794250482661091883330f,0.4312552311016552564205f,-0.3727620017605887681178f,\
+0.1576377379130869393897f,0.2624856474568436071060f,1.3577286999442579329411f,\
+0.4860182340340697959569f,0.7617714539289787145648f,0.0366834217396586823035f,\
+-0.0394322693273299676453f,0.9807192175900326658322f,-0.6164954700307514467994f,\
+-0.0357893654572665059765f,-0.4572287236587250780495f,0.0072135289476597582586f,\
+0.0765359692550191955673f,0.0335408660165012612042f,0.4931690601828112585636f,\
+0.4939993220457917777466f,-0.296325232124018844715f,-0.2516901659302647753513f,\
+-0.1874945429943649932714f,-0.1522841974461120184703f,-1.0886404519839611992893f,\
+0.8661426586684568551533f,0.0144669239838038730245f,-0.2498600121525025030689f,\
+0.2258303913936256790418f,-0.0996627600161344717744f,0.5798388843647412915772f,\
+0.4402912178536843579302f,-0.0821496253311937152386f,1.1995498265712831731378f,\
+0.1037875988793510867447f,0.1808411497687466285011f,0.9003994950861190504909f,\
+0.8693703906397208802659f,0.3871229651004495231348f,0.5084262016718109622460f,\
+-0.3127921352240150554280f,0.4284515458646944163768f,0.1566612259199449408431f,\
+0.8425254932446538669311f,-0.8675086878856705929763f,0.3679908151081396905369f,\
+0.0059690185652748976169f,-0.4818927853047598741654f,0.3475368987720111602080f,\
+-0.2928677403656957944911f,-0.21281918945471237081f,-0.0615315656203920743894f,\
+-0.3828854358877186170318f,-0.0395445045895176927608f,-0.2453056840726963727661f,\
+-0.3319274210060903507191f,0.2716611153754885932265f,0.3885772436850290501020f,\
+0.4083161225294907326067f,0.1256636073410991871757f}
+
+#define CRESULTI {-0.9150826723701824816359f,-1.0038007968241344780580f,0.7761168535216221853190f,\
+-0.3822213477951738047622f,0.4088073079437265500147f,-0.9829838814461281382151f,\
+-0.6207924428978939257462f,-0.9924436424002488488227f,0.3107781745847606469368f,\
+0.190823563908477877860f,-0.9717930993017909191423f,1.1362832817249874928223f,\
+-1.0952400709881249252220f,0.8906629459042527674484f,-0.4031733379746096357366f,\
+-0.8926214809458651311402f,-0.2125955165236021182640f,-1.1626545105534673574255f,\
+1.4098114180999468114663f,0.6875898477221956683891f,-0.9827065462915589577619f,\
+1.0122682558571856059615f,0.7403338169936454216113f,0.3329978318477040399870f,\
+-0.2487126175192662380642f,0.9535461622187894059621f,0.4086259224331897366156f,\
+0.3454903551399998162807f,-1.4480476267508943788442f,-0.0795552773231696652712f,\
+-1.5699867995861691571946f,0.9329922799220887741356f,-0.7134073946597112581003f,\
+-0.3357762973784728099957f,-0.2527252112264842809353f,-0.0962463379406888058787f,\
+0.7882465889811950399135f,-1.2456800812145352175264f,0.9674854545265952898703f,\
+-1.1957951138140576752278f,-1.0308375326751320066876f,-0.5464592420922904647540f,\
+-1.3032325007401501792970f,1.1035601617683621356036f,-0.6554945586705149818130f,\
+0.8103435172856551238496f,-0.8103372317467707475203f,-0.2385573277010208381732f,\
+1.1587938021757215878438f,0.3435431890072572769235f,1.279788873802896409515f,\
+-1.3915550484745486947702f,-1.143175630086853633571f,-1.3493948361964505089361f,\
+1.180878018812092644652f,1.4994549779312595916281f,0.3471363780379303487500f,\
+-0.5114436565324694816681f,0.922077454999635448551f,0.5359370502466848096290f,\
+-0.9575622722618749582679f,0.9840232928412098178939f,-0.7866361736794498238368f,\
+0.3275153905103054818859f,0.6621644080795368036974f,0.6911787537867797315272f,\
+0.5555203262090003812901f,-0.7845741854114917090968f,0.0910458923193785268912f,\
+-1.367532424689007264362f,0.8821163892946874973688f,-0.8805618815721650838313f,\
+0.0615381817744835926676f,-1.5581379012861951149915f,-1.3216226160366340014463f,\
+-1.1059140418930615279436f,-0.9879008462145800750775f,0.986169123983388073995f,\
+0.2146596902165759102044f,0.6986026791593697993221f,0.3134566221055383739014f,\
+-0.7342575229927524871343f,-0.1797145584041555665955f,-0.8413107892059722425770f,\
+-1.019619130948550722593f,0.0308925093685123823561f,-0.0465149720271331584831f,\
+-0.7628135267341744629732f,-0.5063811875785856342347f,0.8689285269800102184945f,\
+-0.5424489267017504889878f,1.5149231207825908374076f,-0.7635699257253423244407f,\
+-0.9835608360649982229162f,-0.7651335213236122312352f,-1.3047698554262849857110f,\
+-0.9383103802342007693227f,-0.1974540431056293898759f,-0.8100733516290339331078f,\
+-0.9439058311312691351702f,-0.1288637100697393178539f,0.2871927052822376702501f,\
+0.1283857487876574610119f,-0.9893521517129132414325f,-1.4229736910621084700068f,\
+-1.278268082403663186142f,0.88910168768678732309f,-1.1784373117164359534570f,\
+1.03935358865908744619f,-0.1470722349218777647017f,0.6828818013490814964328f,\
+1.1635383473949738597497f,0.0888393991592487247688f,0.1483135488190464867930f,\
+0.4446342289575472839225f,-1.055940453660143329984f,-0.6913288042725108661912f,\
+-0.9407243087808065951094f,-1.4053508981321376491991f,0.2342864098211708545616f,\
+0.4844410101414913238926f,0.8475776035888460402390f,-0.6960123633858344982528f,\
+-1.3016421578221382127083f,0.8519589639880413844963f,0.7342440505866469901974f,\
+0.6668635124458689444893f,-1.2591545397069716649696f,0.535024814500131951078f,\
+1.30226369708141054282f,1.1661057476987222170095f,0.2373787574293542146364f,\
+-0.9309471081116736934646f,-0.4736579850459717855315f,1.5236251088004300058287f,\
+-1.171065543003733777638f,1.2334327135159162125433f,-1.153213069447322158823f,\
+0.0728510737378383066432f,0.4639741641063248600574f,-0.9996734202650466860618f,\
+-1.3518108187607991155232f,-1.4723273061328936428538f,0.8933558949405833171653f,\
+-0.0093018535376701225181f,-1.0826576750905823054438f,1.2404141733855511553486f,\
+-1.3465428092378513014182f,0.8747309046321107839361f,0.9253397074562169644096f,\
+0.0400381835355557713640f,-0.7765785126027255902414f,-1.0546807717631738743336f,\
+0.0838092326986521196641f,-0.0189446011407611511479f,0.9396543988269212555053f,\
+0.7141040044798073749277f,0.7596541492574908627233f,0.4957818734457210552158f,\
+-1.5271090619693206136276f,-1.1987057982776780917789f,0.6860846415801318265437f,\
+1.0836815939774062655943f,0.0257348439490480244973f,-0.8966457616590515211641f,\
+0.7629454929184202871539f,0.8326995831057554253718f,0.6358947917453465770166f,\
+1.122174794910343109677f,0.9210086183100237855470f,-0.9179542949015334629692f,\
+0.4753128844824887067055f,-0.6057418122474197419436f,1.0912054352763760345368f,\
+-0.7811598998629154522177f,-0.8252118132068452238670f,-0.8003932093064218822320f,\
+1.040963230413896711823f,1.2239764586679500180111f,0.1191234084420016575701f,\
+1.064003892301497833373f,-0.3509788166940612241795f,-1.1278108079499422622405f,\
+1.1420720075136889803957f,-1.0231852297083139369249f,-0.1916370368791805167685f,\
+-0.941129540386991148004f,-0.4709650954727132576849f,1.2604683484747309929475f,\
+0.6665567013842946808566f,0.9183588395793375047660f,-1.0371195264398431756803f,\
+-1.276620042706810842503f,1.1799805845600985776400f,1.255793767839696428723f,\
+0.6354974793467924598644f,-0.6865980682751140484754f,0.5939555774818401356896f,\
+-1.3024651432778990844952f,1.197724373266410013983f}
+
+
+
+
+
+void satanhsTest() {
+ float in[]= SOURCE;
+ float res[]= RESULT;
+ float out;
+ int i=0;
+
+ for (i=0;i<200;i++){
+ out=satanhs(in[i]);
+ if (sisnans(out)) assert(1);
+ else assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-6);
+ }
+}
+
+void catanhsTest() {
+ float inR[]=CSOURCER;
+ float inI[]=CSOURCEI;
+ float resR[]=CRESULTR;
+ float resI[]=CRESULTI;
+ floatComplex in, out;
+ int i=0;
+
+ for (i=0;i<200;i++){
+ in=FloatComplex(inR[i],inI[i]);
+ out=catanhs(in);
+ assert( ( (fabs(creals(out)-resR[i])) / (fabs(creals(out))) ) <1e-6);
+ assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1e-6);
+ }
+}
+
+void satanhaTest(void) {
+ float in[]= SOURCE;
+ float res[]=RESULT;
+ float out[200];
+ int i=0;
+
+ satanha(in,200,out);
+ for (i=0;i<200;i++){
+ if (sisnans(out[i])) assert(1);
+ else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-6);
+ }
+}
+
+void catanhaTest(void) {
+ float inR[]=CSOURCER;
+ float inI[]=CSOURCEI;
+ float resR[]=CRESULTR;
+ float resI[]=CRESULTI;
+ floatComplex in[200], out[200];
+ int i=0;
+
+ for (i=0;i<200;i++){
+ in[i]=FloatComplex(inR[i],inI[i]);
+ }
+ catanha(in,200,out);
+ for (i=0;i<200;i++){
+ assert( ( (fabs(creals(out[i])-resR[i])) / (fabs(creals(out[i]))) ) <1e-6);
+ assert( ( (fabs(cimags(out[i])-resI[i])) / (fabs(cimags(out[i]))) ) <1e-6);
+ }
+}
+
+int testAtanh() {
+ printf("\n>>>> Float Hyperbolic Arctangeant Tests\n");
+ satanhsTest();
+ catanhsTest();
+ satanhaTest();
+ catanhaTest();
+ return 0;
+}
+
+int main() {
+ assert(testAtanh() == 0);
+ return 0;
+}
diff --git a/src/c/elementaryFunctions/atanh/zatanha.c b/src/c/elementaryFunctions/atanh/zatanha.c
new file mode 100644
index 0000000..e35af91
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/zatanha.c
@@ -0,0 +1,20 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "atanh.h"
+
+void zatanha(doubleComplex* x, int size, doubleComplex* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = zatanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/atanh/zatanhs.c b/src/c/elementaryFunctions/atanh/zatanhs.c
new file mode 100644
index 0000000..7fb8112
--- /dev/null
+++ b/src/c/elementaryFunctions/atanh/zatanhs.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/*
+// METHOD
+// based on the formula atanh(z) = i atan(-i z)
+*/
+
+#include "atanh.h"
+#include "atan.h"
+
+doubleComplex zatanhs(doubleComplex z) {
+ doubleComplex minus_i_z = DoubleComplex(zimags(z), -zreals(z));
+ doubleComplex atan_minus_i_z = zatans(minus_i_z);
+ return DoubleComplex(-zimags(atan_minus_i_z), zreals(atan_minus_i_z));
+}