Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/m/mecat2/mecat2_0.0+git20200428.f54c542+ds-3_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/mecat2-0.0+git20200428.f54c542+ds-3kq4h6_fi/mecat2_0.0+git20200428.f54c542+ds-3_amd64.buildinfo Get source package info: mecat2=0.0+git20200428.f54c542+ds-3 Source URL: http://snapshot.notset.fr/mr/package/mecat2/0.0+git20200428.f54c542+ds-3/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.69-11.1 automake=1:1.16.3-1 autopoint=0.19.8.1-10 autotools-dev=20180224.1 base-files=11 base-passwd=3.5.48 bash=5.1~rc3-1 binutils=2.35.1-3 binutils-common=2.35.1-3 binutils-x86-64-linux-gnu=2.35.1-3 bsdextrautils=2.36.1-2 bsdutils=1:2.36.1-2 build-essential=12.8 bzip2=1.0.8-4 coreutils=8.32-4+b1 cpp=4:10.2.0-1 cpp-10=10.2.0-19 dash=0.5.11+git20200708+dd9ef66-2 debconf=1.5.74 debhelper=13.2.1 debianutils=4.11.2 dh-autoreconf=19 dh-strip-nondeterminism=1.9.0-1 diffutils=1:3.7-3 dpkg=1.20.5 dpkg-dev=1.20.5 dwz=0.13-5 file=1:5.39-3 findutils=4.7.0+git20201010-2 g++=4:10.2.0-1 g++-10=10.2.0-19 gcc=4:10.2.0-1 gcc-10=10.2.0-19 gcc-10-base=10.2.0-19 gettext=0.19.8.1-10 gettext-base=0.19.8.1-10 grep=3.6-1 groff-base=1.22.4-5 gzip=1.10-2 hostname=3.23 init-system-helpers=1.59 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-8 libarchive-zip-perl=1.68-1 libasan6=10.2.0-19 libatomic1=10.2.0-19 libattr1=1:2.4.48-5 libaudit-common=1:2.8.5-3.1 libaudit1=1:2.8.5-3.1 libbinutils=2.35.1-3 libblkid1=2.36.1-2 libbz2-1.0=1.0.8-4 libc-bin=2.31-5 libc-dev-bin=2.31-5 libc6=2.31-5 libc6-dev=2.31-5 libcap-ng0=0.7.9-2.2+b1 libcc1-0=10.2.0-19 libcom-err2=1.45.6-1 libcroco3=0.6.13-1 libcrypt-dev=1:4.4.17-1 libcrypt1=1:4.4.17-1 libctf-nobfd0=2.35.1-3 libctf0=2.35.1-3 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.255 libdebhelper-perl=13.2.1 libdpkg-perl=1.20.5 libelf1=0.182-1 libffi7=3.3-5 libfile-stripnondeterminism-perl=1.9.0-1 libgcc-10-dev=10.2.0-19 libgcc-s1=10.2.0-19 libgcrypt20=1.8.7-2 libgdbm-compat4=1.18.1-5.1 libgdbm6=1.18.1-5.1 libglib2.0-0=2.66.3-2 libgmp10=2:6.2.1+dfsg-1 libgomp1=10.2.0-19 libgpg-error0=1.38-2 libgssapi-krb5-2=1.18.3-4 libicu67=67.1-4 libisl23=0.23-1 libitm1=10.2.0-19 libk5crypto3=1.18.3-4 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-4 libkrb5support0=1.18.3-4 liblsan0=10.2.0-19 liblz4-1=1.9.2-2 liblzma5=5.2.4-1+b1 libmagic-mgc=1:5.39-3 libmagic1=1:5.39-3 libmount1=2.36.1-2 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libpam-modules=1.3.1-5 libpam-modules-bin=1.3.1-5 libpam-runtime=1.3.1-5 libpam0g=1.3.1-5 libpcre2-8-0=10.34-7 libpcre3=2:8.39-13 libperl5.32=5.32.0-5 libpipeline1=1.5.3-1 libquadmath0=10.2.0-19 libseccomp2=2.5.0-3 libselinux1=3.1-2+b1 libsigsegv2=2.12-2 libsmartcols1=2.36.1-2 libssl1.1=1.1.1h-1 libstdc++-10-dev=10.2.0-19 libstdc++6=10.2.0-19 libsub-override-perl=0.09-2 libsystemd0=246.6-5 libtinfo6=6.2+20201114-1 libtirpc-common=1.2.6-3 libtirpc-dev=1.2.6-3 libtirpc3=1.2.6-3 libtool=2.4.6-14 libtsan0=10.2.0-19 libubsan1=10.2.0-19 libuchardet0=0.0.7-1 libudev1=246.6-5 libunistring2=0.9.10-4 libuuid1=2.36.1-2 libxml2=2.9.10+dfsg-6.3 libzstd1=1.4.5+dfsg-4 linux-libc-dev=5.9.11-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-4 make=4.3-4 man-db=2.9.3-2 mawk=1.3.4.20200120-2 ncurses-base=6.2+20201114-1 ncurses-bin=6.2+20201114-1 patch=2.7.6-6 perl=5.32.0-5 perl-base=5.32.0-5 perl-modules-5.32=5.32.0-5 po-debconf=1.0.21 sed=4.7-1 sensible-utils=0.0.12+nmu1 sysvinit-utils=2.96-5 tar=1.32+dfsg-1 util-linux=2.36.1-2 xz-utils=5.2.4-1+b1 zlib1g=1:1.2.11.dfsg-2 zlib1g-dev=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201202T205335Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d mecat2=0.0+git20200428.f54c542+ds-3 && mkdir -p /build/mecat2-dUdfVJ && dpkg-source --no-check -x /*.dsc /build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds && chown -R builduser:builduser /build/mecat2-dUdfVJ" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1607200466" dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/mecat2-dUdfVJ /tmp/mecat2-0.0+git20200428.f54c542+ds-3kq4h6_fi bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20201202T205335Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.dPgcdmlWGJ as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.dPgcdmlWGJ Reading package lists... Building dependency tree... util-linux is already the newest version (2.36.1-2). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20201202T205335Z unstable/main amd64 libfakeroot amd64 1.25.3-1.1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20201202T205335Z unstable/main amd64 fakeroot amd64 1.25.3-1.1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (961 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4614 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1.1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1.1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1.1_amd64.deb ... Unpacking fakeroot (1.25.3-1.1) ... Setting up libfakeroot:amd64 (1.25.3-1.1) ... Setting up fakeroot (1.25.3-1.1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-5) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201202T205335Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.dPgcdmlWGJ Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20201202T205335Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Fetched 22.6 MB in 22s (1009 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.dPgcdmlWGJ I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d mecat2=0.0+git20200428.f54c542+ds-3 && mkdir -p /build/mecat2-dUdfVJ && dpkg-source --no-check -x /*.dsc /build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds && chown -R builduser:builduser /build/mecat2-dUdfVJ"' exec /tmp/mmdebstrap.dPgcdmlWGJ Reading package lists... NOTICE: 'mecat2' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/med-team/mecat2.git Please use: git clone https://salsa.debian.org/med-team/mecat2.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 339 MB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main mecat2 0.0+git20200428.f54c542+ds-3 (dsc) [2135 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main mecat2 0.0+git20200428.f54c542+ds-3 (tar) [381 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main mecat2 0.0+git20200428.f54c542+ds-3 (diff) [339 MB] Fetched 339 MB in 4min 30s (1253 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'mecat2_0.0+git20200428.f54c542+ds-3.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting mecat2 in /build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds dpkg-source: info: unpacking mecat2_0.0+git20200428.f54c542+ds.orig.tar.xz dpkg-source: info: unpacking mecat2_0.0+git20200428.f54c542+ds-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying modify_makefiles.patch I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1607200466" dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.dPgcdmlWGJ dpkg-buildpackage: info: source package mecat2 dpkg-buildpackage: info: source version 0.0+git20200428.f54c542+ds-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Andreas Tille dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_auto_clean make -j4 clean make[1]: Entering directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds' cd src && make clean make[2]: Entering directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds/src' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Building for 'Linux' '5.10.0-8-amd64' as 'amd64' Makefile:401: warning: overriding recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:401: warning: ignoring old recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:418: warning: overriding recipe for target 'clean_mecat2cns' Makefile:418: warning: ignoring old recipe for target 'clean_mecat2cns' rm -f ../Linux-amd64/bin/libhbn.a ../Linux-amd64/obj/libhbn.a/corelib/build_db.[doP] ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.[doP] ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.[doP] ../Linux-amd64/obj/libhbn.a/corelib/db_format.[doP] ../Linux-amd64/obj/libhbn.a/corelib/fasta.[doP] ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.[doP] ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.[doP] ../Linux-amd64/obj/libhbn.a/corelib/kstring.[doP] ../Linux-amd64/obj/libhbn.a/corelib/line_reader.[doP] ../Linux-amd64/obj/libhbn.a/corelib/m4_record.[doP] ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.[doP] ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.[doP] ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seqdb.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.[doP] ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.[doP] ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.[doP] ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.[doP] ../Linux-amd64/obj/libhbn.a/algo/chain_dp.[doP] ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.[doP] ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.[doP] ../Linux-amd64/obj/libhbn.a/algo/kalloc.[doP] ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.[doP] ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.[doP] ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.[doP] ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.[doP] ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.[doP] ../Linux-amd64/obj/libhbn.a/algo/word_finder.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.[doP] ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.[doP] rm -f ../Linux-amd64/bin/mecat2pcan ../Linux-amd64/obj/mecat2pcan/app/mecat2pcan/pcan.[doP] rm -f ../Linux-amd64/bin/mecat2map ../Linux-amd64/obj/mecat2map/app/map/cmdline_args.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_align_one_volume.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_build_seqdb.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_extend_subseq_hit.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_find_subseq_hit.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_job_control.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_options.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_subseq_hit.[doP] ../Linux-amd64/obj/mecat2map/app/map/hbn_task_struct.[doP] ../Linux-amd64/obj/mecat2map/app/map/main.[doP] ../Linux-amd64/obj/mecat2map/app/map/mecat_results.[doP] rm -f ../Linux-amd64/bin/mecat2cns ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cmdline_args.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_aux.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_part.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_read.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_options.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_align_tag.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_aux.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/hbn_task_struct.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/main.[doP] ../Linux-amd64/obj/mecat2cns/app/mecat2cns/raw_reads_reader.[doP] rm -f ../Linux-amd64/bin/mecat2viewdb ../Linux-amd64/obj/mecat2viewdb/app/hbndb/viewhbndb.[doP] rm -f ../Linux-amd64/bin/mecat2lcr ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/cmdline_args.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/largest_cover_range.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/main.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/range_list.[doP] ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/m4_aux.[doP] rm -f ../Linux-amd64/bin/mecat2splitreads ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/cmdline_args.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/main.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/split_reads.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/range_list.[doP] ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/m4_aux.[doP] rm -f ../Linux-amd64/bin/mecat2trimbases ../Linux-amd64/obj/mecat2trimbases/app/mecat2trim/3_trim_bases/main.[doP] rm -f ../Linux-amd64/bin/mecat2pm4 ../Linux-amd64/obj/mecat2pm4/app/mecat2pm4/main.[doP] rm -f ../Linux-amd64/bin/mecat2extseqs ../Linux-amd64/obj/mecat2extseqs/app/mecat2extseqs/main.[doP] rm -f ../Linux-amd64/bin/libfsa.a ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/logger.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/utility.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.[doP] ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.[doP] rm -f ../Linux-amd64/bin/fsa_ol_filter ../Linux-amd64/obj/fsa_ol_filter/app/fsa/fsa_ol_filter.[doP] rm -f ../Linux-amd64/bin/fsa_assemble ../Linux-amd64/obj/fsa_assemble/app/fsa/fsa_assemble.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/assembly.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/graph.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/string_graph.[doP] ../Linux-amd64/obj/fsa_assemble/app/fsa/path_graph.[doP] rm -f ../Linux-amd64/bin/fsa_ctg_bridge ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/fsa_ctg_bridge.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_bridge.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_graph.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link.[doP] ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link_store.[doP] rm -f ../Linux-amd64/bin/fsa_rd_stat ../Linux-amd64/obj/fsa_rd_stat/app/fsa/fsa_rd_stat.[doP] ../Linux-amd64/obj/fsa_rd_stat/app/fsa/read_stat.[doP] rm -f ../Linux-amd64/bin/mecat.pl rm -f ../Linux-amd64/bin/mecat.sh rm -f rm -f ../Linux-amd64/bin/Plgd/Grid.pm ../Linux-amd64/bin/Plgd/GridLsf.pm ../Linux-amd64/bin/Plgd/GridPbs.pm ../Linux-amd64/bin/Plgd/GridSge.pm ../Linux-amd64/bin/Plgd/GridSlurm.pm ../Linux-amd64/bin/Plgd/Project.pm ../Linux-amd64/bin/Plgd/Script.pm ../Linux-amd64/bin/Plgd/Utils.pm rm -rf ../Linux-amd64/bin/Plgd make[2]: Leaving directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds/src' make[1]: Leaving directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds' dh_clean debian/rules binary-arch dh binary-arch dh_update_autotools_config -a dh_autoreconf -a dh_auto_configure -a dh_auto_build -a make -j4 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds' cd src && make make[2]: Entering directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds/src' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Building for 'Linux' '5.10.0-8-amd64' as 'amd64' Makefile:401: warning: overriding recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:401: warning: ignoring old recipe for target '../Linux-amd64/bin/mecat2cns' Makefile:418: warning: overriding recipe for target 'clean_mecat2cns' Makefile:418: warning: ignoring old recipe for target 'clean_mecat2cns' cp -pf pipeline/mecat.pl ../Linux-amd64/bin/mecat.pl chmod +x ../Linux-amd64/bin/mecat.pl cp -pf pipeline/mecat.sh ../Linux-amd64/bin/mecat.sh chmod +x ../Linux-amd64/bin/mecat.sh cp -pf pipeline/Plgd/Grid.pm ../Linux-amd64/bin/Plgd/Grid.pm cp -pf pipeline/Plgd/GridLsf.pm ../Linux-amd64/bin/Plgd/GridLsf.pm cp -pf pipeline/Plgd/GridPbs.pm ../Linux-amd64/bin/Plgd/GridPbs.pm cp -pf pipeline/Plgd/GridSge.pm ../Linux-amd64/bin/Plgd/GridSge.pm cp -pf pipeline/Plgd/GridSlurm.pm ../Linux-amd64/bin/Plgd/GridSlurm.pm cp -pf pipeline/Plgd/Project.pm ../Linux-amd64/bin/Plgd/Project.pm cp -pf pipeline/Plgd/Script.pm ../Linux-amd64/bin/Plgd/Script.pm cp -pf pipeline/Plgd/Utils.pm ../Linux-amd64/bin/Plgd/Utils.pm cc -o ../Linux-amd64/obj/libhbn.a/corelib/build_db.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/build_db.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/cmd_arg.c g++ -o ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp corelib/cstr_util.cpp cc -o ../Linux-amd64/obj/libhbn.a/corelib/db_format.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/db_format.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/fasta.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/fasta.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/gapped_candidate.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_aux.c corelib/hbn_aux.c: In function ‘hbn_get_cpu_count’: corelib/hbn_aux.c:357:9: warning: unused variable ‘allCPUNum_’ [-Wunused-variable] 357 | int allCPUNum_ = sysconf(_SC_NPROCESSORS_CONF); | ^~~~~~~~~~ cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_format.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_hit.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/hbn_package_version.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/kstring.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/kstring.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/line_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/line_reader.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/m4_record.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/m4_record.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/name2id_map.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/partition_aux.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/raw_reads.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/seqdb_summary.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/seqdb.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/seqdb.c cc -o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/seq_tag.c corelib/seq_tag.c:480:1: warning: ‘examine_ovlp_quality_perfect’ defined but not used [-Wunused-function] 480 | examine_ovlp_quality_perfect(int qoff, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ corelib/seq_tag.c:9:12: warning: ‘CircularSeq’ defined but not used [-Wunused-variable] 9 | static int CircularSeq = 0; | ^~~~~~~~~~~ corelib/seq_tag.c:7:12: warning: ‘RepeatSeq’ defined but not used [-Wunused-variable] 7 | static int RepeatSeq = 0; | ^~~~~~~~~ g++ -o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp corelib/seq_tag_report.cpp cc -o ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp corelib/small_object_alloc.c g++ -o ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp corelib/string2hsp.cpp cc -o ../Linux-amd64/obj/libhbn.a/algo/chain_dp.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/chain_dp.c g++ -o ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp algo/diff_gapalign.cpp algo/diff_gapalign.cpp:375:1: warning: ‘void dump_subseq(const u8*, int)’ defined but not used [-Wunused-function] 375 | dump_subseq(const u8* seq, int len) | ^~~~~~~~~~~ cc -o ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/hash_list_bucket_sort.c cc -o ../Linux-amd64/obj/libhbn.a/algo/kalloc.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/kalloc.c cc -o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/ksw2_extd2_sse.c cc -o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/ksw2_extz2_sse.c cc -o ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/ksw2_wrapper.c cc -o ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/hbn_lookup_table.c cc -o ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/hbn_traceback_aux.c cc -o ../Linux-amd64/obj/libhbn.a/algo/word_finder.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp algo/word_finder.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/c_ncbi_blast_aux.c g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/ncbi_blast_aux.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/blast_args.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/cmdline_flags.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/format_flags.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/ncbiargs_allow.cpp ncbi_blast/cmdline_args/ncbiargs_allow.cpp:85:15: warning: ‘std::string ncbi::s_GetSymbolClass(ncbi::CArgAllow_Symbols::ESymbolClass)’ defined but not used [-Wunused-function] 85 | static string s_GetSymbolClass(CArgAllow_Symbols::ESymbolClass symbol_class) | ^~~~~~~~~~~~~~~~ g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/ncbiargs_desc.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/cmdline_args/ncbiargs_types.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/ncbistr_util.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/ncbistr.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/str_cmp.cpp g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/numeric_str_interconv.cpp ncbi_blast/str_util/numeric_str_interconv.cpp: In function ‘ncbi::SIZE_TYPE ns_hbnstr::DoubleToString_Ecvt(double, unsigned int, char*, ncbi::SIZE_TYPE, int*, int*)’: ncbi_blast/str_util/numeric_str_interconv.cpp:2175:20: warning: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying between 0 and 15 bytes from a string of length 31 [-Wstringop-truncation] 2175 | strncpy(buffer,digits,digits_len); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/str_util/str_util.cpp cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_encoding.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_hits.c ncbi_blast/setup/blast_hits.c:3897:1: warning: ‘s_TrimResultsByTotalHSPLimitEx’ defined but not used [-Wunused-function] 3897 | s_TrimResultsByTotalHSPLimitEx(BlastHSPResults* results, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ncbi_blast/setup/blast_hits.c:3815:1: warning: ‘s_TrimResultsByTotalHSPLimit’ defined but not used [-Wunused-function] 3815 | s_TrimResultsByTotalHSPLimit(BlastHSPResults* results, Uint4 total_hsp_limit) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ncbi_blast/setup/blast_hits.c:3580:12: warning: ‘s_SortHspWrapRawScore’ defined but not used [-Wunused-function] 3580 | static int s_SortHspWrapRawScore(const void *x, const void *y) | ^~~~~~~~~~~~~~~~~~~~~ cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_message.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_options.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_stat.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_parameters.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_program.c g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/setup/blast_types.cpp cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/boost_erf.c g++ -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp ncbi_blast/setup/hsp2string.cpp cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/ncbi_math.c In file included from ncbi_blast/setup/ncbi_math.c:498: ncbi_blast/setup/ncbi_erf.c: In function ‘s_IEEE754_Exp’: ncbi_blast/setup/ncbi_erf.c:40:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 40 | #define __LO(x) *(int*)&x | ^~~~~~~~ 41 | #define __HIp(x) *(1+(int*)x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42 | #define __LOp(x) *(int*)x | ~~~~~~~~~~~~~~~~~~~~~~~~~ 43 | #endif | ~~~~~~ 44 | | 45 | #ifdef NEED_EXP | ~~~~~~~~~~~~~~~ 46 | /* s_IEEE754_Exp(x) | ~~~~~~~~~~~~~~~~~~~ 47 | * Returns the exponential of x. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | * | ~ 49 | * Method | ~~~~~~~~ 50 | * 1. Argument reduction: | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 | * Given x, find r and integer k such that | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 | * | ~ 54 | * x = k*ln2 + r, |r| <= 0.5*ln2. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | * | ~ 56 | * Here r will be represented as r = hi-lo for better | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 | * accuracy. | ~~~~~~~~~~~ 58 | * | ~ 59 | * 2. Approximation of exp(r) by a special rational function on | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 | * the interval [0,0.34658]: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | * Write | ~~~~~~~ 62 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | * We use a special Remes algorithm on [0,0.34658] to generate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 | * a polynomial of degree 5 to approximate R. The maximum error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | * of this polynomial approximation is bounded by 2**-59. In | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 | * other words, | ~~~~~~~~~~~~~~ 67 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | * (where z=r*r, and the values of P1 to P5 are listed below) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | * and | ~~~~~ 70 | * | 5 | -59 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 | * | | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | * The computation of exp(r) thus becomes | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74 | * 2*r | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75 | * exp(r) = 1 + ------- | ~~~~~~~~~~~~~~~~~~~~~~~ 76 | * R - r | ~~~~~~~~~~~~~~~~~~~~~~ 77 | * r*R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 | * = 1 + r + ----------- (for better accuracy) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 | * 2 - R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | * where | ~~~~~~~ 81 | * 2 4 10 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | * | ~ 84 | * 3. Scale back to obtain exp(x): | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 85 | * From step 1, we have | ~~~~~~~~~~~~~~~~~~~~~~ 86 | * exp(x) = 2^k * exp(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | * | ~ 88 | * Special cases: | ~~~~~~~~~~~~~~~~ 89 | * exp(INF) is INF, exp(NaN) is NaN; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 | * exp(-INF) is 0, and | ~~~~~~~~~~~~~~~~~~~~~ 91 | * for finite argument, only exp(0)=1 is exact. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | * | ~ 93 | * Accuracy: | ~~~~~~~~~~~ 94 | * according to an error analysis, the error is always less than | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 | * 1 ulp (unit in the last place). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | * | ~ 97 | * Misc. info. | ~~~~~~~~~~~~~ 98 | * For IEEE double | ~~~~~~~~~~~~~~~~~ 99 | * if x > 7.09782712893383973096e+02 then exp(x) overflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | * if x < -7.45133219101941108420e+02 then exp(x) underflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | * | ~ 102 | * Constants: | ~~~~~~~~~~~~ 103 | * The hexadecimal values are the intended ones for the following | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 104 | * constants. The decimal values may be used, provided that the | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | * compiler will convert from decimal to binary accurately enough | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | * to produce the hexadecimal values shown. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 | */ | ~~ 108 | | 109 | static const double | ~~~~~~~~~~~~~~~~~~~ 110 | one = 1.0, | ~~~~~~~~~~ 111 | halF[2] = {0.5,-0.5,}, | ~~~~~~~~~~~~~~~~~~~~~~ 112 | huge = 1.0e+300, | ~~~~~~~~~~~~~~~~ 113 | twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 114 | o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 115 | u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 | ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 | invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 122 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | | 127 | static double s_IEEE754_Exp(double x) /* default IEEE double exp */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 | { | ~ 129 | double y,hi,lo,c,t; | ~~~~~~~~~~~~~~~~~~~ 130 | int k = 0,xsb; | ~~~~~~~~~~~~~~ 131 | unsigned hx; | ~~~~~~~~~~~~ 132 | | 133 | hx = __HI(x); /* high word of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 | xsb = (hx>>31)&1; /* sign bit of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | hx &= 0x7fffffff; /* high word of |x| */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 | | 137 | /* filter out non-finite argument */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | if(hx >= 0x40862E42) { /* if |x|>=709.78... */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | if(hx>=0x7ff00000) { | ~~~~~~~~~~~~~~~~~~~~ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ~~~~~~~~~~~~~~~~~~~~~~~ ncbi_blast/setup/ncbi_erf.c:140:20: note: in expansion of macro ‘__LO’ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ^~~~ ncbi_blast/setup/ncbi_erf.c: In function ‘BLAST_Erf’: ncbi_blast/setup/ncbi_erf.c:40:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 40 | #define __LO(x) *(int*)&x | ^~~~~~~~ 41 | #define __HIp(x) *(1+(int*)x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42 | #define __LOp(x) *(int*)x | ~~~~~~~~~~~~~~~~~~~~~~~~~ 43 | #endif | ~~~~~~ 44 | | 45 | #ifdef NEED_EXP | ~~~~~~~~~~~~~~~ 46 | /* s_IEEE754_Exp(x) | ~~~~~~~~~~~~~~~~~~~ 47 | * Returns the exponential of x. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | * | ~ 49 | * Method | ~~~~~~~~ 50 | * 1. Argument reduction: | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 | * Given x, find r and integer k such that | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 | * | ~ 54 | * x = k*ln2 + r, |r| <= 0.5*ln2. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | * | ~ 56 | * Here r will be represented as r = hi-lo for better | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 | * accuracy. | ~~~~~~~~~~~ 58 | * | ~ 59 | * 2. Approximation of exp(r) by a special rational function on | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 | * the interval [0,0.34658]: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | * Write | ~~~~~~~ 62 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | * We use a special Remes algorithm on [0,0.34658] to generate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 | * a polynomial of degree 5 to approximate R. The maximum error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | * of this polynomial approximation is bounded by 2**-59. In | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 | * other words, | ~~~~~~~~~~~~~~ 67 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | * (where z=r*r, and the values of P1 to P5 are listed below) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | * and | ~~~~~ 70 | * | 5 | -59 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 | * | | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | * The computation of exp(r) thus becomes | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74 | * 2*r | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75 | * exp(r) = 1 + ------- | ~~~~~~~~~~~~~~~~~~~~~~~ 76 | * R - r | ~~~~~~~~~~~~~~~~~~~~~~ 77 | * r*R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 | * = 1 + r + ----------- (for better accuracy) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 | * 2 - R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | * where | ~~~~~~~ 81 | * 2 4 10 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | * | ~ 84 | * 3. Scale back to obtain exp(x): | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 85 | * From step 1, we have | ~~~~~~~~~~~~~~~~~~~~~~ 86 | * exp(x) = 2^k * exp(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | * | ~ 88 | * Special cases: | ~~~~~~~~~~~~~~~~ 89 | * exp(INF) is INF, exp(NaN) is NaN; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 | * exp(-INF) is 0, and | ~~~~~~~~~~~~~~~~~~~~~ 91 | * for finite argument, only exp(0)=1 is exact. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | * | ~ 93 | * Accuracy: | ~~~~~~~~~~~ 94 | * according to an error analysis, the error is always less than | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 | * 1 ulp (unit in the last place). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | * | ~ 97 | * Misc. info. | ~~~~~~~~~~~~~ 98 | * For IEEE double | ~~~~~~~~~~~~~~~~~ 99 | * if x > 7.09782712893383973096e+02 then exp(x) overflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | * if x < -7.45133219101941108420e+02 then exp(x) underflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | * | ~ 102 | * Constants: | ~~~~~~~~~~~~ 103 | * The hexadecimal values are the intended ones for the following | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 104 | * constants. The decimal values may be used, provided that the | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | * compiler will convert from decimal to binary accurately enough | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | * to produce the hexadecimal values shown. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 | */ | ~~ 108 | | 109 | static const double | ~~~~~~~~~~~~~~~~~~~ 110 | one = 1.0, | ~~~~~~~~~~ 111 | halF[2] = {0.5,-0.5,}, | ~~~~~~~~~~~~~~~~~~~~~~ 112 | huge = 1.0e+300, | ~~~~~~~~~~~~~~~~ 113 | twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 114 | o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 115 | u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 | ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 | invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 122 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | | 127 | static double s_IEEE754_Exp(double x) /* default IEEE double exp */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 | { | ~ 129 | double y,hi,lo,c,t; | ~~~~~~~~~~~~~~~~~~~ 130 | int k = 0,xsb; | ~~~~~~~~~~~~~~ 131 | unsigned hx; | ~~~~~~~~~~~~ 132 | | 133 | hx = __HI(x); /* high word of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 | xsb = (hx>>31)&1; /* sign bit of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | hx &= 0x7fffffff; /* high word of |x| */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 | | 137 | /* filter out non-finite argument */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | if(hx >= 0x40862E42) { /* if |x|>=709.78... */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | if(hx>=0x7ff00000) { | ~~~~~~~~~~~~~~~~~~~~ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | return x+x; /* NaN */ | ~~~~~~~~~~~~~~~~~~~~~~~ 142 | else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 143 | } | ~ 144 | if(x > o_threshold) | ~~~~~~~~~~~~~~~~~~~ 145 | return huge*huge; /* NCBI_FAKE_WARNING [deliberate overflow] */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | if(x < u_threshold) return twom1000*twom1000; /* underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 147 | } | ~ 148 | | 149 | /* argument reduction */ | ~~~~~~~~~~~~~~~~~~~~~~~~ 150 | if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 151 | if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 152 | hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 153 | } else { | ~~~~~~~~ 154 | k = (int)(invln2*x+halF[xsb]); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 155 | t = k; | ~~~~~~~ 156 | hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | lo = t*ln2LO[0]; | ~~~~~~~~~~~~~~~~ 158 | } | ~ 159 | x = hi - lo; | ~~~~~~~~~~~~~ 160 | } | ~ 161 | else if(hx < 0x3e300000) { /* when |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 162 | if(huge+x>one) return one+x;/* trigger inexact */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 163 | } | ~ 164 | else k = 0; | ~~~~~~~~~~~ 165 | | 166 | /* x is now in primary range */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | t = x*x; | ~~~~~~~~~ 168 | c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 169 | if(k==0) return one-((x*c)/(c-2.0)-x); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 170 | else y = one-((lo-(x*c)/(2.0-c))-hi); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 171 | if(k >= -1021) { | ~~~~~~~~~~~~~~~~ 172 | __HI(y) += (k<<20); /* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 173 | return y; | ~~~~~~~~~ 174 | } else { | ~~~~~~~~ 175 | __HI(y) += ((k+1000)<<20);/* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 176 | return y*twom1000; | ~~~~~~~~~~~~~~~~~~ 177 | } | ~ 178 | } | ~ 179 | #endif | ~~~~~~ 180 | | 181 | /* double erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 182 | * double erfc(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 183 | * x | ~~~~~~~~~~ 184 | * 2 |\ | ~~~~~~~~~~~~~~~~~~ 185 | * erf(x) = --------- | exp(-t*t)dt | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | * sqrt(pi) \| | ~~~~~~~~~~~~~~~~~~ 187 | * 0 | ~~~~~~~~~~ 188 | * | ~ 189 | * erfc(x) = 1-erf(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | * Note that | ~~~~~~~~~~~~ 191 | * erf(-x) = -erf(x) | ~~~~~~~~~~~~~~~~~~~~ 192 | * erfc(-x) = 2 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | * | ~ 194 | * Method: | ~~~~~~~~~ 195 | * 1. For |x| in [0, 0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 196 | * erf(x) = x + x*R(x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 197 | * erfc(x) = 1 - erf(x) if x in [-.84375,0.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 198 | * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 199 | * where R = P/Q where P is an odd poly of degree 8 and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 200 | * Q is an odd poly of degree 10. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 201 | * -57.90 | ~~~~~~~~~~~~~~ 202 | * | R - (erf(x)-x)/x | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 203 | * | ~ 204 | * | ~ 205 | * Remark. The formula is derived by noting | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 207 | * and that | ~~~~~~~~~~~~~ 208 | * 2/sqrt(pi) = 1.128379167095512573896158903121545171688 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | * is close to one. The interval is chosen because the fix | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | * near 0.6174), and by some experiment, 0.84375 is chosen to | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 212 | * guarantee the error is less than one ulp for erf. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 | * | ~ 214 | * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | * c = 0.84506291151 rounded to single (24 bits) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | * erf(x) = sign(x) * (c + P1(s)/Q1(s)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 217 | * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | * 1+(c+P1(s)/Q1(s)) if x < 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 219 | * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | * Remark: here we use the taylor series expansion at x=1. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | * erf(1+s) = erf(1) + s*Poly(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | * = 0.845.. + P1(s)/Q1(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 223 | * That is, we use rational approximation to approximate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | * erf(1+s) - (c = (single)0.84506291151) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 225 | * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 226 | * where | ~~~~~~~~~~ 227 | * P1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | * Q1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 229 | * | ~ 230 | * 3. For x in [1.25,1/0.35(~2.857143)], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 231 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 232 | * erf(x) = 1 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | * where | ~~~~~~~~~~ 234 | * R1(z) = degree 7 poly in z, (z=1/x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | * S1(z) = degree 8 poly in z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | * | ~ 237 | * 4. For x in [1/0.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 239 | * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6 x >= 28 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | * erf(x) = sign(x) *(1 - tiny) (raise inexact) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | * erfc(x) = tiny*tiny (raise underflow) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 267 | * = 2 - tiny if x<0 | ~~~~~~~~~~~~~~~~~~~~~ 268 | * | ~ 269 | * 7. Special case: | ~~~~~~~~~~~~~~~~~~~~~~~ 270 | * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | * erfc/erf(NaN) is NaN | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | */ | ~~ 274 | | 275 | #ifndef HAVE_ERF | ~~~~~~~~~~~~~~~~ 276 | static const double | ~~~~~~~~~~~~~~~~~~~ 277 | tiny = 1e-300, | ~~~~~~~~~~~~~~~~~~ 278 | half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | /* one = 1.00000000000000000000e+00, */ /* 0x3FF00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | /* c = (float)0.84506291151 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 282 | erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | /* | ~~ 284 | * Coefficients for approximation to erf on [0,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | */ | ~~ 286 | efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 289 | pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 293 | qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 296 | qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | /* | ~~ 299 | * Coefficients for approximation to erf in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 300 | */ | ~~ 301 | pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 302 | pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 303 | pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 313 | qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 314 | /* | ~~ 315 | * Coefficients for approximation to erfc in [1.25,1/0.35] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 316 | */ | ~~ 317 | ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 318 | ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 319 | ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 320 | ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 321 | ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 322 | ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 323 | ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 324 | ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 | sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 326 | sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 327 | sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 328 | sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 329 | sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 330 | sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 331 | sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 332 | sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 333 | /* | ~~ 334 | * Coefficients for approximation to erfc in [1/.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | */ | ~~ 336 | rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 337 | rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 338 | rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 339 | rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 340 | rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 341 | rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 342 | rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 343 | sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 344 | sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 345 | sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 346 | sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 347 | sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | #endif | ~~~~~~ 351 | | 352 | double NCBI_Erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | { | ~ 354 | #ifdef HAVE_ERF | ~~~~~~~~~~~~~~~ 355 | return erf(x); | ~~~~~~~~~~~~~~ 356 | #else | ~~~~~ 357 | int hx,ix,i; | ~~~~~~~~~~~~ 358 | double R,S,P,Q,s,y,z,r; | ~~~~~~~~~~~~~~~~~~~~~~~ 359 | hx = __HI(x); | ~~~~~~~~~~~~~ 360 | ix = hx&0x7fffffff; | ~~~~~~~~~~~~~~~~~~~ 361 | if(ix>=0x7ff00000) { /* erf(nan)=nan */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 362 | i = ((unsigned)hx>>31)<<1; | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 363 | return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 364 | } | ~ 365 | | 366 | if(ix < 0x3feb0000) { /* |x|<0.84375 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 367 | if(ix < 0x3e300000) { /* |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | if (ix < 0x00800000) | ~~~~~~~~~~~~~~~~~~~~ 369 | return 0.125*(8.0*x+efx8*x); /*avoid underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 370 | return x + efx*x; | ~~~~~~~~~~~~~~~~~ 371 | } | ~ 372 | z = x*x; | ~~~~~~~~ 373 | r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 374 | s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 375 | y = r/s; | ~~~~~~~~ 376 | return x + x*y; | ~~~~~~~~~~~~~~~ 377 | } | ~ 378 | if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 379 | s = fabs(x)-one; | ~~~~~~~~~~~~~~~~ 380 | P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 381 | Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 382 | if(hx>=0) return erx + P/Q; else return -erx - P/Q; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 383 | } | ~ 384 | if (ix >= 0x40180000) { /* inf>|x|>=6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 385 | if(hx>=0) return one-tiny; else return tiny-one; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 386 | } | ~ 387 | x = fabs(x); | ~~~~~~~~~~~~ 388 | s = one/(x*x); | ~~~~~~~~~~~~~~ 389 | if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 390 | R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 391 | ra5+s*(ra6+s*ra7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 392 | S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | sa5+s*(sa6+s*(sa7+s*sa8))))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 394 | } else { /* |x| >= 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 395 | R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 396 | rb5+s*rb6))))); | ~~~~~~~~~~~~~~~ 397 | S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 398 | sb5+s*(sb6+s*sb7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 399 | } | ~ 400 | z = x; | ~~~~~~~ 401 | __LO(z) = 0; | ~~~~~~ ncbi_blast/setup/ncbi_erf.c:401:2: note: in expansion of macro ‘__LO’ 401 | __LO(z) = 0; | ^~~~ ncbi_blast/setup/ncbi_erf.c: In function ‘BLAST_ErfC’: ncbi_blast/setup/ncbi_erf.c:40:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 40 | #define __LO(x) *(int*)&x | ^~~~~~~~ 41 | #define __HIp(x) *(1+(int*)x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42 | #define __LOp(x) *(int*)x | ~~~~~~~~~~~~~~~~~~~~~~~~~ 43 | #endif | ~~~~~~ 44 | | 45 | #ifdef NEED_EXP | ~~~~~~~~~~~~~~~ 46 | /* s_IEEE754_Exp(x) | ~~~~~~~~~~~~~~~~~~~ 47 | * Returns the exponential of x. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | * | ~ 49 | * Method | ~~~~~~~~ 50 | * 1. Argument reduction: | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 | * Given x, find r and integer k such that | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 | * | ~ 54 | * x = k*ln2 + r, |r| <= 0.5*ln2. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | * | ~ 56 | * Here r will be represented as r = hi-lo for better | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 | * accuracy. | ~~~~~~~~~~~ 58 | * | ~ 59 | * 2. Approximation of exp(r) by a special rational function on | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 | * the interval [0,0.34658]: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | * Write | ~~~~~~~ 62 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 | * We use a special Remes algorithm on [0,0.34658] to generate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 | * a polynomial of degree 5 to approximate R. The maximum error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | * of this polynomial approximation is bounded by 2**-59. In | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 | * other words, | ~~~~~~~~~~~~~~ 67 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | * (where z=r*r, and the values of P1 to P5 are listed below) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69 | * and | ~~~~~ 70 | * | 5 | -59 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 | * | | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | * The computation of exp(r) thus becomes | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 74 | * 2*r | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 75 | * exp(r) = 1 + ------- | ~~~~~~~~~~~~~~~~~~~~~~~ 76 | * R - r | ~~~~~~~~~~~~~~~~~~~~~~ 77 | * r*R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 | * = 1 + r + ----------- (for better accuracy) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 | * 2 - R1(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 | * where | ~~~~~~~ 81 | * 2 4 10 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | * | ~ 84 | * 3. Scale back to obtain exp(x): | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 85 | * From step 1, we have | ~~~~~~~~~~~~~~~~~~~~~~ 86 | * exp(x) = 2^k * exp(r) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | * | ~ 88 | * Special cases: | ~~~~~~~~~~~~~~~~ 89 | * exp(INF) is INF, exp(NaN) is NaN; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 | * exp(-INF) is 0, and | ~~~~~~~~~~~~~~~~~~~~~ 91 | * for finite argument, only exp(0)=1 is exact. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | * | ~ 93 | * Accuracy: | ~~~~~~~~~~~ 94 | * according to an error analysis, the error is always less than | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 | * 1 ulp (unit in the last place). | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | * | ~ 97 | * Misc. info. | ~~~~~~~~~~~~~ 98 | * For IEEE double | ~~~~~~~~~~~~~~~~~ 99 | * if x > 7.09782712893383973096e+02 then exp(x) overflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | * if x < -7.45133219101941108420e+02 then exp(x) underflow | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | * | ~ 102 | * Constants: | ~~~~~~~~~~~~ 103 | * The hexadecimal values are the intended ones for the following | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 104 | * constants. The decimal values may be used, provided that the | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105 | * compiler will convert from decimal to binary accurately enough | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | * to produce the hexadecimal values shown. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 | */ | ~~ 108 | | 109 | static const double | ~~~~~~~~~~~~~~~~~~~ 110 | one = 1.0, | ~~~~~~~~~~ 111 | halF[2] = {0.5,-0.5,}, | ~~~~~~~~~~~~~~~~~~~~~~ 112 | huge = 1.0e+300, | ~~~~~~~~~~~~~~~~ 113 | twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 114 | o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 115 | u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 | ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 | invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 122 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 125 | P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 | | 127 | static double s_IEEE754_Exp(double x) /* default IEEE double exp */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 | { | ~ 129 | double y,hi,lo,c,t; | ~~~~~~~~~~~~~~~~~~~ 130 | int k = 0,xsb; | ~~~~~~~~~~~~~~ 131 | unsigned hx; | ~~~~~~~~~~~~ 132 | | 133 | hx = __HI(x); /* high word of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 | xsb = (hx>>31)&1; /* sign bit of x */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | hx &= 0x7fffffff; /* high word of |x| */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 | | 137 | /* filter out non-finite argument */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | if(hx >= 0x40862E42) { /* if |x|>=709.78... */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | if(hx>=0x7ff00000) { | ~~~~~~~~~~~~~~~~~~~~ 140 | if(((hx&0xfffff)|__LO(x))!=0) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | return x+x; /* NaN */ | ~~~~~~~~~~~~~~~~~~~~~~~ 142 | else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 143 | } | ~ 144 | if(x > o_threshold) | ~~~~~~~~~~~~~~~~~~~ 145 | return huge*huge; /* NCBI_FAKE_WARNING [deliberate overflow] */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | if(x < u_threshold) return twom1000*twom1000; /* underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 147 | } | ~ 148 | | 149 | /* argument reduction */ | ~~~~~~~~~~~~~~~~~~~~~~~~ 150 | if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 151 | if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 152 | hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 153 | } else { | ~~~~~~~~ 154 | k = (int)(invln2*x+halF[xsb]); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 155 | t = k; | ~~~~~~~ 156 | hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | lo = t*ln2LO[0]; | ~~~~~~~~~~~~~~~~ 158 | } | ~ 159 | x = hi - lo; | ~~~~~~~~~~~~~ 160 | } | ~ 161 | else if(hx < 0x3e300000) { /* when |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 162 | if(huge+x>one) return one+x;/* trigger inexact */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 163 | } | ~ 164 | else k = 0; | ~~~~~~~~~~~ 165 | | 166 | /* x is now in primary range */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | t = x*x; | ~~~~~~~~~ 168 | c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 169 | if(k==0) return one-((x*c)/(c-2.0)-x); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 170 | else y = one-((lo-(x*c)/(2.0-c))-hi); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 171 | if(k >= -1021) { | ~~~~~~~~~~~~~~~~ 172 | __HI(y) += (k<<20); /* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 173 | return y; | ~~~~~~~~~ 174 | } else { | ~~~~~~~~ 175 | __HI(y) += ((k+1000)<<20);/* add k to y's exponent */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 176 | return y*twom1000; | ~~~~~~~~~~~~~~~~~~ 177 | } | ~ 178 | } | ~ 179 | #endif | ~~~~~~ 180 | | 181 | /* double erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 182 | * double erfc(double x) | ~~~~~~~~~~~~~~~~~~~~~~~ 183 | * x | ~~~~~~~~~~ 184 | * 2 |\ | ~~~~~~~~~~~~~~~~~~ 185 | * erf(x) = --------- | exp(-t*t)dt | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | * sqrt(pi) \| | ~~~~~~~~~~~~~~~~~~ 187 | * 0 | ~~~~~~~~~~ 188 | * | ~ 189 | * erfc(x) = 1-erf(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | * Note that | ~~~~~~~~~~~~ 191 | * erf(-x) = -erf(x) | ~~~~~~~~~~~~~~~~~~~~ 192 | * erfc(-x) = 2 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 193 | * | ~ 194 | * Method: | ~~~~~~~~~ 195 | * 1. For |x| in [0, 0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 196 | * erf(x) = x + x*R(x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 197 | * erfc(x) = 1 - erf(x) if x in [-.84375,0.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 198 | * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 199 | * where R = P/Q where P is an odd poly of degree 8 and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 200 | * Q is an odd poly of degree 10. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 201 | * -57.90 | ~~~~~~~~~~~~~~ 202 | * | R - (erf(x)-x)/x | <= 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 203 | * | ~ 204 | * | ~ 205 | * Remark. The formula is derived by noting | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 207 | * and that | ~~~~~~~~~~~~~ 208 | * 2/sqrt(pi) = 1.128379167095512573896158903121545171688 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 | * is close to one. The interval is chosen because the fix | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 | * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 | * near 0.6174), and by some experiment, 0.84375 is chosen to | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 212 | * guarantee the error is less than one ulp for erf. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 | * | ~ 214 | * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 | * c = 0.84506291151 rounded to single (24 bits) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 216 | * erf(x) = sign(x) * (c + P1(s)/Q1(s)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 217 | * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | * 1+(c+P1(s)/Q1(s)) if x < 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 219 | * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | * Remark: here we use the taylor series expansion at x=1. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | * erf(1+s) = erf(1) + s*Poly(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | * = 0.845.. + P1(s)/Q1(s) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 223 | * That is, we use rational approximation to approximate | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | * erf(1+s) - (c = (single)0.84506291151) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 225 | * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 226 | * where | ~~~~~~~~~~ 227 | * P1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | * Q1(s) = degree 6 poly in s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 229 | * | ~ 230 | * 3. For x in [1.25,1/0.35(~2.857143)], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 231 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 232 | * erf(x) = 1 - erfc(x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | * where | ~~~~~~~~~~ 234 | * R1(z) = degree 7 poly in z, (z=1/x^2) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | * S1(z) = degree 8 poly in z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | * | ~ 237 | * 4. For x in [1/0.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 239 | * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6 x >= 28 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | * erf(x) = sign(x) *(1 - tiny) (raise inexact) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | * erfc(x) = tiny*tiny (raise underflow) if x > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 267 | * = 2 - tiny if x<0 | ~~~~~~~~~~~~~~~~~~~~~ 268 | * | ~ 269 | * 7. Special case: | ~~~~~~~~~~~~~~~~~~~~~~~ 270 | * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | * erfc/erf(NaN) is NaN | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | */ | ~~ 274 | | 275 | #ifndef HAVE_ERF | ~~~~~~~~~~~~~~~~ 276 | static const double | ~~~~~~~~~~~~~~~~~~~ 277 | tiny = 1e-300, | ~~~~~~~~~~~~~~~~~~ 278 | half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | /* one = 1.00000000000000000000e+00, */ /* 0x3FF00000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | /* c = (float)0.84506291151 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 282 | erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | /* | ~~ 284 | * Coefficients for approximation to erf on [0,0.84375] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | */ | ~~ 286 | efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 289 | pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 293 | qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 296 | qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | /* | ~~ 299 | * Coefficients for approximation to erf in [0.84375,1.25] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 300 | */ | ~~ 301 | pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 302 | pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 303 | pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 313 | qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 314 | /* | ~~ 315 | * Coefficients for approximation to erfc in [1.25,1/0.35] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 316 | */ | ~~ 317 | ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 318 | ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 319 | ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 320 | ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 321 | ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 322 | ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 323 | ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 324 | ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 | sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 326 | sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 327 | sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 328 | sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 329 | sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 330 | sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 331 | sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 332 | sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 333 | /* | ~~ 334 | * Coefficients for approximation to erfc in [1/.35,28] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | */ | ~~ 336 | rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 337 | rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 338 | rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 339 | rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 340 | rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 341 | rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 342 | rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 343 | sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 344 | sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 345 | sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 346 | sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 347 | sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | #endif | ~~~~~~ 351 | | 352 | double NCBI_Erf(double x) | ~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | { | ~ 354 | #ifdef HAVE_ERF | ~~~~~~~~~~~~~~~ 355 | return erf(x); | ~~~~~~~~~~~~~~ 356 | #else | ~~~~~ 357 | int hx,ix,i; | ~~~~~~~~~~~~ 358 | double R,S,P,Q,s,y,z,r; | ~~~~~~~~~~~~~~~~~~~~~~~ 359 | hx = __HI(x); | ~~~~~~~~~~~~~ 360 | ix = hx&0x7fffffff; | ~~~~~~~~~~~~~~~~~~~ 361 | if(ix>=0x7ff00000) { /* erf(nan)=nan */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 362 | i = ((unsigned)hx>>31)<<1; | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 363 | return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 364 | } | ~ 365 | | 366 | if(ix < 0x3feb0000) { /* |x|<0.84375 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 367 | if(ix < 0x3e300000) { /* |x|<2**-28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | if (ix < 0x00800000) | ~~~~~~~~~~~~~~~~~~~~ 369 | return 0.125*(8.0*x+efx8*x); /*avoid underflow */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 370 | return x + efx*x; | ~~~~~~~~~~~~~~~~~ 371 | } | ~ 372 | z = x*x; | ~~~~~~~~ 373 | r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 374 | s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 375 | y = r/s; | ~~~~~~~~ 376 | return x + x*y; | ~~~~~~~~~~~~~~~ 377 | } | ~ 378 | if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 379 | s = fabs(x)-one; | ~~~~~~~~~~~~~~~~ 380 | P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 381 | Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 382 | if(hx>=0) return erx + P/Q; else return -erx - P/Q; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 383 | } | ~ 384 | if (ix >= 0x40180000) { /* inf>|x|>=6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 385 | if(hx>=0) return one-tiny; else return tiny-one; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 386 | } | ~ 387 | x = fabs(x); | ~~~~~~~~~~~~ 388 | s = one/(x*x); | ~~~~~~~~~~~~~~ 389 | if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 390 | R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 391 | ra5+s*(ra6+s*ra7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 392 | S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | sa5+s*(sa6+s*(sa7+s*sa8))))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 394 | } else { /* |x| >= 1/0.35 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 395 | R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 396 | rb5+s*rb6))))); | ~~~~~~~~~~~~~~~ 397 | S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 398 | sb5+s*(sb6+s*sb7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 399 | } | ~ 400 | z = x; | ~~~~~~~ 401 | __LO(z) = 0; | ~~~~~~~~~~~~ 402 | r = s_IEEE754_Exp(-z*z-0.5625)*s_IEEE754_Exp((z-x)*(z+x)+R/S); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 403 | if(hx>=0) return one-r/x; else return r/x-one; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 404 | #endif | ~~~~~~ 405 | } | ~ 406 | | 407 | double NCBI_ErfC(double x) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 408 | { | ~ 409 | #ifdef HAVE_ERF | ~~~~~~~~~~~~~~~ 410 | return erfc(x); | ~~~~~~~~~~~~~~~ 411 | #else | ~~~~~ 412 | int hx,ix; | ~~~~~~~~~~ 413 | double R,S,P,Q,s,y,z,r; | ~~~~~~~~~~~~~~~~~~~~~~~ 414 | hx = __HI(x); | ~~~~~~~~~~~~~ 415 | ix = hx&0x7fffffff; | ~~~~~~~~~~~~~~~~~~~ 416 | if(ix>=0x7ff00000) { /* erfc(nan)=nan */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 417 | /* erfc(+-inf)=0,2 */ | ~~~~~~~~~~~~~~~~~~~~~ 418 | return (double)(((unsigned)hx>>31)<<1)+one/x; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 419 | } | ~ 420 | | 421 | if(ix < 0x3feb0000) { /* |x|<0.84375 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 422 | if(ix < 0x3c700000) /* |x|<2**-56 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 423 | return one-x; | ~~~~~~~~~~~~~ 424 | z = x*x; | ~~~~~~~~ 425 | r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 426 | s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 427 | y = r/s; | ~~~~~~~~ 428 | if(hx < 0x3fd00000) { /* x<1/4 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 429 | return one-(x+x*y); | ~~~~~~~~~~~~~~~~~~~ 430 | } else { | ~~~~~~~~ 431 | r = x*y; | ~~~~~~~~ 432 | r += (x-half); | ~~~~~~~~~~~~~~ 433 | return half - r ; | ~~~~~~~~~~~~~~~~~ 434 | } | ~ 435 | } | ~ 436 | if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 437 | s = fabs(x)-one; | ~~~~~~~~~~~~~~~~ 438 | P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 439 | Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 440 | if(hx>=0) { | ~~~~~~~~~~~ 441 | z = one-erx; return z - P/Q; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 442 | } else { | ~~~~~~~~ 443 | z = erx+P/Q; return one+z; | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 444 | } | ~ 445 | } | ~ 446 | if (ix < 0x403c0000) { /* |x|<28 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 447 | x = fabs(x); | ~~~~~~~~~~~~ 448 | s = one/(x*x); | ~~~~~~~~~~~~~~ 449 | if(ix< 0x4006DB6D) { /* |x| < 1/.35 ~ 2.857143*/ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 450 | R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 451 | ra5+s*(ra6+s*ra7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 452 | S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 453 | sa5+s*(sa6+s*(sa7+s*sa8))))))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 454 | } else { /* |x| >= 1/.35 ~ 2.857143 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 455 | if(hx<0&&ix>=0x40180000) return two-tiny;/* x < -6 */ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 456 | R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 457 | rb5+s*rb6))))); | ~~~~~~~~~~~~~~~ 458 | S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 459 | sb5+s*(sb6+s*sb7)))))); | ~~~~~~~~~~~~~~~~~~~~~~~ 460 | } | ~ 461 | z = x; | ~~~~~~~ 462 | __LO(z) = 0; | ~~~~~~ ncbi_blast/setup/ncbi_erf.c:462:6: note: in expansion of macro ‘__LO’ 462 | __LO(z) = 0; | ^~~~ cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_query_info.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/blast_sequence_blk.c cc -o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp ncbi_blast/setup/gapinfo.c ar rv ../Linux-amd64/bin/libhbn.a ../Linux-amd64/obj/libhbn.a/corelib/build_db.o ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.o ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.o ../Linux-amd64/obj/libhbn.a/corelib/db_format.o ../Linux-amd64/obj/libhbn.a/corelib/fasta.o ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.o ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.o ../Linux-amd64/obj/libhbn.a/corelib/kstring.o ../Linux-amd64/obj/libhbn.a/corelib/line_reader.o ../Linux-amd64/obj/libhbn.a/corelib/m4_record.o ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.o ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.o ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.o ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.o ../Linux-amd64/obj/libhbn.a/corelib/seqdb.o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.o ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.o ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.o ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.o ../Linux-amd64/obj/libhbn.a/algo/chain_dp.o ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.o ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.o ../Linux-amd64/obj/libhbn.a/algo/kalloc.o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.o ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.o ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.o ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.o ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.o ../Linux-amd64/obj/libhbn.a/algo/word_finder.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.o ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.o ar: creating ../Linux-amd64/bin/libhbn.a a - ../Linux-amd64/obj/libhbn.a/corelib/build_db.o a - ../Linux-amd64/obj/libhbn.a/corelib/cmd_arg.o a - ../Linux-amd64/obj/libhbn.a/corelib/cstr_util.o a - ../Linux-amd64/obj/libhbn.a/corelib/db_format.o a - ../Linux-amd64/obj/libhbn.a/corelib/fasta.o a - ../Linux-amd64/obj/libhbn.a/corelib/gapped_candidate.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_aux.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_format.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_hit.o a - ../Linux-amd64/obj/libhbn.a/corelib/hbn_package_version.o a - ../Linux-amd64/obj/libhbn.a/corelib/kstring.o a - ../Linux-amd64/obj/libhbn.a/corelib/line_reader.o a - ../Linux-amd64/obj/libhbn.a/corelib/m4_record.o a - ../Linux-amd64/obj/libhbn.a/corelib/name2id_map.o a - ../Linux-amd64/obj/libhbn.a/corelib/partition_aux.o a - ../Linux-amd64/obj/libhbn.a/corelib/raw_reads.o a - ../Linux-amd64/obj/libhbn.a/corelib/seqdb_summary.o a - ../Linux-amd64/obj/libhbn.a/corelib/seqdb.o a - ../Linux-amd64/obj/libhbn.a/corelib/seq_tag.o a - ../Linux-amd64/obj/libhbn.a/corelib/seq_tag_report.o a - ../Linux-amd64/obj/libhbn.a/corelib/small_object_alloc.o a - ../Linux-amd64/obj/libhbn.a/corelib/string2hsp.o a - ../Linux-amd64/obj/libhbn.a/algo/chain_dp.o a - ../Linux-amd64/obj/libhbn.a/algo/diff_gapalign.o a - ../Linux-amd64/obj/libhbn.a/algo/hash_list_bucket_sort.o a - ../Linux-amd64/obj/libhbn.a/algo/kalloc.o a - ../Linux-amd64/obj/libhbn.a/algo/ksw2_extd2_sse.o a - ../Linux-amd64/obj/libhbn.a/algo/ksw2_extz2_sse.o a - ../Linux-amd64/obj/libhbn.a/algo/ksw2_wrapper.o a - ../Linux-amd64/obj/libhbn.a/algo/hbn_lookup_table.o a - ../Linux-amd64/obj/libhbn.a/algo/hbn_traceback_aux.o a - ../Linux-amd64/obj/libhbn.a/algo/word_finder.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/c_ncbi_blast_aux.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/ncbi_blast_aux.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/blast_args.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/cmdline_flags.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/format_flags.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_allow.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_desc.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/cmdline_args/ncbiargs_types.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr_util.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/ncbistr.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_cmp.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/numeric_str_interconv.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/str_util/str_util.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_encoding.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_hits.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_message.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_options.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_stat.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_parameters.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_program.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_types.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/boost_erf.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/hsp2string.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/ncbi_math.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_query_info.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/blast_sequence_blk.o a - ../Linux-amd64/obj/libhbn.a/ncbi_blast/setup/gapinfo.o cc -o ../Linux-amd64/obj/mecat2pcan/app/mecat2pcan/pcan.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2pcan app/mecat2pcan/pcan.c cc -o ../Linux-amd64/bin/mecat2pcan -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2pcan/app/mecat2pcan/pcan.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2map/app/map/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -Iapp/map app/map/cmdline_args.cpp app/map/cmdline_args.cpp:74:20: warning: ‘ncbi::kGroupExtension’ defined but not used [-Wunused-variable] 74 | static const char* kGroupExtension = "Extension options"; | ^~~~~~~~~~~~~~~ cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_align_one_volume.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_align_one_volume.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_build_seqdb.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_build_seqdb.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_extend_subseq_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_extend_subseq_hit.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_find_subseq_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_find_subseq_hit.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_job_control.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_job_control.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_options.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_options.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_subseq_hit.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_subseq_hit.c cc -o ../Linux-amd64/obj/mecat2map/app/map/hbn_task_struct.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/hbn_task_struct.c cc -o ../Linux-amd64/obj/mecat2map/app/map/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/main.c cc -o ../Linux-amd64/obj/mecat2map/app/map/mecat_results.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/map app/map/mecat_results.c g++ -o ../Linux-amd64/bin/mecat2map -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2map/app/map/cmdline_args.o ../Linux-amd64/obj/mecat2map/app/map/hbn_align_one_volume.o ../Linux-amd64/obj/mecat2map/app/map/hbn_build_seqdb.o ../Linux-amd64/obj/mecat2map/app/map/hbn_extend_subseq_hit.o ../Linux-amd64/obj/mecat2map/app/map/hbn_find_subseq_hit.o ../Linux-amd64/obj/mecat2map/app/map/hbn_job_control.o ../Linux-amd64/obj/mecat2map/app/map/hbn_options.o ../Linux-amd64/obj/mecat2map/app/map/hbn_subseq_hit.o ../Linux-amd64/obj/mecat2map/app/map/hbn_task_struct.o ../Linux-amd64/obj/mecat2map/app/map/main.o ../Linux-amd64/obj/mecat2map/app/map/mecat_results.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cmdline_args.cpp cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_aux.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_part.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_one_part.c g++ -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_read.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_one_read.cpp app/mecat2cns/cns_one_read.cpp: In function ‘BOOL meap_consensus_one_segment(FCCnsData*, int*, int*, int, int, kstring_t*)’: app/mecat2cns/cns_one_read.cpp:34:27: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 34 | if (ks_size(*cns_seq) < min_size) return FALSE; In file included from app/mecat2cns/cns_one_read.h:4, from app/mecat2cns/cns_one_read.cpp:1: app/mecat2cns/cns_one_read.cpp: In function ‘void consensus_one_read(CnsThreadData*, int)’: app/mecat2cns/cns_one_read.cpp:242:32: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 242 | hbn_assert(read_length == kv_size(*fwd_read_v)); app/mecat2cns/../../corelib/hbn_aux.h:115:15: note: in definition of macro ‘__hbn_assert’ 115 | if (!(expr)) { \ | ^~~~ app/mecat2cns/cns_one_read.cpp:242:9: note: in expansion of macro ‘hbn_assert’ 242 | hbn_assert(read_length == kv_size(*fwd_read_v)); | ^~~~~~~~~~ cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_options.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/cns_options.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_align_tag.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/fccns_align_tag.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/fccns_aux.c app/mecat2cns/fccns_aux.c: In function ‘consensus_backbone_segment’: app/mecat2cns/fccns_aux.c:137:9: warning: variable ‘g_best_ck’ set but not used [-Wunused-but-set-variable] 137 | int g_best_ck = 0; | ^~~~~~~~~ cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/fccns.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/hbn_task_struct.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/hbn_task_struct.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/main.c cc -o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/raw_reads_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -I-Iapp/mecat2cns app/mecat2cns/raw_reads_reader.c g++ -o ../Linux-amd64/bin/mecat2cns -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cmdline_args.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_aux.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_part.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_one_read.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/cns_options.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_align_tag.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns_aux.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/fccns.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/hbn_task_struct.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/main.o ../Linux-amd64/obj/mecat2cns/app/mecat2cns/raw_reads_reader.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2viewdb/app/hbndb/viewhbndb.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/hbndb app/hbndb/viewhbndb.c cc -o ../Linux-amd64/bin/mecat2viewdb -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2viewdb/app/hbndb/viewhbndb.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/1_largest_cover_range/cmdline_args.cpp cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/largest_cover_range.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/1_largest_cover_range/largest_cover_range.c cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/1_largest_cover_range/main.c cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/range_list.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/common/range_list.c cc -o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/m4_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/1_largest_cover_range app/mecat2trim/common/m4_aux.c g++ -o ../Linux-amd64/bin/mecat2lcr -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/cmdline_args.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/largest_cover_range.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/1_largest_cover_range/main.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/range_list.o ../Linux-amd64/obj/mecat2lcr/app/mecat2trim/common/m4_aux.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/cmdline_args.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/2_split_reads/cmdline_args.cpp cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/2_split_reads/main.c cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/split_reads.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/2_split_reads/split_reads.c cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/range_list.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/common/range_list.c cc -o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/m4_aux.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/2_split_reads app/mecat2trim/common/m4_aux.c g++ -o ../Linux-amd64/bin/mecat2splitreads -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/cmdline_args.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/main.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/2_split_reads/split_reads.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/range_list.o ../Linux-amd64/obj/mecat2splitreads/app/mecat2trim/common/m4_aux.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2trimbases/app/mecat2trim/3_trim_bases/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2trim/3_trim_bases app/mecat2trim/3_trim_bases/main.c cc -o ../Linux-amd64/bin/mecat2trimbases -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2trimbases/app/mecat2trim/3_trim_bases/main.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2pm4/app/mecat2pm4/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2pm4 app/mecat2pm4/main.c cc -o ../Linux-amd64/bin/mecat2pm4 -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2pm4/app/mecat2pm4/main.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp cc -o ../Linux-amd64/obj/mecat2extseqs/app/mecat2extseqs/main.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/mecat2extseqs -Iapp/mecat2extseqs/libboost app/mecat2extseqs/main.c cc -o ../Linux-amd64/bin/mecat2extseqs -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/mecat2extseqs/app/mecat2extseqs/main.o -lhbn -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/argument_parser.cpp cc -o ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=gnu99 -DNDEBUG -fopenmp -Iapp/fsa app/fsa/getopt.c g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/logger.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/logger.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/read_store.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/sequence.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/utility.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/utility.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fasta_reader.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fastq_reader.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap_store.cpp g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/simple_align.cpp app/fsa/simple_align.cpp: In member function ‘SimpleAlign::Result SimpleAlign::Align(const string&, const string&, int, bool)’: app/fsa/simple_align.cpp:153:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | if ( node.x + node.len >= query.size() || node.y + node.len >= target_.size()) { | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ app/fsa/simple_align.cpp:153:75: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | if ( node.x + node.len >= query.size() || node.y + node.len >= target_.size()) { | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap_filter.cpp app/fsa/overlap_filter.cpp: In member function ‘void OverlapFilter::FilterLocalStep(Seq::Id, const std::unordered_map&)’: app/fsa/overlap_filter.cpp:413:18: warning: unused variable ‘loc’ [-Wunused-variable] 413 | auto loc = o.Location(max_overhang_); | ^~~ app/fsa/overlap_filter.cpp:447:22: warning: unused variable ‘loc’ [-Wunused-variable] 447 | auto loc = o.Location(max_overhang_); | ^~~ g++ -o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/overlap_stat.cpp ar rv ../Linux-amd64/bin/libfsa.a ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.o ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.o ../Linux-amd64/obj/libfsa.a/app/fsa/logger.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.o ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.o ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.o ../Linux-amd64/obj/libfsa.a/app/fsa/utility.o ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.o ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.o ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.o ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.o ar: creating ../Linux-amd64/bin/libfsa.a a - ../Linux-amd64/obj/libfsa.a/app/fsa/argument_parser.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/getopt.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/logger.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/read_store.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/sequence.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/utility.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/fasta_reader.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/fastq_reader.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_store.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/simple_align.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_filter.o a - ../Linux-amd64/obj/libfsa.a/app/fsa/overlap_stat.o g++ -o ../Linux-amd64/obj/fsa_ol_filter/app/fsa/fsa_ol_filter.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_ol_filter.cpp g++ -o ../Linux-amd64/bin/fsa_ol_filter -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_ol_filter/app/fsa/fsa_ol_filter.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/fsa_assemble.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_assemble.cpp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/assembly.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/assembly.cpp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/graph.cpp g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/string_graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/string_graph.cpp app/fsa/string_graph.cpp: In member function ‘std::vector StringNode::GetAllOutNodes()’: app/fsa/string_graph.cpp:39:21: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] 39 | return std::move(nodes); | ~~~~~~~~~^~~~~~~ app/fsa/string_graph.cpp:39:21: note: remove ‘std::move’ call app/fsa/string_graph.cpp: In member function ‘std::vector StringNode::GetAllInNodes()’: app/fsa/string_graph.cpp:49:21: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] 49 | return std::move(nodes); | ~~~~~~~~~^~~~~~~ app/fsa/string_graph.cpp:49:21: note: remove ‘std::move’ call g++ -o ../Linux-amd64/obj/fsa_assemble/app/fsa/path_graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/path_graph.cpp g++ -o ../Linux-amd64/bin/fsa_assemble -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_assemble/app/fsa/fsa_assemble.o ../Linux-amd64/obj/fsa_assemble/app/fsa/assembly.o ../Linux-amd64/obj/fsa_assemble/app/fsa/graph.o ../Linux-amd64/obj/fsa_assemble/app/fsa/string_graph.o ../Linux-amd64/obj/fsa_assemble/app/fsa/path_graph.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/fsa_ctg_bridge.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_ctg_bridge.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_bridge.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_bridge.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_graph.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_graph.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_link.cpp g++ -o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link_store.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/contig_link_store.cpp g++ -o ../Linux-amd64/bin/fsa_ctg_bridge -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/fsa_ctg_bridge.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_bridge.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_graph.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link.o ../Linux-amd64/obj/fsa_ctg_bridge/app/fsa/contig_link_store.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp g++ -o ../Linux-amd64/obj/fsa_rd_stat/app/fsa/fsa_rd_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/fsa_rd_stat.cpp g++ -o ../Linux-amd64/obj/fsa_rd_stat/app/fsa/read_stat.o -c -MD -D_GLIBCXX_PARALLEL -pthread -O3 -Wall -std=c++11 -DNDEBUG -fopenmp -U_GLIBCXX_PARALLEL -std=c++11 -Wall -O3 -D_FILE_OFFSET_BITS=64 -Iapp/fsa app/fsa/read_stat.cpp g++ -o ../Linux-amd64/bin/fsa_rd_stat -pthread -lm -lz -lstdc++ -fopenmp -L../Linux-amd64/bin ../Linux-amd64/obj/fsa_rd_stat/app/fsa/fsa_rd_stat.o ../Linux-amd64/obj/fsa_rd_stat/app/fsa/read_stat.o -lfsa -pthread -lm -lz -lstdc++ -fopenmp make[2]: Leaving directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds/src' make[1]: Leaving directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds' dh_auto_test -a create-stamp debian/debhelper-build-stamp dh_testroot -a dh_prep -a dh_auto_install -a debian/rules override_dh_install make[1]: Entering directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds' dh_install sed 's/\#\!\/usr\/bin\/env perl/\#\!\/usr\/bin\/perl/' \ debian/mecat2/usr/bin/mecat.pl > debian/mecat2/usr/bin/mecat rm -f debian/mecat2/usr/bin/mecat.pl make[1]: Leaving directory '/build/mecat2-dUdfVJ/mecat2-0.0+git20200428.f54c542+ds' dh_installdocs -a dh_installchangelogs -a dh_installman -a dh_lintian -a dh_perl -a dh_link -a dh_strip_nondeterminism -a dh_compress -a dh_fixperms -a dh_missing -a dh_dwz -a -a dwz: debian/mecat2/usr/bin/fsa_assemble: .debug_info section not present dwz: debian/mecat2/usr/bin/fsa_ctg_bridge: .debug_info section not present dwz: debian/mecat2/usr/bin/fsa_ol_filter: .debug_info section not present dwz: debian/mecat2/usr/bin/fsa_rd_stat: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2cns: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2extseqs: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2lcr: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2map: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2pcan: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2pm4: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2splitreads: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2trimbases: .debug_info section not present dwz: debian/mecat2/usr/bin/mecat2viewdb: .debug_info section not present dwz: Too few files for multifile optimization dh_dwz: warning: No dwz multifile created, but not explicitly requested either so ignoring it. dh_dwz: warning: Common issues include no debug information at all (missing -g) and dh_dwz: warning: compressed debug information (#931891). dh_strip -a -a dh_makeshlibs -a -a dh_shlibdeps -a -a dh_installdeb -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a dpkg-deb: building package 'mecat2' in '../mecat2_0.0+git20200428.f54c542+ds-3_amd64.deb'. dpkg-deb: building package 'mecat2-dbgsym' in '../mecat2-dbgsym_0.0+git20200428.f54c542+ds-3_amd64.deb'. dpkg-genbuildinfo --build=any dpkg-genchanges --build=any >../mecat2_0.0+git20200428.f54c542+ds-3_amd64.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/mecat2-dUdfVJ /tmp/mecat2-0.0+git20200428.f54c542+ds-3kq4h6_fi I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.dPgcdmlWGJ... I: success in 905.5612 seconds md5: mecat2-dbgsym_0.0+git20200428.f54c542+ds-3_amd64.deb: OK md5: mecat2_0.0+git20200428.f54c542+ds-3_amd64.deb: OK sha1: mecat2-dbgsym_0.0+git20200428.f54c542+ds-3_amd64.deb: OK sha1: mecat2_0.0+git20200428.f54c542+ds-3_amd64.deb: OK sha256: mecat2-dbgsym_0.0+git20200428.f54c542+ds-3_amd64.deb: OK sha256: mecat2_0.0+git20200428.f54c542+ds-3_amd64.deb: OK Checksums: OK